[Bug 23187] New: DeferWindowPos behaves wrong when invalid HWND

wine-bugs at winehq.org wine-bugs at winehq.org
Tue Jun 15 04:17:54 CDT 2010


http://bugs.winehq.org/show_bug.cgi?id=23187

           Summary: DeferWindowPos behaves wrong when invalid HWND
           Product: Wine
           Version: unspecified
          Platform: x86
        OS/Version: Linux
            Status: UNCONFIRMED
          Severity: minor
          Priority: P2
         Component: user32
        AssignedTo: wine-bugs at winehq.org
        ReportedBy: rodrigorivascosta at gmail.com


Created an attachment (id=28848)
 --> (http://bugs.winehq.org/attachment.cgi?id=28848)
Sample program to demonstrate the problem

The Wine behavior of the BeginDeferWindowPos/DeferWindowPos/EndDeferWindowPos
functions differ from the Windows one when some of the HWND used are invalid:

The attached program uses these functions to move several windows at once, but
one HWND is purposely hijacked to force the error. In Windows, all the windows
but the  wrong one are moved. In Wine, however, only the windows "before" the
wrong one are moved.

It looks like Windows checks the HWNDs to be valid when calling DeferWindowPos
whereas Wine checks them when calling EndDeferWindowPos.

This can be checked with the output of the attached program:
Windows:
------------
BDWP 006D03E7
DWP 006D03E7
DWP 006D03E7
DWP 00000000
Error: 1400
DWP 006D03E7
DWP 006D03E7
DWP 006D03E7
EDWP 1
------------

Wine:
------------
BDWP 001B0082
DWP 001B0082
DWP 001B0082
DWP 001B0082
DWP 001B0082
DWP 001B0082
DWP 001B0082
EDWP 0
Error: 1400
------------

Note that the Windows behavior is somewhat different than the documented in
MSDN.

Regards.
--
Rodrigo.

-- 
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
Do not reply to this email, post in Bugzilla using the
above URL to reply.
------- You are receiving this mail because: -------
You are watching all bug changes.



More information about the wine-bugs mailing list