Module: wine Branch: master Commit: 7b3305169c4d1b3c5107c1b2bd9e5f2785020ed6 URL: http://source.winehq.org/git/wine.git/?a=commit;h=7b3305169c4d1b3c5107c1b2bd...
Author: Dmitry Timoshkov dmitry@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);