reset the tooltip text before changing it, this apparently prevents a spurious redraw of the control below it (see #10520)

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59198 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin 2009-02-28 15:49:10 +00:00
parent 9d5cfd0e64
commit 4e916e61ea
2 changed files with 8 additions and 1 deletions

View File

@ -546,6 +546,7 @@ wxMSW:
- Changed default toolbar bitmaps size from obsolete 16x15 to 24x24 used - Changed default toolbar bitmaps size from obsolete 16x15 to 24x24 used
by modern apps. by modern apps.
- Ellipsize long strings in wxStatusBar (Francesco Montorsi) - Ellipsize long strings in wxStatusBar (Francesco Montorsi)
- Fix spurious repaint when changing tooltip text (Jonathan Liu).
wxX11: wxX11:

View File

@ -461,8 +461,14 @@ void wxToolTip::SetTip(const wxString& tip)
{ {
// update the tip text shown by the control // update the tip text shown by the control
wxToolInfo ti(GetHwndOf(m_window)); 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);
} }
} }