Commit 4803b7ab authored by Roman Pišl's avatar Roman Pišl Committed by Alexandre Julliard

comctl32/tooltips: Set window size before TTN_SHOW and preserve it after.

parent 037d315a
...@@ -304,7 +304,6 @@ static LRESULT WINAPI parent_wnd_proc(HWND hwnd, UINT message, WPARAM wParam, LP ...@@ -304,7 +304,6 @@ static LRESULT WINAPI parent_wnd_proc(HWND hwnd, UINT message, WPARAM wParam, LP
break; break;
case TTN_SHOW: case TTN_SHOW:
GetWindowRect(hdr->hwndFrom, &rect); GetWindowRect(hdr->hwndFrom, &rect);
todo_wine
ok(!EqualRect(&g_ttip_rect, &rect), "Unexpected window rectangle.\n"); ok(!EqualRect(&g_ttip_rect, &rect), "Unexpected window rectangle.\n");
break; break;
} }
......
...@@ -624,18 +624,10 @@ TOOLTIPS_Show (TOOLTIPS_INFO *infoPtr, BOOL track_activate) ...@@ -624,18 +624,10 @@ TOOLTIPS_Show (TOOLTIPS_INFO *infoPtr, BOOL track_activate)
} }
toolPtr = &infoPtr->tools[nTool]; toolPtr = &infoPtr->tools[nTool];
TRACE("Show tooltip %d\n", nTool);
hdr.hwndFrom = infoPtr->hwndSelf;
hdr.idFrom = toolPtr->uId;
hdr.code = TTN_SHOW;
SendMessageW (toolPtr->hwnd, WM_NOTIFY, toolPtr->uId, (LPARAM)&hdr);
TRACE("%s\n", debugstr_w(infoPtr->szTipText));
TOOLTIPS_CalcTipSize (infoPtr, &size); TOOLTIPS_CalcTipSize (infoPtr, &size);
TRACE("size %d x %d\n", size.cx, size.cy);
TRACE("Show tooltip %d, %s, size %d x %d\n", nTool, debugstr_w(infoPtr->szTipText),
size.cx, size.cy);
if (track_activate && (toolPtr->uFlags & TTF_TRACK)) if (track_activate && (toolPtr->uFlags & TTF_TRACK))
{ {
...@@ -824,9 +816,16 @@ TOOLTIPS_Show (TOOLTIPS_INFO *infoPtr, BOOL track_activate) ...@@ -824,9 +816,16 @@ TOOLTIPS_Show (TOOLTIPS_INFO *infoPtr, BOOL track_activate)
* it is no longer needed */ * it is no longer needed */
} }
SetWindowPos (infoPtr->hwndSelf, HWND_TOPMOST, rect.left, rect.top, SetWindowPos (infoPtr->hwndSelf, NULL, rect.left, rect.top,
rect.right - rect.left, rect.bottom - rect.top, rect.right - rect.left, rect.bottom - rect.top, SWP_NOZORDER | SWP_NOACTIVATE);
SWP_SHOWWINDOW | SWP_NOACTIVATE);
hdr.hwndFrom = infoPtr->hwndSelf;
hdr.idFrom = toolPtr->uId;
hdr.code = TTN_SHOW;
SendMessageW (toolPtr->hwnd, WM_NOTIFY, toolPtr->uId, (LPARAM)&hdr);
SetWindowPos (infoPtr->hwndSelf, HWND_TOPMOST, 0, 0, 0, 0,
SWP_NOSIZE | SWP_NOMOVE | SWP_SHOWWINDOW | SWP_NOACTIVATE);
/* repaint the tooltip */ /* repaint the tooltip */
InvalidateRect(infoPtr->hwndSelf, NULL, TRUE); InvalidateRect(infoPtr->hwndSelf, NULL, TRUE);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment