Hello John, thanks for the patch! Note that all patches require a Signed-off-by header, as a way of taking responsibility for the patch and acknowledging that you believe it's acceptable for Wine. On 4/17/19 4:20 PM, John Found wrote:
+/* the recursive worker for window_from_point_dnd */ +HWND do_window_from_point_dnd(HWND hwnd, POINT* point) +{ + HWND w; + w = ChildWindowFromPointEx(hwnd, *point, CWP_SKIPDISABLED | CWP_SKIPINVISIBLE); + if (w && (w != hwnd)) + { + MapWindowPoints(hwnd, w, point, 1); + w = do_window_from_point_dnd(w, point); + } + return w; +} + + +/* Recursively search for the window on given coordinates in a drag&drop specific manner. */ +HWND window_from_point_dnd(HWND hwnd, POINT point) +{ + POINT p; + p.x = point.x; + p.y = point.y; + ScreenToClient(hwnd, &p); + return do_window_from_point_dnd(hwnd, &p); +} +
Maybe I'm missing something here, but don't these two functions effectively do the equivalent of WindowFromPoint(point)? Is there any reason we can't just use that instead?