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