diff --git a/test/testgesture.c b/test/testgesture.c index 9e4f1dffa..d72d9c41f 100644 --- a/test/testgesture.c +++ b/test/testgesture.c @@ -33,7 +33,6 @@ #define VERBOSE 0 -static SDL_Window *window; static SDL_Event events[EVENT_BUF_SIZE]; static int eventWrite; @@ -123,7 +122,7 @@ void drawKnob(SDL_Surface* screen,Knob k) { (k.p.y+k.r/2*SDL_sinf(k.ang))*screen->h,k.r/4*screen->w,0); } -void DrawScreen(SDL_Surface* screen) +void DrawScreen(SDL_Surface* screen, SDL_Window* window) { int i; #if 1 @@ -165,7 +164,8 @@ void DrawScreen(SDL_Surface* screen) SDL_UpdateWindowSurface(window); } -SDL_Surface* initScreen(int width,int height) +/* Returns a new SDL_Window if window is NULL or window if not. */ +SDL_Window* initWindow(SDL_Window *window, int width,int height) { if (!window) { window = SDL_CreateWindow("Gesture Test", @@ -175,11 +175,12 @@ SDL_Surface* initScreen(int width,int height) if (!window) { return NULL; } - return SDL_GetWindowSurface(window); + return window; } int main(int argc, char* argv[]) { + SDL_Window *window = NULL; SDL_Surface *screen; SDL_Event event; SDL_bool quitting = SDL_FALSE; @@ -194,7 +195,8 @@ int main(int argc, char* argv[]) if (SDL_Init(SDL_INIT_VIDEO) < 0 ) return 1; - if (!(screen = initScreen(WIDTH,HEIGHT))) + if (!(window = initWindow(window, WIDTH, HEIGHT)) || + !(screen = SDL_GetWindowSurface(window))) { SDL_Quit(); return 1; @@ -244,7 +246,8 @@ int main(int argc, char* argv[]) break; case SDL_WINDOWEVENT: if (event.window.event == SDL_WINDOWEVENT_RESIZED) { - if (!(screen = initScreen(event.window.data1, event.window.data2))) + if (!(window = initWindow(window, event.window.data1, event.window.data2)) || + !(screen = SDL_GetWindowSurface(window))) { SDL_Quit(); return 1; @@ -293,7 +296,7 @@ int main(int argc, char* argv[]) break; } } - DrawScreen(screen); + DrawScreen(screen, window); } SDL_Quit(); return 0;