diff options
Diffstat (limited to 'vl.c')
| -rw-r--r-- | vl.c | 8 |
1 files changed, 7 insertions, 1 deletions
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; } |