]> git.saurik.com Git - wxWidgets.git/commitdiff
REALLY fixed the leak (Dimitri)
authorVáclav Slavík <vslavik@fastmail.fm>
Sat, 5 Jan 2002 16:25:51 +0000 (16:25 +0000)
committerVáclav Slavík <vslavik@fastmail.fm>
Sat, 5 Jan 2002 16:25:51 +0000 (16:25 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@13382 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

src/common/imagxpm.cpp

index b8996eaafed5c92bb627990d7c92143811277e64..d46b11898a431bf3f502008e4f574d7675aa7631 100644 (file)
@@ -129,7 +129,7 @@ bool wxXPMHandler::SaveFile(wxImage * image,
 
     // 2. write the header:
     char tmpbuf[200];
-    // VS: 200b is safe upper bound for anything produced by sprintf bellow
+    // VS: 200b is safe upper bound for anything produced by sprintf below
     //     (101 bytes the string, neither %i can expand into more than 10 chars)
     sprintf(tmpbuf, 
                "/* XPM */\n"
@@ -209,9 +209,17 @@ bool wxXPMHandler::SaveFile(wxImage * image,
     tmp = wxT("};\n");
     stream.Write(tmp.mb_str(), 3);
 
+    // Clean up:
     delete[] symbols;
     delete[] symbols_data;
 
+    // FIXME: it will be better to use macros-based wxHashTable & DeleteContents(TRUE)
+    table.BeginFind();
+    while ((node = table.Next()) != NULL)
+    {
+        delete (wxHNode *) node->GetData();
+    }
+
     return TRUE;
 }