[Haiku-commits] r21452 - haiku/trunk/src/kits/game

jackburton at BerliOS jackburton at mail.berlios.de
Mon Jun 18 14:44:58 CEST 2007


Author: jackburton
Date: 2007-06-18 14:44:58 +0200 (Mon, 18 Jun 2007)
New Revision: 21452
ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=21452&view=rev

Modified:
   haiku/trunk/src/kits/game/WindowScreen.cpp
Log:
free() the modelist as it's allocated using malloc. A forgotten printf -> fprintf. minor other stuff.

Modified: haiku/trunk/src/kits/game/WindowScreen.cpp
===================================================================
--- haiku/trunk/src/kits/game/WindowScreen.cpp	2007-06-18 12:36:30 UTC (rev 21451)
+++ haiku/trunk/src/kits/game/WindowScreen.cpp	2007-06-18 12:44:58 UTC (rev 21452)
@@ -31,7 +31,7 @@
 using BPrivate::AppServerLink;
 
 
-#define TRACE_WINDOWSCREEN 0
+//#define TRACE_WINDOWSCREEN 1
 #if TRACE_WINDOWSCREEN
 #define CALLED() printf("%s\n", __PRETTY_FUNCTION__);
 #else
@@ -669,8 +669,7 @@
 	fAttributes = attributes;
 		// TODO: not really used right now, but should probably be known by the app_server
 
-	fWorkspaceIndex = current_workspace();
-	fDebugWorkspace = fWorkspaceIndex > 0 ? fWorkspaceIndex - 1 : 1;
+	fWorkspaceIndex = fDebugWorkspace = current_workspace();
 	fLockState = 0;
 	fAddonImage = -1;
 	fWindowState = 0;
@@ -713,10 +712,12 @@
 		if (fDebugSem < B_OK)
 			throw fDebugSem;
 
-		memcpy(fPalette, screen.ColorMap()->color_list, 256);
+		memcpy(fPalette, screen.ColorMap()->color_list, sizeof(fPalette));
 		fActivateState = 0;
 		fWorkState = 1;
 		
+		status = B_OK;
+
 	} catch (std::bad_alloc) {
 		status = B_NO_MEMORY;	
 	} catch (int error) {
@@ -725,7 +726,7 @@
 		status = B_ERROR;	
 	}
 
-	if (status != B_OK)
+	if (status < B_OK)
 		_DisposeData();
 
 	return status;
@@ -754,7 +755,7 @@
 	fDisplayMode = NULL;
 	delete fOriginalDisplayMode;
 	fOriginalDisplayMode = NULL;
-	delete fModeList;
+	free(fModeList);
 	fModeList = NULL;
 	fModeCount = 0;
 	
@@ -1098,7 +1099,7 @@
 		|| currentMode.flags != displayMode->flags) {
 		status = screen.SetMode(displayMode);
 		if (status < B_OK) {
-			printf("AssertDisplayMode: Setting mode failed: %s\n", strerror(status));
+			fprintf(stderr, "AssertDisplayMode: Setting mode failed: %s\n", strerror(status));
 			return status;
 		}
 




More information about the Haiku-commits mailing list