Commit Graph

114 Commits

Author SHA1 Message Date
Zhiyi Zhang 8107462b8a comctl32/toolbar: Don't use outside theme handles.
Fix Spy++ Toolbar buttons have artifacts. Spy++ first creates a Toolbar window, then calls
OpenThemeData(hwnd, "Rebar") with the Toolbar window. Then when the Toolbar control uses the theme
handle from GetWindowTheme(), it gets a Rebar theme the next time it draws, thus drawing wrong theme
parts.

According the tests, not all of the common controls have such behaviors. Some of them do have theme
handles opened by their window and then use that theme handle afterwards even it's changed from the
outside. However, for other controls, the behaviors are not very consistent across all Windows
versions. Also no applications depend on such behaviors for other controls yet. So, only modify the
Toolbar control for now.

Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-22 17:57:46 +02:00
Zhiyi Zhang 677c459b86 comctl32/toolbar: Test that toolbar shouldn't use outside theme handles.
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-22 17:57:46 +02:00
Zhiyi Zhang a769679113 comctl32/toolbar: Remove a redundant theme handle check in TOOLBAR_NCCreate().
This is a no-op. In TOOLBAR_NCCreate(), GetWindowTheme() always returns NULL because the theme
handle is not open by OpenThemeData() by that time. Also tests show that TBSTYLE_TRANSPARENT is not
added when theming is active.

Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-22 17:57:46 +02:00
Nikolay Sivov 4c86e860e6 comctl32/tests: Use wide strings literals.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-25 10:48:48 +02:00
Piotr Caban 378548581d comctl32: Offset client area when toolbar divider is present.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-17 23:16:52 +02:00
Piotr Caban 659b0d7017 comctl32: Compute border size from client and window rectangles.
Fixes toolbar size when WS_EX_DLGMODALFRAME is used.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-17 23:16:52 +02:00
Nikolay Sivov ae3b334695 comctl32/toolbar: Handle NULL string pointer from TBN_GETINFOTIPW.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-28 08:36:37 +01:00
Michael Stefaniuc 04cb8d51a3 comctl32/tests: Use the available ARRAY_SIZE() macro.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-06-06 21:18:42 +02:00
Nikolay Sivov 0645fa1373 comctl32/toolbar: Fix tooltip notification forwarding.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-04-30 19:59:15 +02:00
Nikolay Sivov 8874a6ecc3 comctl32/tests: Use the global memory allocation helpers.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-02-15 19:34:13 +01:00
Nikolay Sivov 3845cc10e8 comctl32/tests: Link to comctl32.dll dynamically.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-01-24 16:03:00 +01:00
Thomas Faber 4c57232962 comctl32: Unset the toolbar's hot item when deleting a button.
Signed-off-by: Thomas Faber <thomas.faber@reactos.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-01-19 16:40:55 +01:00
Thomas Faber 0b8219da5c comctl32/tests: Fix broken ok() messages.
Signed-off-by: Thomas Faber <thomas.faber@reactos.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-01-19 16:40:55 +01:00
Nikolay Sivov d93ae6ff34 comctl32/toolbar: Support undocumented IDs for standard bitmap lists.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-31 10:53:54 +02:00
Hugh McMaster 6797ee0abf comctl32/tests: Move the WineTest subkey in toolbar.c into HKEY_CURRENT_USER\Software\Wine.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-20 13:23:05 +01:00
Nikolay Sivov 970029bb9b comctl32/toolbar: Fix TB_SETDRAWTEXTFLAGS handler.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-01-26 10:36:17 +01:00
Nikolay Sivov 26067cc0b9 comctl32/toolbar: Protect from NULL pointer access in TB_GETBUTTONINFOW handler.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-01-11 16:04:23 +01:00
Michael Stefaniuc 6531b9b8af comctl32/tests: Use todo_wine_if().
Signed-off-by: Michael Stefaniuc <mstefani@redhat.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-10 22:23:03 +09:00
Michael Stefaniuc cbca4b3f51 comctl32/tests: Use EqualRect() instead of memcmp() to compare RECTs.
Signed-off-by: Michael Stefaniuc <mstefani@redhat.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-06-21 11:23:34 +09:00
Michael Stefaniuc 96185e23b4 comctl32/tests: Use wine_dbgstr_rect() to print RECTs.
Signed-off-by: Michael Stefaniuc <mstefani@redhat.de>
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-06-08 23:07:45 +09:00
Michael Stefaniuc fe9f23a2cb comctl32/tests: Use EqualRect() instead of open coding it.
Signed-off-by: Michael Stefaniuc <mstefani@redhat.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-06-06 18:47:24 +09:00
Frédéric Delanoy 778717673e comctl32/tests: Fix a couple typos in ok() calls.
Signed-off-by: Frédéric Delanoy <frederic.delanoy@gmail.com>
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-21 00:53:51 +09:00
Nikolay Sivov 1b5aaa1639 comctl32/tests: Test more return values (Clang).
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-12 11:29:19 +09:00
Huw Davies 2a71d13b6b comctl32: Implement the legacy notifications during restore. 2015-07-02 16:54:01 +09:00
Huw Davies 6c95445559 comctl32: Set the default separator width when notifying a -ve cmd id. 2015-07-02 16:53:58 +09:00
Huw Davies eddfefa54f comctl32: Reset the string and lparam fields between notifications. 2015-07-01 19:18:27 +09:00
Huw Davies 96a6184c30 comctl32: All negative entries in the toolbar save state are special cases. 2015-07-01 19:18:27 +09:00
Huw Davies 77ed3733af comctl32: The number of buttons is set by the first TBN_RESTORE notification. 2015-07-01 19:18:27 +09:00
Huw Davies 063c7866f5 comctl32: Implement toolbar saving. 2015-07-01 19:18:26 +09:00
Huw Davies 797f42699e comctl32: Wrap the buttons inside the toolbar's client rect.
The toolbar need not be the same width as the parent.
2015-05-19 22:57:27 +09:00
Huw Davies eb8df37a69 comctl32: Remove button wrap states when TBSTYLE_WRAPABLE is cleared. 2015-04-30 16:17:59 +09:00
Huw Davies abd673bde9 comctl32: A change in TBSTYLE_WRAPABLE should produce a recalc. 2015-04-28 20:23:59 +09:00
Huw Davies 5b7b911f06 comctl32: TBSTYLE_EX_MIXEDBUTTONS doesn't mean buttons should be auto-sized. 2015-04-20 14:36:55 +09:00
Alexandre Julliard 9f1f5d885c comctl32: Print full flag values in traces. 2015-03-30 19:49:13 +09:00
Alexandre Julliard 6ad2cf9b53 comctl32/tests: Output message sequences only on failure. 2014-06-12 13:19:05 +02:00
Christoph von Wittich 7d5deb2e7f comctl32/tests: CCS_VERT should be set when TBSTYLE_EX_VERTICAL is set. 2014-03-04 11:49:10 +01:00
André Hentschel e810a58494 comctl32/tests: Make toolbar.c compile with -D__WINESRC__. 2013-12-02 10:52:20 +01:00
Frédéric Delanoy 57d7f74d34 Assorted spelling fixes. 2013-11-21 19:44:46 +01:00
Francois Gouget 07d9d04de8 comctl32/tests: Make cbt_hook_proc() static. 2012-02-20 11:47:55 +01:00
Frédéric Delanoy 3c13f991e4 comctl32/tests: Use initialized window handle when rebuilding toolbar (Coverity). 2012-02-20 11:38:35 +01:00
Nikolay Sivov 31b44fb6e8 comctl32: Fix TB_SETEXTENDEDSTYLE to use mask passed in wParam. 2012-02-16 11:48:51 +01:00
Nikolay Sivov e630e4997d comctl32: A test for auto-set TBSTYLE_TRANSPARENT style. 2012-02-09 09:39:58 -06:00
Nikolay Sivov 1c1b1c0073 comctl32: More tests for Toolbar window style handling. 2012-02-01 16:42:45 +01:00
Nikolay Sivov 9188b58e4c comctl32: Store style bits provided with WM_CREATE. 2012-01-09 12:22:39 +01:00
Nikolay Sivov 54b6c76720 comctl32: Fix TB_SETSTYLE behaviour and return value. 2012-01-09 12:22:31 +01:00
Francois Gouget 3de330db54 tests: Remove unneeded assert.h includes. 2011-09-27 10:59:56 +02:00
Marko Nikolic cf6dae563c comctl32/tests: Removed sign comparison warning in toolbar tests. 2011-06-02 16:22:44 +02:00
Francois Gouget cc70cd9de1 comctl32/tests: Make init_tbsize_result() and tbsize_addbutton() static. 2011-03-16 14:14:23 +01:00
Nikolay Sivov e61fd95146 comctl32/tests: Fix a leak in toolbar test data allocation (Valgrind). 2011-01-17 12:48:28 +01:00
Austin Lund 05d82b6376 comctl32/tests: Fixed toolbar tests for varing width of button strings. 2010-11-08 13:30:22 +01:00