Do not overwrite window surface created by driver

If a driver's implementation of CreateWindowFramebuffer sets the window
surface, use that rather than overwriting it. A driver may set the window
surface if data cannot be passed via the CreateWindowFramebuffer output
parameters (e.g. surface palette colors).
Jay Petacat 2020-03-22 20:09:14 -04:00
parent 1fd548b67a
commit e0a270561f
1 changed files with 4 additions and 0 deletions

View File

@ -2319,6 +2319,10 @@ SDL_CreateWindowFramebuffer(SDL_Window * window)
return NULL;
}
if (window->surface) {
return window->surface;
}
if (!SDL_PixelFormatEnumToMasks(format, &bpp, &Rmask, &Gmask, &Bmask, &Amask)) {
return NULL;
}