Incompatible behavior of
InvalidateRect/LB_SELITEMRANGE/SetCapture
Dmitry Timoshkov
dmitry at baikal.ru
Thu Dec 1 01:50:31 CST 2005
"Andreas Rosenberg" <sonix2003 at ctf-z.de> wrote:
> >From time to time I'm testing our application (IQ-FMEA) with Wine.
>
> Our GUI framework is checking the return codes of most API calls,
> so several incompatibilities between Windows and Wine are detected
> while many other programs simply ignore them.
>
> So I found several things that differ between Wine & Windows.
Many thanks for reporting this bugs! Please continue reporting anything
you find that might prevent your apps to work correctly under Wine.
> #############################
> 1.)
>
> If found out that InvalidateRect with a "zero extent rectangle"
> returns FALSE with Wine, while it returns TRUE in Windows.
> Wine builds from last year did not show this behavior.
>
>
> Windows:
> InvalidateRect(hwnd, RECT(10,10,10,15), TRUE); returns TRUE;
>
> Wine
> InvalidateRect(hwnd, RECT(10,10,10,15), TRUE); returns FALSE;
A fix for this bug has been committed to CVS.
> ####################
> 2.)
>
> Then I discovered an incompatibility with LB_SELITEMRANGE:
>
>
> SendMessage(hWndControl,LB_SELITEMRANGE,TRUE,
> MAKELPARAM(wFirst, wLast));
>
> Windows accepts values for wLast that are greater than the
> list size and performs the operation with the (internally corrected)
> value - returning TRUE.
>
> Wine does not accept a value for wLast if it is greater than
> the list size and returns FALSE (not performing the select operation,
> which caused subsequent failures in our application).
I just sent a patch to wine-patches which should fix this bug.
> ####################
> 3.)
> There is also a different behavior of SetCapture(hWnd) in Wine.
> If an overlapped window has captured the mouse input and a new
> child window is being openend, Windows internally releases the
> capture. Wine maintains the capture - dialogs in our application
> may not be operated with the mouse, because the parent still gets
> all the mouse messages.
Could you please send a small test app demonstrating this behaviour?
--
Dmitry.
More information about the wine-devel
mailing list