]> git.saurik.com Git - wxWidgets.git/commitdiff
avoid leaking allocated tooltips
authorFrancesco Montorsi <f18m_cpp217828@yahoo.it>
Thu, 28 May 2009 20:31:38 +0000 (20:31 +0000)
committerFrancesco Montorsi <f18m_cpp217828@yahoo.it>
Thu, 28 May 2009 20:31:38 +0000 (20:31 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@60788 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

src/msw/statusbar.cpp

index b057c0e260c3a5e8e0befdba236017396293e1ad..c8921219cb9e0130886814c52ad0f8bfac9d3b02 100644 (file)
@@ -153,6 +153,16 @@ wxStatusBar::~wxStatusBar()
     // occupy
     PostSizeEventToParent();
 
     // occupy
     PostSizeEventToParent();
 
+    // delete existing tooltips
+    for (size_t i=0; i<m_tooltips.size(); i++)
+    {
+        if (m_tooltips[i])
+        {
+            delete m_tooltips[i];
+            m_tooltips[i] = NULL;
+        }
+    }
+
     wxDELETE(m_pDC);
 }
 
     wxDELETE(m_pDC);
 }
 
@@ -179,8 +189,11 @@ void wxStatusBar::SetFieldsCount(int nFields, const int *widths)
     // reset all current tooltips
     for (size_t i=0; i<m_tooltips.size(); i++)
     {
     // reset all current tooltips
     for (size_t i=0; i<m_tooltips.size(); i++)
     {
-        delete m_tooltips[i];
-        m_tooltips[i] = NULL;
+        if (m_tooltips[i])
+        {
+            delete m_tooltips[i];
+            m_tooltips[i] = NULL;
+        }
     }
 
     // shrink/expand the array:
     }
 
     // shrink/expand the array: