]> git.saurik.com Git - wxWidgets.git/commitdiff
reset the tooltip text before changing it, this apparently prevents a spurious redraw...
authorVadim Zeitlin <vadim@wxwidgets.org>
Sat, 28 Feb 2009 15:49:10 +0000 (15:49 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Sat, 28 Feb 2009 15:49:10 +0000 (15:49 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59198 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

docs/changes.txt
src/msw/tooltip.cpp

index f20aa19a3523eb51b3d56a414bb42283461c87b2..cf53c69a10bd078c5d153688ddd4134a667c42fa 100644 (file)
@@ -546,6 +546,7 @@ wxMSW:
 - Changed default toolbar bitmaps size from obsolete 16x15 to 24x24 used
   by modern apps.
 - Ellipsize long strings in wxStatusBar (Francesco Montorsi)
 - Changed default toolbar bitmaps size from obsolete 16x15 to 24x24 used
   by modern apps.
 - Ellipsize long strings in wxStatusBar (Francesco Montorsi)
+- Fix spurious repaint when changing tooltip text (Jonathan Liu).
 
 wxX11:
 
 
 wxX11:
 
index 31ef19fac0d68cf21d9e6fda7e00c936256e7cbd..24b7818c9791e67adf532baff911a395313199c7 100644 (file)
@@ -461,8 +461,14 @@ void wxToolTip::SetTip(const wxString& tip)
     {
         // update the tip text shown by the control
         wxToolInfo ti(GetHwndOf(m_window));
     {
         // update the tip text shown by the control
         wxToolInfo ti(GetHwndOf(m_window));
-        ti.lpszText = (wxChar *)m_text.wx_str();
 
 
+        // for some reason, changing the tooltip text directly results in
+        // repaint of the controls under it, see #10520 -- but this doesn't
+        // happen if we reset it first
+        ti.lpszText = _T("");
+        (void)SendTooltipMessage(GetToolTipCtrl(), TTM_UPDATETIPTEXT, &ti);
+
+        ti.lpszText = const_cast<wxChar *>(m_text.wx_str());
         (void)SendTooltipMessage(GetToolTipCtrl(), TTM_UPDATETIPTEXT, &ti);
     }
 }
         (void)SendTooltipMessage(GetToolTipCtrl(), TTM_UPDATETIPTEXT, &ti);
     }
 }