Просмотр исходного кода

Make interactive tests work on SDL3 built with disabled param checking (or assert on invalid)

Anonymous Maarten 1 месяц назад
Родитель
Сommit
b30cda60c1

+ 3 - 1
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);

+ 3 - 3
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 {

+ 3 - 1
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());

+ 7 - 3
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;

+ 5 - 1
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;

+ 1 - 1
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;

+ 3 - 1
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) {

+ 7 - 5
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;