]> git.saurik.com Git - wxWidgets.git/blobdiff - src/mac/carbon/tooltip.cpp
Blind fix for bug #529874 .
[wxWidgets.git] / src / mac / carbon / tooltip.cpp
index 0655699087460ec06dc90faf3a54a1293a3e84db..6e86ca590cdb5452ad64e5a771f62702977f78fc 100644 (file)
@@ -11,7 +11,7 @@
     #pragma implementation "tooltip.h"
 #endif
 
-#include "wx/setup.h"
+#include "wx/defs.h"
 
 #if wxUSE_TOOLTIPS
 
@@ -52,21 +52,20 @@ class wxMacToolTip
                wxMacToolTipTimer* m_timer ;
 } ;
 
-class wxMacToolTipTimer : wxTimer
+class wxMacToolTipTimer : public wxTimer
 {
 public:
-       wxMacToolTipTimer(wxMacToolTip* tip, int iMilliseconds) ;
-
-       void Notify()
-       {
-               if ( m_mark == m_tip->GetMark() )
-                       m_tip->Draw() ;
-
-       }
-       
+    wxMacToolTipTimer() {} ;
+    wxMacToolTipTimer(wxMacToolTip* tip, int iMilliseconds) ;
+    virtual ~wxMacToolTipTimer() {} ;
+    void Notify()
+    {
+        if ( m_mark == m_tip->GetMark() )
+            m_tip->Draw() ;    
+    }
 protected:
-       wxMacToolTip*   m_tip;
-       long                    m_mark ;
+    wxMacToolTip*      m_tip;
+    long               m_mark ;
 };
 
 //-----------------------------------------------------------------------------
@@ -187,7 +186,7 @@ void wxMacToolTip::Setup( WindowRef window  , wxString text , wxPoint localPosit
 {
        m_mark++ ;
        Clear() ;
-       m_position = localPosition ; 
+       m_position = localPosition ;
        m_label = wxMacMakeMacStringFromPC( text ) ;
        m_window = window ;
        s_ToolTipWindowRef = window ;
@@ -225,7 +224,7 @@ void wxMacToolTip::Draw()
 */
 #endif
          {
-               wxMacPortStateHelper help( GetWindowPort( m_window ) );
+               wxMacPortStateHelper help( (GrafPtr) GetWindowPort( m_window ) );
  
                m_shown = true ;
 
@@ -323,12 +322,17 @@ void wxToolTip::NotifyWindowDelete( WXHWND win )
 void wxMacToolTip::Clear()
 {
        m_mark++ ;
+       if ( m_timer )
+       {
+           delete m_timer ;
+           m_timer = NULL ;
+       }
        if ( !m_shown )
                return ;
                 
        if ( m_window == s_ToolTipWindowRef && m_backpict )
        {
-               wxMacPortStateHelper help( GetWindowPort(m_window) ) ;
+               wxMacPortStateHelper help( (GrafPtr) GetWindowPort(m_window) ) ;
 
                m_shown = false ;