mirror of
https://github.com/libsdl-org/SDL.git
synced 2026-08-25 16:11:40 +00:00
Make interactive tests work on SDL3 built with disabled param checking (or assert on invalid)
This commit is contained in:
committed by
Sam Lantinga
parent
573862505d
commit
b30cda60c1
@@ -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);
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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());
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user