]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/gdicmn.cpp
Applied patch [ 850483 ] Toolbar bugfix (Mac)
[wxWidgets.git] / src / common / gdicmn.cpp
index 47ffe0393b81e4eaa77fca10418bd946181c3763..ac407e93d92b0a9b2b55ad5f679ac307fb01d856 100644 (file)
@@ -331,7 +331,7 @@ void wxColourDatabase::Initialize()
         {wxT("WHEAT"), 216, 216, 191},
         {wxT("WHITE"), 255, 255, 255},
         {wxT("YELLOW"), 255, 255, 0},
-        {wxT("YELLOW GREEN"), 153, 204, 50},
+        {wxT("YELLOW GREEN"), 153, 204, 50}
     };
 
     size_t n;
@@ -473,6 +473,15 @@ wxString wxColourDatabase::FindName(const wxColour& colour) const
 
 wxColour *wxColourDatabase::FindColour(const wxString& name)
 {
+    // This function is deprecated, use Find() instead.
+    // Formerly this function sometimes would return a deletable pointer and
+    // sometimes a non-deletable one (when returning a colour from the database).
+    // Trying to delete the latter anyway results in problems, so probably
+    // nobody ever freed the pointers. Currently it always returns a new
+    // instance, which means there will be memory leaks.
+    wxLogDebug(wxT("wxColourDataBase::FindColour():")
+        wxT(" Please use wxColourDataBase::Find() instead"));
+
     // using a static variable here is not the most elegant solution but unless
     // we want to make wxStringToColourHashMap public (i.e. move it to the
     // header) so that we could have a member function returning
@@ -481,13 +490,14 @@ wxColour *wxColourDatabase::FindColour(const wxString& name)
     //
     // and knowing that this function is going to disappear in the next release
     // anyhow I don't want to waste time on this
+
     static wxColour s_col;
 
     s_col = Find(name);
     if ( !s_col.Ok() )
         return NULL;
 
-    return &s_col;
+    return new wxColour(s_col);
 }
 
 // ============================================================================