diff options
-rw-r--r-- | sdl.c | 4 | ||||
-rw-r--r-- | vl.c | 8 |
2 files changed, 7 insertions, 5 deletions
@@ -872,10 +872,6 @@ void sdl_display_init(DisplayState *ds, int full_screen, int no_frame) da->resize_displaysurface = sdl_resize_displaysurface; da->free_displaysurface = sdl_free_displaysurface; if (register_displayallocator(ds, da) == da) { - DisplaySurface *surf; - surf = sdl_create_displaysurface(ds_get_width(ds), ds_get_height(ds)); - defaultallocator_free_displaysurface(ds->surface); - ds->surface = surf; dpy_resize(ds); } @@ -2615,7 +2615,13 @@ DisplayState *get_displaystate(void) DisplayAllocator *register_displayallocator(DisplayState *ds, DisplayAllocator *da) { - if(ds->allocator == &default_allocator) ds->allocator = da; + if(ds->allocator == &default_allocator) { + DisplaySurface *surf; + surf = da->create_displaysurface(ds_get_width(ds), ds_get_height(ds)); + defaultallocator_free_displaysurface(ds->surface); + ds->surface = surf; + ds->allocator = da; + } return ds->allocator; } |