diff --git a/examples/asyncio/01-load-bitmaps/load-bitmaps.c b/examples/asyncio/01-load-bitmaps/load-bitmaps.c index aebb96eb06..eba69230ed 100644 --- a/examples/asyncio/01-load-bitmaps/load-bitmaps.c +++ b/examples/asyncio/01-load-bitmaps/load-bitmaps.c @@ -102,7 +102,9 @@ SDL_AppResult SDL_AppIterate(void *appstate) SDL_RenderClear(renderer); for (i = 0; i < SDL_arraysize(textures); i++) { - SDL_RenderTexture(renderer, textures[i], NULL, &texture_rects[i]); + if (textures[i]) { + SDL_RenderTexture(renderer, textures[i], NULL, &texture_rects[i]); + } } SDL_RenderPresent(renderer); diff --git a/examples/demo/04-bytepusher/bytepusher.c b/examples/demo/04-bytepusher/bytepusher.c index e1661b5018..ce7b5f194f 100644 --- a/examples/demo/04-bytepusher/bytepusher.c +++ b/examples/demo/04-bytepusher/bytepusher.c @@ -344,7 +344,7 @@ SDL_AppResult SDL_AppEvent(void* appstate, SDL_Event* event) { case SDL_EVENT_DROP_FILE: load_file(vm, event->drop.data); break; - + case SDL_EVENT_KEY_DOWN: #ifndef SDL_PLATFORM_EMSCRIPTEN if (event->key.key == SDLK_ESCAPE) { @@ -366,8 +366,8 @@ SDL_AppResult SDL_AppEvent(void* appstate, SDL_Event* event) { vm->keystate |= keycode_mask(event->key.key); } break; - - case SDL_EVENT_KEY_UP: + + case SDL_EVENT_KEY_UP: if (vm->positional_input) { vm->keystate &= ~scancode_mask(event->key.scancode); } else { diff --git a/examples/renderer/17-read-pixels/read-pixels.c b/examples/renderer/17-read-pixels/read-pixels.c index 3775069e0f..040b6ac86c 100644 --- a/examples/renderer/17-read-pixels/read-pixels.c +++ b/examples/renderer/17-read-pixels/read-pixels.c @@ -126,7 +126,9 @@ SDL_AppResult SDL_AppIterate(void *appstate) if (surface) { /* Rebuild converted_texture if the dimensions have changed (window resized, etc). */ if ((surface->w != converted_texture_width) || (surface->h != converted_texture_height)) { - SDL_DestroyTexture(converted_texture); + if (converted_texture) { + SDL_DestroyTexture(converted_texture); + } converted_texture = SDL_CreateTexture(renderer, SDL_PIXELFORMAT_RGBA8888, SDL_TEXTUREACCESS_STREAMING, surface->w, surface->h); if (!converted_texture) { SDL_Log("Couldn't (re)create conversion texture: %s", SDL_GetError()); diff --git a/test/testffmpeg.c b/test/testffmpeg.c index da1420e14a..10931a6366 100644 --- a/test/testffmpeg.c +++ b/test/testffmpeg.c @@ -1589,7 +1589,7 @@ int main(int argc, char *argv[]) } if (flushing && !decoded) { - if (SDL_GetAudioStreamQueued(audio) > 0 && !nodelay) { + if (audio && SDL_GetAudioStreamQueued(audio) > 0 && !nodelay) { /* Wait a little bit for the audio to finish */ SDL_Delay(10); } else { @@ -1616,11 +1616,15 @@ quit: avcodec_free_context(&audio_context); avcodec_free_context(&video_context); avformat_close_input(&ic); - SDL_DestroyRenderer(renderer); + if (renderer) { + SDL_DestroyRenderer(renderer); + } if (vulkan_context) { DestroyVulkanVideoContext(vulkan_context); } - SDL_DestroyWindow(window); + if (window) { + SDL_DestroyWindow(window); + } SDL_Quit(); SDLTest_CommonDestroyState(state); return return_code; diff --git a/test/testintersections.c b/test/testintersections.c index cb9fed7549..967d82aa22 100644 --- a/test/testintersections.c +++ b/test/testintersections.c @@ -210,8 +210,12 @@ static void loop(void *arg) /* Check for events */ while (SDL_PollEvent(&event)) { + SDL_Window *window; SDLTest_CommonEvent(state, &event, done); - SDL_ConvertEventToRenderCoordinates(SDL_GetRenderer(SDL_GetWindowFromEvent(&event)), &event); + window = SDL_GetWindowFromEvent(&event); + if (window) { + SDL_ConvertEventToRenderCoordinates(SDL_GetRenderer(window), &event); + } switch (event.type) { case SDL_EVENT_MOUSE_BUTTON_DOWN: mouse_begin_x = event.button.x; diff --git a/test/testmodal.c b/test/testmodal.c index 3c10a00866..9dad19f659 100644 --- a/test/testmodal.c +++ b/test/testmodal.c @@ -77,7 +77,7 @@ int main(int argc, char *argv[]) quit = 1; break; } else if (e.type == SDL_EVENT_WINDOW_CLOSE_REQUESTED) { - if (e.window.windowID == SDL_GetWindowID(w2)) { + if (w2 && e.window.windowID == SDL_GetWindowID(w2)) { SDL_DestroyRenderer(r2); SDL_DestroyWindow(w2); r2 = NULL; diff --git a/test/testrotate.c b/test/testrotate.c index 9dfb16c916..85851809fa 100644 --- a/test/testrotate.c +++ b/test/testrotate.c @@ -104,7 +104,9 @@ static bool UpdateRotation(SDL_Renderer *renderer) return false; } - SDL_DestroyTexture(texture); + if (texture) { + SDL_DestroyTexture(texture); + } texture = SDL_CreateTextureFromSurface(renderer, rotated); SDL_DestroySurface(rotated); if (!texture) { diff --git a/test/testyuv.c b/test/testyuv.c index 3cc5af8daa..9c2ba97aaa 100644 --- a/test/testyuv.c +++ b/test/testyuv.c @@ -674,9 +674,9 @@ static bool run_all_format_test(SDL_Window *window, const char *requested_render for (int i = 0; i < SDL_GetNumRenderDrivers() && !quit; ++i) { const char *renderer_name = SDL_GetRenderDriver(i); - if (requested_renderer && SDL_strcmp(renderer_name, requested_renderer) != 0) { - continue; - } + if (requested_renderer && SDL_strcmp(renderer_name, requested_renderer) != 0) { + continue; + } SDL_Renderer *renderer = SDL_CreateRenderer(window, renderer_name); if (!renderer) { @@ -1047,9 +1047,11 @@ int main(int argc, char **argv) } done: - SDL_free(filename); + SDL_free(filename); SDL_DestroySurface(original); - SDL_DestroyWindow(window); + if (window) { + SDL_DestroyWindow(window); + } SDL_Quit(); SDLTest_CommonDestroyState(state); return result;