|
@@ -1894,24 +1894,6 @@ SDL_RenderPresent(SDL_Renderer * renderer)
|
|
|
renderer->RenderPresent(renderer);
|
|
|
}
|
|
|
|
|
|
-/* this isn't responsible for removing the deleted texture from the list!
|
|
|
- (this is to keep static analysis happy in SDL_DestroyRenderer().) */
|
|
|
-static void
|
|
|
-SDL_DestroyTextureInternal(SDL_Texture * texture)
|
|
|
-{
|
|
|
- SDL_Renderer *renderer = texture->renderer;
|
|
|
- if (texture->native) {
|
|
|
- SDL_DestroyTexture(texture->native);
|
|
|
- }
|
|
|
- if (texture->yuv) {
|
|
|
- SDL_SW_DestroyYUVTexture(texture->yuv);
|
|
|
- }
|
|
|
- SDL_free(texture->pixels);
|
|
|
-
|
|
|
- renderer->DestroyTexture(renderer, texture);
|
|
|
- SDL_free(texture);
|
|
|
-}
|
|
|
-
|
|
|
void
|
|
|
SDL_DestroyTexture(SDL_Texture * texture)
|
|
|
{
|
|
@@ -1924,7 +1906,7 @@ SDL_DestroyTexture(SDL_Texture * texture)
|
|
|
SDL_SetRenderTarget(renderer, NULL);
|
|
|
}
|
|
|
|
|
|
- texture->magic = NULL; /* just in case, but we're about to free this... */
|
|
|
+ texture->magic = NULL;
|
|
|
|
|
|
if (texture->next) {
|
|
|
texture->next->prev = texture->prev;
|
|
@@ -1935,22 +1917,26 @@ SDL_DestroyTexture(SDL_Texture * texture)
|
|
|
renderer->textures = texture->next;
|
|
|
}
|
|
|
|
|
|
- SDL_DestroyTextureInternal(texture);
|
|
|
+ if (texture->native) {
|
|
|
+ SDL_DestroyTexture(texture->native);
|
|
|
+ }
|
|
|
+ if (texture->yuv) {
|
|
|
+ SDL_SW_DestroyYUVTexture(texture->yuv);
|
|
|
+ }
|
|
|
+ SDL_free(texture->pixels);
|
|
|
+
|
|
|
+ renderer->DestroyTexture(renderer, texture);
|
|
|
+ SDL_free(texture);
|
|
|
}
|
|
|
|
|
|
void
|
|
|
SDL_DestroyRenderer(SDL_Renderer * renderer)
|
|
|
{
|
|
|
- SDL_Texture *texture = NULL;
|
|
|
- SDL_Texture *nexttexture = NULL;
|
|
|
-
|
|
|
CHECK_RENDERER_MAGIC(renderer, );
|
|
|
|
|
|
SDL_DelEventWatch(SDL_RendererEventWatch, renderer);
|
|
|
|
|
|
/* Free existing textures for this renderer */
|
|
|
- SDL_SetRenderTarget(renderer, NULL);
|
|
|
-
|
|
|
while (renderer->textures) {
|
|
|
SDL_DestroyTexture(renderer->textures);
|
|
|
}
|