[PATCH] winex11: The correct way to search the target window for drag&drop operations.

John Found johnfound at asm32.info
Fri Apr 19 03:28:48 CDT 2019


On Thu, 18 Apr 2019 12:53:35 -0500
Zebediah Figura <z.figura12 at gmail.com> wrote:

> On 04/18/2019 12:35 PM, John Found wrote:
> > On Thu, 18 Apr 2019 12:09:02 -0500
> > Zebediah Figura <z.figura12 at gmail.com> wrote:
> > 
> >>
> >> Really? I'm looking at this test right here:
> >>
> >> <https://source.winehq.org/git/wine.git/blob/refs/heads/master:/dlls/user32/tests/win.c#l9398>
> >>
> > 
> > Well, yes, I am wrong about the WindowFromPoint, but still only the first level of the children is checked.
> > 
> > The mentioned test checks exactly this in 3 cases:
> > 
> > 1. Main window without child created - main window returned.
> > 2. Main window with single STATIC child created - main window returned. (correct, according to MSDN)
> > 3. Main window with single BUTTON child created - the child returned.
> > 
> > There is no child-in-child cases (and IMHO, should not be).
> > 
> 
> Really? Why not? Our implementation is recursive, so it should return
> the deepest child. If it's wrong, we should add tests to prove it.
> 
> 

Well, I finished my extended tests and they are contradictory.

1. Yes, WindowFromPoint searches recursively on random depth, both in Windows and WINE. 
I was totally wrong about this. Excuse my ignorance. 

2. But WindowFromPoint still does not work properly in my drag&drop patch. The problem is that WindowFromPoint 
fully ignores the STATIC controls (documented and correct behavior), but in Windows the STATIC controls are 
valid drop target if they have WS_EX_ACCEPTFILES set.

This way, the implemented in the patch "window_from_point_dnd" function correctly returns the STATIC windows drop targets.
Comparing with the original Windows behavior, I can't see any differences. 

(I will attach the improved test application I used, now it has STATIC as a drop targets and WindowFromPoint test tool as well.)

So, the question is what to do now? 

Regards.
-- 
John Found <johnfound at asm32.info>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: TestWineDnD.tar.gz
Type: application/gzip
Size: 5345 bytes
Desc: not available
URL: <http://www.winehq.org/pipermail/wine-devel/attachments/20190419/fc5183fc/attachment-0001.gz>


More information about the wine-devel mailing list