mirror of
https://github.com/libsdl-org/SDL.git
synced 2025-10-05 09:26:25 +00:00
Fixed changing palettes while rendering is in flight
This commit is contained in:
@@ -1896,6 +1896,17 @@ bool SDL_SetTexturePalette(SDL_Texture *texture, SDL_Palette *palette)
|
||||
}
|
||||
|
||||
if (palette != texture->palette) {
|
||||
if (!FlushRenderCommandsIfTextureNeeded(texture)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if (!texture->native) {
|
||||
SDL_Renderer *renderer = texture->renderer;
|
||||
if (!renderer->ChangeTexturePalette(renderer, texture, palette)) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
if (texture->palette) {
|
||||
SDL_DestroyPalette(texture->palette);
|
||||
}
|
||||
|
Reference in New Issue
Block a user