From 9441987446d204910a7707272c0f3a7d17f9830c Mon Sep 17 00:00:00 2001 From: Paolo Bonzini Date: Thu, 11 Feb 2010 00:29:56 +0100 Subject: [PATCH] remove knowledge of defaultallocator_free_displaysurface from sdl.c Let register_displayallocator hand over the old width/height to the new allocator. Signed-off-by: Paolo Bonzini Signed-off-by: Anthony Liguori --- sdl.c | 4 ---- vl.c | 8 +++++++- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/sdl.c b/sdl.c index cf27ad2c14..a9b4323900 100644 --- a/sdl.c +++ b/sdl.c @@ -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); } diff --git a/vl.c b/vl.c index bfbd0afc73..599a0803d7 100644 --- a/vl.c +++ b/vl.c @@ -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; }