[Scummvm-cvs-logs] SF.net SVN: scummvm:[47284] scummvm/trunk/backends/vkeybd

lordhoto at users.sourceforge.net lordhoto at users.sourceforge.net
Tue Jan 12 22:46:52 CET 2010


Revision: 47284
          http://scummvm.svn.sourceforge.net/scummvm/?rev=47284&view=rev
Author:   lordhoto
Date:     2010-01-12 21:46:50 +0000 (Tue, 12 Jan 2010)

Log Message:
-----------
Fix some memory leaks.

Modified Paths:
--------------
    scummvm/trunk/backends/vkeybd/virtual-keyboard-parser.cpp
    scummvm/trunk/backends/vkeybd/virtual-keyboard.h

Modified: scummvm/trunk/backends/vkeybd/virtual-keyboard-parser.cpp
===================================================================
--- scummvm/trunk/backends/vkeybd/virtual-keyboard-parser.cpp	2010-01-12 21:24:37 UTC (rev 47283)
+++ scummvm/trunk/backends/vkeybd/virtual-keyboard-parser.cpp	2010-01-12 21:46:50 UTC (rev 47284)
@@ -154,8 +154,11 @@
 		} else {
 			// remove data relating to old resolution
 			_mode->bitmapName.clear();
-			delete _mode->image;
-			_mode->image = 0;
+			if (_mode->image) {
+				_mode->image->free();
+				delete _mode->image;
+				_mode->image = 0;
+			}
 			_mode->imageMap.removeAllAreas();
 			_mode->displayArea = Rect();
 		}

Modified: scummvm/trunk/backends/vkeybd/virtual-keyboard.h
===================================================================
--- scummvm/trunk/backends/vkeybd/virtual-keyboard.h	2010-01-12 21:24:37 UTC (rev 47283)
+++ scummvm/trunk/backends/vkeybd/virtual-keyboard.h	2010-01-12 21:46:50 UTC (rev 47284)
@@ -121,7 +121,13 @@
 		OverlayColor		displayFontColor;
 
 		Mode() : image(0) {}
-		~Mode() { delete image; }
+		~Mode() { 
+			if (image) {
+				image->free();
+				delete image;
+				image = 0;
+			}
+		}
 	};
 
 	typedef HashMap<String, Mode, IgnoreCase_Hash, IgnoreCase_EqualTo> ModeMap;


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.




More information about the Scummvm-git-logs mailing list