Partial solution to the unimplemented API: user32.RealChildWindowFromPoint

Robert Shearman rob at codeweavers.com
Tue Sep 27 09:10:31 CDT 2005


Tisheng Chen wrote:

>User32.RealChildWindowFromPoint is not implemented
>yet. This causes foobar2000 (with foo_ui_columns)  to
>crash, whenever you right-click on a panel. 
>
>This patch is only a partial solution. It just stop
>the crash of programs like foobar2000. But the
>functionality is not quite correct. It just uses
>ChildWindowFromPointEx to find and return a
>childwindow, since I don't really understand the
>difference between them.
>  
>

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/winui/windowsuserinterface/windowing/windows/windowreference/windowfunctions/realchildwindowfrompoint.asp

It seems that RealChildWindowFromPoint doesn't recurse into deeper 
windows, except for HTTRANSPARENT windows, where it recurses deeper than 
ChildWindowFromPoint to find a window that doesn't return this hit-test 
(except if it is a static control). What a mess for developers...

Two comments on the patch:
1. Please send patches as text attachments. Usually, renaming to .diff 
or .txt before attaching is enough to make this happen.
2. "+    FIXME("partial stub. HWND: 0x%lx\n", (DWORD) hwndParent);" -> 
don't cast hwndParent to DWORD, just change the format to %p.

Thanks for the patch,

>Hope someone else will implement a better one.
>  
>

-- 
Rob Shearman




More information about the wine-devel mailing list