Browse Source

SDL_CreateWindowAndRenderer() takes the window title as the first parameter

Fixes https://github.com/libsdl-org/SDL/issues/9626
Sam Lantinga 1 year ago
parent
commit
14f584a94b

+ 2 - 0
docs/README-migration.md

@@ -1092,6 +1092,8 @@ which index is the "opengl" or whatnot driver, you can just pass that string dir
 here, now. Passing NULL is the same as passing -1 here in SDL2, to signify you want SDL
 here, now. Passing NULL is the same as passing -1 here in SDL2, to signify you want SDL
 to decide for you.
 to decide for you.
 
 
+SDL_CreateWindowAndRenderer() now takes the window title as the first parameter.
+
 Mouse and touch events are no longer filtered to change their coordinates, instead you
 Mouse and touch events are no longer filtered to change their coordinates, instead you
 can call SDL_ConvertEventToRenderCoordinates() to explicitly map event coordinates into
 can call SDL_ConvertEventToRenderCoordinates() to explicitly map event coordinates into
 the rendering viewport.
 the rendering viewport.

+ 2 - 1
include/SDL3/SDL_render.h

@@ -196,6 +196,7 @@ extern DECLSPEC const char *SDLCALL SDL_GetRenderDriver(int index);
 /**
 /**
  * Create a window and default renderer.
  * Create a window and default renderer.
  *
  *
+ * \param title the title of the window, in UTF-8 encoding
  * \param width the width of the window
  * \param width the width of the window
  * \param height the height of the window
  * \param height the height of the window
  * \param window_flags the flags used to create the window (see
  * \param window_flags the flags used to create the window (see
@@ -210,7 +211,7 @@ extern DECLSPEC const char *SDLCALL SDL_GetRenderDriver(int index);
  * \sa SDL_CreateRenderer
  * \sa SDL_CreateRenderer
  * \sa SDL_CreateWindow
  * \sa SDL_CreateWindow
  */
  */
-extern DECLSPEC int SDLCALL SDL_CreateWindowAndRenderer(int width, int height, SDL_WindowFlags window_flags, SDL_Window **window, SDL_Renderer **renderer);
+extern DECLSPEC int SDLCALL SDL_CreateWindowAndRenderer(const char *title, int width, int height, SDL_WindowFlags window_flags, SDL_Window **window, SDL_Renderer **renderer);
 
 
 /**
 /**
  * Create a 2D rendering context for a window.
  * Create a 2D rendering context for a window.

+ 1 - 1
src/dynapi/SDL_dynapi_procs.h

@@ -151,7 +151,7 @@ SDL_DYNAPI_PROC(SDL_Texture*,SDL_CreateTexture,(SDL_Renderer *a, SDL_PixelFormat
 SDL_DYNAPI_PROC(SDL_Texture*,SDL_CreateTextureFromSurface,(SDL_Renderer *a, SDL_Surface *b),(a,b),return)
 SDL_DYNAPI_PROC(SDL_Texture*,SDL_CreateTextureFromSurface,(SDL_Renderer *a, SDL_Surface *b),(a,b),return)
 SDL_DYNAPI_PROC(SDL_Texture*,SDL_CreateTextureWithProperties,(SDL_Renderer *a, SDL_PropertiesID b),(a,b),return)
 SDL_DYNAPI_PROC(SDL_Texture*,SDL_CreateTextureWithProperties,(SDL_Renderer *a, SDL_PropertiesID b),(a,b),return)
 SDL_DYNAPI_PROC(SDL_Window*,SDL_CreateWindow,(const char *a, int b, int c, Uint32 d),(a,b,c,d),return)
 SDL_DYNAPI_PROC(SDL_Window*,SDL_CreateWindow,(const char *a, int b, int c, Uint32 d),(a,b,c,d),return)
-SDL_DYNAPI_PROC(int,SDL_CreateWindowAndRenderer,(int a, int b, Uint32 c, SDL_Window **d, SDL_Renderer **e),(a,b,c,d,e),return)
+SDL_DYNAPI_PROC(int,SDL_CreateWindowAndRenderer,(const char *a, int b, int c, Uint32 d, SDL_Window **e, SDL_Renderer **f),(a,b,c,d,e,f),return)
 SDL_DYNAPI_PROC(SDL_Window*,SDL_CreateWindowWithProperties,(SDL_PropertiesID a),(a),return)
 SDL_DYNAPI_PROC(SDL_Window*,SDL_CreateWindowWithProperties,(SDL_PropertiesID a),(a),return)
 SDL_DYNAPI_PROC(SDL_bool,SDL_CursorVisible,(void),(),return)
 SDL_DYNAPI_PROC(SDL_bool,SDL_CursorVisible,(void),(),return)
 SDL_DYNAPI_PROC(SDL_bool,SDL_DXGIGetOutputInfo,(SDL_DisplayID a, int *b, int *c),(a,b,c),return)
 SDL_DYNAPI_PROC(SDL_bool,SDL_DXGIGetOutputInfo,(SDL_DisplayID a, int *b, int *c),(a,b,c),return)

+ 2 - 2
src/render/SDL_render.c

@@ -826,7 +826,7 @@ static int SDLCALL SDL_RendererEventWatch(void *userdata, SDL_Event *event)
     return 0;
     return 0;
 }
 }
 
 
-int SDL_CreateWindowAndRenderer(int width, int height, SDL_WindowFlags window_flags, SDL_Window **window, SDL_Renderer **renderer)
+int SDL_CreateWindowAndRenderer(const char *title, int width, int height, SDL_WindowFlags window_flags, SDL_Window **window, SDL_Renderer **renderer)
 {
 {
     SDL_bool hidden = (window_flags & SDL_WINDOW_HIDDEN) != 0;
     SDL_bool hidden = (window_flags & SDL_WINDOW_HIDDEN) != 0;
 
 
@@ -840,7 +840,7 @@ int SDL_CreateWindowAndRenderer(int width, int height, SDL_WindowFlags window_fl
 
 
     // Hide the window so if the renderer recreates it, we don't get a visual flash on screen
     // Hide the window so if the renderer recreates it, we don't get a visual flash on screen
     window_flags |= SDL_WINDOW_HIDDEN;
     window_flags |= SDL_WINDOW_HIDDEN;
-    *window = SDL_CreateWindow(NULL, width, height, window_flags);
+    *window = SDL_CreateWindow(title, width, height, window_flags);
     if (!*window) {
     if (!*window) {
         *renderer = NULL;
         *renderer = NULL;
         return -1;
         return -1;

+ 1 - 1
test/testaudiocapture.c

@@ -69,7 +69,7 @@ int SDL_AppInit(void **appstate, int argc, char **argv)
         return 1;
         return 1;
     }
     }
 
 
-    if (SDL_CreateWindowAndRenderer(320, 240, 0, &window, &renderer) < 0) {
+    if (SDL_CreateWindowAndRenderer("testaudiocapture", 320, 240, 0, &window, &renderer) < 0) {
         SDL_LogError(SDL_LOG_CATEGORY_APPLICATION, "Couldn't create SDL window and renderer: %s\n", SDL_GetError());
         SDL_LogError(SDL_LOG_CATEGORY_APPLICATION, "Couldn't create SDL window and renderer: %s\n", SDL_GetError());
         return 1;
         return 1;
     }
     }

+ 1 - 1
test/testdialog.c

@@ -84,7 +84,7 @@ int main(int argc, char *argv[]) {
         SDL_Log("SDL_Init failed (%s)", SDL_GetError());
         SDL_Log("SDL_Init failed (%s)", SDL_GetError());
         return 1;
         return 1;
     }
     }
-    if (SDL_CreateWindowAndRenderer(640, 480, 0, &w, &r) < 0) {
+    if (SDL_CreateWindowAndRenderer("testdialog", 640, 480, 0, &w, &r) < 0) {
         SDL_Log("Failed to create window and/or renderer: %s\n", SDL_GetError());
         SDL_Log("Failed to create window and/or renderer: %s\n", SDL_GetError());
         SDL_Quit();
         SDL_Quit();
         return 1;
         return 1;

+ 1 - 5
test/testspriteminimal.c

@@ -122,15 +122,11 @@ int main(int argc, char *argv[])
         goto quit;
         goto quit;
     }
     }
 
 
-    if (SDL_CreateWindowAndRenderer(WINDOW_WIDTH, WINDOW_HEIGHT, 0, &window, &renderer) < 0) {
+    if (SDL_CreateWindowAndRenderer("testspriteminimal", WINDOW_WIDTH, WINDOW_HEIGHT, 0, &window, &renderer) < 0) {
         return_code = 2;
         return_code = 2;
         goto quit;
         goto quit;
     }
     }
 
 
-    if (SDL_SetWindowTitle(window, argv[0]) < 0) {
-        SDL_Log("SDL_SetWindowTitle: %s", SDL_GetError());
-    }
-
     sprite = CreateTexture(renderer, icon_bmp, icon_bmp_len, &sprite_w, &sprite_h);
     sprite = CreateTexture(renderer, icon_bmp, icon_bmp_len, &sprite_w, &sprite_h);
 
 
     if (!sprite) {
     if (!sprite) {