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.