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

The spinning cube GPU example triggers a few parameter validation errors for an offscreen renderer

Anonymous Maarten 1 месяц назад
Родитель
Сommit
36b7ce3b4e
2 измененных файлов с 2 добавлено и 2 удалено
  1. 1 1
      src/render/SDL_render.c
  2. 1 1
      src/render/gpu/SDL_render_gpu.c

+ 1 - 1
src/render/SDL_render.c

@@ -5533,7 +5533,7 @@ bool SDL_RenderPresent(SDL_Renderer *renderer)
 
 
     CHECK_RENDERER_MAGIC(renderer, false);
     CHECK_RENDERER_MAGIC(renderer, false);
 
 
-    CHECK_PARAM(renderer->target) {
+    if (renderer->target) {
         if (!renderer->window && SDL_strcmp(renderer->name, SDL_GPU_RENDERER) == 0) {
         if (!renderer->window && SDL_strcmp(renderer->name, SDL_GPU_RENDERER) == 0) {
             // We're an offscreen renderer, we must submit the command queue
             // We're an offscreen renderer, we must submit the command queue
         } else {
         } else {

+ 1 - 1
src/render/gpu/SDL_render_gpu.c

@@ -1747,7 +1747,7 @@ static bool GPU_CreateRenderer(SDL_Renderer *renderer, SDL_Window *window, SDL_P
     GPU_RenderData *data = NULL;
     GPU_RenderData *data = NULL;
 
 
     // Clear any OpenGL properties on the window to avoid potential driver conflicts.
     // Clear any OpenGL properties on the window to avoid potential driver conflicts.
-    SDL_WindowFlags flags = SDL_GetWindowFlags(window);
+    SDL_WindowFlags flags = window ? SDL_GetWindowFlags(window) : 0;
     if (flags & SDL_WINDOW_OPENGL) {
     if (flags & SDL_WINDOW_OPENGL) {
         flags &= ~SDL_WINDOW_OPENGL;
         flags &= ~SDL_WINDOW_OPENGL;
         SDL_ReconfigureWindow(window, flags);
         SDL_ReconfigureWindow(window, flags);