Original Post
Hi... After having to install Windows 7, I've set up Codeblocks with MinGW and SDL. Now, then, I've been trying to get some things working. I've gotten a window open (just a simple, stupid test program) and can keep it open, but it won't close unless I use Task Manager to force it shut. I've tried everything I could think of and I never had this particular problem on Linux.
It closes on its own, like any other window, if I don't have a loop to keep it open, but with the loop? Complete and total failure to terminate.
As with other code I've shown on this site, there are things I wouldn't want to do in a program I plan to release. I can't move onto the next bit of SDL testing on Windows until I get this issue resolved, though, and searching for hours has revealed nothing helpful. The outer loop is there because, without it, the window closes instantly.
It closes on its own, like any other window, if I don't have a loop to keep it open, but with the loop? Complete and total failure to terminate.
#include "SDL.h"
#include <stdio.h>
#include <stdlib.h>
#define WINDOW_WIDTH 640
#define WINDOW_HEIGHT 480
SDL_Surface *window;
union SDL_Event event;
int main(int argc,char *argv[]){
if(SDL_Init(SDL_INIT_VIDEO)!=0){
printf("Unable to initialise SDL: %s\n",SDL_GetError());
return 1;
atexit(SDL_Quit);
return 1;
}
SDL_WM_SetCaption("Windows SDL Test",NULL);
window=SDL_SetVideoMode(WINDOW_WIDTH,WINDOW_HEIGHT,32,SDL_DOUBLEBUF);
if(window==NULL){
printf("Unable to set video mode: %s\n",SDL_GetError());
return 1;
}
while(1){
while(SDL_WaitEvent(&event)==0){
switch(event.type){
case SDL_QUIT:
SDL_Quit();
}
}
}
}
As with other code I've shown on this site, there are things I wouldn't want to do in a program I plan to release. I can't move onto the next bit of SDL testing on Windows until I get this issue resolved, though, and searching for hours has revealed nothing helpful. The outer loop is there because, without it, the window closes instantly.