]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/cshelp.cpp
Blob support fixes - still does not work, but getting there
[wxWidgets.git] / src / common / cshelp.cpp
index 60e595f156e3e4ae7127ca9c24478c796aad3140..3921a21c963c1e5fd5a43c3efba079a256cd9c56 100644 (file)
@@ -305,10 +305,21 @@ void wxSimpleHelpProvider::AddHelp(wxWindowID id, const wxString& text)
 
 bool wxSimpleHelpProvider::ShowHelp(wxWindowBase *window)
 {
 
 bool wxSimpleHelpProvider::ShowHelp(wxWindowBase *window)
 {
+    static wxTipWindow* s_tipWindow = NULL;
+
+    if (s_tipWindow)
+    {
+        // Prevent s_tipWindow being nulled in OnIdle,
+        // thereby removing the chance for the window to be closed by ShowHelp
+        s_tipWindow->SetTipWindowPtr(NULL);
+        s_tipWindow->Close();
+    }
+    s_tipWindow = NULL;
+
     wxString text = GetHelp(window);
     if ( !text.empty() )
     {
     wxString text = GetHelp(window);
     if ( !text.empty() )
     {
-        new wxTipWindow((wxWindow *)window, text);
+        s_tipWindow = new wxTipWindow((wxWindow *)window, text, 100, & s_tipWindow);
 
         return TRUE;
     }
 
         return TRUE;
     }