]> git.saurik.com Git - wxWidgets.git/commitdiff
memory leak fixed
authorStefan Csomor <csomor@advancedconcepts.ch>
Sat, 5 Jan 2002 16:39:22 +0000 (16:39 +0000)
committerStefan Csomor <csomor@advancedconcepts.ch>
Sat, 5 Jan 2002 16:39:22 +0000 (16:39 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@13386 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

src/mac/app.cpp
src/mac/carbon/app.cpp
src/mac/carbon/tooltip.cpp
src/mac/tooltip.cpp

index b16dcd492a5019dfcf9458ec3a618e4f4d0a62e8..0f813f16ab977b5f40bbac147655d20db9614d76 100644 (file)
@@ -56,9 +56,6 @@
 #if wxUSE_SOCKETS
     #ifdef __DARWIN__
         #include <CoreServices/CoreServices.h>
-    #else
-        #include <OpenTransport.h>
-        #include <OpenTptInternet.h>
     #endif
 #endif
 
@@ -526,6 +523,7 @@ bool wxApp::Initialize()
 
 void wxApp::CleanUp()
 {
+    wxToolTip::RemoveToolTips() ;
 #if wxUSE_LOG
     // flush the logged messages if any and install a 'safer' log target: the
     // default one (wxLogGui) can't be used after the resources are freed just
@@ -563,6 +561,9 @@ void wxApp::CleanUp()
   if (wxWinMacWindowList)
     delete wxWinMacWindowList ;
 
+  if (wxWinMacControlList)
+    delete wxWinMacControlList ;
+
     delete wxPendingEvents;
 #if wxUSE_THREADS
     delete wxPendingEventsLocker;
index b16dcd492a5019dfcf9458ec3a618e4f4d0a62e8..0f813f16ab977b5f40bbac147655d20db9614d76 100644 (file)
@@ -56,9 +56,6 @@
 #if wxUSE_SOCKETS
     #ifdef __DARWIN__
         #include <CoreServices/CoreServices.h>
-    #else
-        #include <OpenTransport.h>
-        #include <OpenTptInternet.h>
     #endif
 #endif
 
@@ -526,6 +523,7 @@ bool wxApp::Initialize()
 
 void wxApp::CleanUp()
 {
+    wxToolTip::RemoveToolTips() ;
 #if wxUSE_LOG
     // flush the logged messages if any and install a 'safer' log target: the
     // default one (wxLogGui) can't be used after the resources are freed just
@@ -563,6 +561,9 @@ void wxApp::CleanUp()
   if (wxWinMacWindowList)
     delete wxWinMacWindowList ;
 
+  if (wxWinMacControlList)
+    delete wxWinMacControlList ;
+
     delete wxPendingEvents;
 #if wxUSE_THREADS
     delete wxPendingEventsLocker;
index 0655699087460ec06dc90faf3a54a1293a3e84db..5ddf8b92e2da9ed8d93a20461083829a2ec2947f 100644 (file)
@@ -55,15 +55,15 @@ class wxMacToolTip
 class wxMacToolTipTimer : wxTimer
 {
 public:
+       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 ;
@@ -187,7 +187,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 ;
@@ -323,6 +323,11 @@ void wxToolTip::NotifyWindowDelete( WXHWND win )
 void wxMacToolTip::Clear()
 {
        m_mark++ ;
+       if ( m_timer )
+       {
+           delete m_timer ;
+           m_timer = NULL ;
+       }
        if ( !m_shown )
                return ;
                 
index 0655699087460ec06dc90faf3a54a1293a3e84db..5ddf8b92e2da9ed8d93a20461083829a2ec2947f 100644 (file)
@@ -55,15 +55,15 @@ class wxMacToolTip
 class wxMacToolTipTimer : wxTimer
 {
 public:
+       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 ;
@@ -187,7 +187,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 ;
@@ -323,6 +323,11 @@ void wxToolTip::NotifyWindowDelete( WXHWND win )
 void wxMacToolTip::Clear()
 {
        m_mark++ ;
+       if ( m_timer )
+       {
+           delete m_timer ;
+           m_timer = NULL ;
+       }
        if ( !m_shown )
                return ;