From: Daniel Jelinski Subject: user32: search more aggressively for a window under a tooltip Message-Id: Date: Sat, 21 Jul 2012 01:20:54 +0200 Fixes bug 9512 and bug 8914, tested with Delphi and DVD Profiler. Still not perfect - according to MSDN the function should never return a window belonging to another thread. From 088b5ff5b5726cb4f2a74215d4490ec84a9f199c Mon Sep 17 00:00:00 2001 From: Daniel Jelinski Date: Sat, 21 Jul 2012 00:54:46 +0200 Subject: user32: search more aggressively for a window under a tooltip --- dlls/user32/winpos.c | 3 ++- 1 files changed, 2 insertions(+), 1 deletions(-) diff --git a/dlls/user32/winpos.c b/dlls/user32/winpos.c index c4b61a8..b3f108b 100644 --- a/dlls/user32/winpos.c +++ b/dlls/user32/winpos.c @@ -308,7 +308,7 @@ HWND WINPOS_WindowFromPoint( HWND hwndScope, POINT pt, INT *hittest ) { int i, res; HWND ret, *list; - + HWND oriScope = hwndScope; if (!hwndScope) hwndScope = GetDesktopWindow(); *hittest = HTNOWHERE; @@ -348,6 +348,7 @@ HWND WINPOS_WindowFromPoint( HWND hwndScope, POINT pt, INT *hittest ) } ret = list[i]; HeapFree( GetProcessHeap(), 0, list ); + if(!ret && oriScope) return WINPOS_WindowFromPoint(NULL, pt, hittest ); TRACE( "scope %p (%d,%d) returning %p\n", hwndScope, pt.x, pt.y, ret ); return ret; } -- 1.7.5.4