Fixed bug #695 SDL-1.2
authorSam Lantinga <slouken@libsdl.org>
Mon, 21 Sep 2009 09:54:33 +0000
branchSDL-1.2
changeset 4219 0a7481888fd1
parent 4218 50b4ab8f8271
child 4220 cf958451fd8d
Fixed bug #695 Nomad 2009-02-08 10:34:43 PST The 2nd init is good. The problem is in "SDL_dibevents.c" in DIB_CreateWindow() in SVN: { char *windowid = SDL_getenv("SDL_WINDOWID"); SDL_RegisterApp(NULL, 0, 0); ... using of data to which windowid is points problem: SDL_RegisterApp() may call SDL_getenv() and windowid will point to some wrong string solve: char *windowid; SDL_RegisterApp(NULL, 0, 0); windowid = SDL_getenv("SDL_WINDOWID");
src/video/windib/SDL_dibevents.c
--- a/src/video/windib/SDL_dibevents.c	Mon Sep 21 09:47:53 2009 +0000
+++ b/src/video/windib/SDL_dibevents.c	Mon Sep 21 09:54:33 2009 +0000
@@ -653,10 +653,11 @@
 
 int DIB_CreateWindow(_THIS)
 {
-	char *windowid = SDL_getenv("SDL_WINDOWID");
+	char *windowid;
 
 	SDL_RegisterApp(NULL, 0, 0);
 
+	windowid = SDL_getenv("SDL_WINDOWID");
 	SDL_windowid = (windowid != NULL);
 	if ( SDL_windowid ) {
 #if defined(_WIN32_WCE) && (_WIN32_WCE < 300)