Some applications subclass listview and change style multiple times when painting. Invalidating
control when handling WM_STYLECHANGED causes infinite WM_PAINT messages in this case and end up
stalling the message queue.
Some applications subclass treeview and change style multiple times when painting. Invalidating
control when handling WM_STYLECHANGED causes infinite WM_PAINT messages in this case and end up
stalling the message queue.
Follow Up of Merge request !693 by Jacek Caban. The pull request changed
properly the static control of user32, but didn't address the comctl32
static control.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=53581
This is confirmed by the tests in test_scrollbar() and manual tests on XP. Even though scrollbar
arrows and thumb are in fact transparent, DrawThemeParentBackground() is not called to paint the
parent background, leaving the transparent area untouched. On Windows, even if the scrollbar arrows
are reported to be transparent, the bitmaps for arrow parts in the stock themes are in fact opaque.
Fix Ice Cream Calculator slow scrolling after 4cb229a because the WM_PRINTCLIENT handling in the
application is slow.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=53337
Ignore some messages for the parent window because the "Kill focus" message sequence starts
succeeding with this commit but sometimes those messages appear on Wine and cause random test
failures. Those messages are not interested in the tests so ignore them.
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Fix MSXML 3.0 installer username edit control missing part of its edge. The application has a static
control overlapping an edit control. Repainting the edit control immediately will cause the edit
control to be painted under the static control.
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
If EIMES_GETCOMPSTRATONCE is not set, WM_IME_COMPOSITION with LPARAM set to GCS_RESULTSTR should be
passed to the default window procedure according to MSDN.
Fix some windows based on edit control not being able to input Chinese.
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Send one deselect all items notification on selection change for LVS_OWNERDATA listviews instead
of notifying about each individual item change.
Signed-off-by: Angelo Haller <angelo@szanni.org>
The destination rectangle may be smaller than that of theme parts, in which case, the draw size
returned is adjusted to fit the destination rectangle. Without passing a destination rectangle
to GetThemePartSize(), the function assumes that there is no limit for destination.
This fixes winecfg check boxes missing the upper edge in 192 DPI. You may notice that the check box
bitmap is slightly shrank and so the shape is a bit off. However, this is what happens on Windows as
well when check box height is set to 8 DLUs.
GetThemePartSize() without destination rectangles are also used in other controls, but manual tests
showed that those controls don't shrink their theme background as check boxes do so they are left
unchanged.
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>