Dmitry Timoshkov : comctl32: Test appropriate tool window for active state.

Alexandre Julliard julliard at winehq.org
Tue Feb 5 13:25:25 CST 2013


Module: wine
Branch: master
Commit: 7b3305169c4d1b3c5107c1b2bd9e5f2785020ed6
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=7b3305169c4d1b3c5107c1b2bd9e5f2785020ed6

Author: Dmitry Timoshkov <dmitry at baikal.ru>
Date:   Tue Feb  5 14:16:40 2013 +0800

comctl32: Test appropriate tool window for active state.

There is no point in testing owner of the tooltip itself since it's often
created as a popup of the desktop window.

---

 dlls/comctl32/tooltips.c |   14 +++++++++++---
 1 files changed, 11 insertions(+), 3 deletions(-)

diff --git a/dlls/comctl32/tooltips.c b/dlls/comctl32/tooltips.c
index ac1b45e..2cc7e47 100644
--- a/dlls/comctl32/tooltips.c
+++ b/dlls/comctl32/tooltips.c
@@ -991,9 +991,17 @@ TOOLTIPS_CheckTool (const TOOLTIPS_INFO *infoPtr, BOOL bShowTest)
     if (nTool == -1)
 	return -1;
 
-    if (!(GetWindowLongW (infoPtr->hwndSelf, GWL_STYLE) & TTS_ALWAYSTIP) && bShowTest) {
-	if (!TOOLTIPS_IsWindowActive (GetWindow (infoPtr->hwndSelf, GW_OWNER)))
-	    return -1;
+    if (!(GetWindowLongW (infoPtr->hwndSelf, GWL_STYLE) & TTS_ALWAYSTIP) && bShowTest)
+    {
+        TTTOOL_INFO *ti = &infoPtr->tools[nTool];
+        HWND hwnd = (ti->uFlags & TTF_IDISHWND) ? (HWND)ti->uId : ti->hwnd;
+
+        if (!TOOLTIPS_IsWindowActive(hwnd))
+        {
+            TRACE("not active: hwnd %p, parent %p, active %p\n",
+                  hwnd, GetParent(hwnd), GetActiveWindow());
+            return -1;
+        }
     }
 
     TRACE("tool %d\n", nTool);




More information about the wine-cvs mailing list