From: Václav Slavík Date: Sat, 5 Jan 2002 16:25:51 +0000 (+0000) Subject: REALLY fixed the leak (Dimitri) X-Git-Url: https://git.saurik.com/wxWidgets.git/commitdiff_plain/2ef44ad5631a1790f975e1e43d453bcc9f6c48f9?ds=sidebyside REALLY fixed the leak (Dimitri) git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@13382 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- diff --git a/src/common/imagxpm.cpp b/src/common/imagxpm.cpp index b8996eaafe..d46b11898a 100644 --- a/src/common/imagxpm.cpp +++ b/src/common/imagxpm.cpp @@ -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; }