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