From 05ebbfdae7e75d5b52277618d61dddcae71232d5 Mon Sep 17 00:00:00 2001 From: Neil Roberts Date: Tue, 20 Nov 2012 18:50:42 +0000 Subject: [PATCH] sdl: Support setting resizable before allocate in SDL 1 The SDL 1 winsys now checks for the initial resizable state of the onscreen framebuffer when it is allocated and updates the video flags accordingly. Reviewed-by: Robert Bragg (cherry picked from commit f5fb9be70a92f751886a94da0b34e14252ed197e) --- cogl/winsys/cogl-winsys-sdl.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/cogl/winsys/cogl-winsys-sdl.c b/cogl/winsys/cogl-winsys-sdl.c index 63abbd075..8c4e2ac1c 100644 --- a/cogl/winsys/cogl-winsys-sdl.c +++ b/cogl/winsys/cogl-winsys-sdl.c @@ -287,6 +287,7 @@ _cogl_winsys_onscreen_init (CoglOnscreen *onscreen, CoglContext *context = framebuffer->context; CoglDisplay *display = context->display; CoglDisplaySdl *sdl_display = display->winsys; + CoglBool flags_changed = FALSE; int width, height; if (sdl_display->onscreen) @@ -300,9 +301,16 @@ _cogl_winsys_onscreen_init (CoglOnscreen *onscreen, width = cogl_framebuffer_get_width (framebuffer); height = cogl_framebuffer_get_height (framebuffer); + if (cogl_onscreen_get_resizable (onscreen)) + { + sdl_display->video_mode_flags |= SDL_RESIZABLE; + flags_changed = TRUE; + } + /* Try to update the video size using the onscreen size */ if (width != sdl_display->surface->w || - height != sdl_display->surface->h) + height != sdl_display->surface->h || + flags_changed) { sdl_display->surface = SDL_SetVideoMode (width, height, 0, /* bitsperpixel */