@@ -2603,12 +2603,19 @@ SDL_Window *SDL_CreateWindow(const char *title, int w, int h, SDL_WindowFlags fl
26032603{
26042604 SDL_Window * window ;
26052605 SDL_PropertiesID props = SDL_CreateProperties ();
2606+ if (!props ) {
2607+ return NULL ;
2608+ }
2609+ bool ok = true;
26062610 if (title && * title ) {
2607- SDL_SetStringProperty (props , SDL_PROP_WINDOW_CREATE_TITLE_STRING , title );
2611+ ok &= SDL_SetStringProperty (props , SDL_PROP_WINDOW_CREATE_TITLE_STRING , title );
2612+ }
2613+ ok &= SDL_SetNumberProperty (props , SDL_PROP_WINDOW_CREATE_WIDTH_NUMBER , w );
2614+ ok &= SDL_SetNumberProperty (props , SDL_PROP_WINDOW_CREATE_HEIGHT_NUMBER , h );
2615+ ok &= SDL_SetNumberProperty (props , SDL_PROP_WINDOW_CREATE_FLAGS_NUMBER , flags );
2616+ if (!ok ) {
2617+ return NULL ;
26082618 }
2609- SDL_SetNumberProperty (props , SDL_PROP_WINDOW_CREATE_WIDTH_NUMBER , w );
2610- SDL_SetNumberProperty (props , SDL_PROP_WINDOW_CREATE_HEIGHT_NUMBER , h );
2611- SDL_SetNumberProperty (props , SDL_PROP_WINDOW_CREATE_FLAGS_NUMBER , flags );
26122619 window = SDL_CreateWindowWithProperties (props );
26132620 SDL_DestroyProperties (props );
26142621 return window ;
@@ -2618,19 +2625,26 @@ SDL_Window *SDL_CreatePopupWindow(SDL_Window *parent, int offset_x, int offset_y
26182625{
26192626 SDL_Window * window ;
26202627 SDL_PropertiesID props = SDL_CreateProperties ();
2628+ if (!props ) {
2629+ return NULL ;
2630+ }
26212631
26222632 // Popups must specify either the tooltip or popup menu window flags
26232633 if (!(flags & (SDL_WINDOW_TOOLTIP | SDL_WINDOW_POPUP_MENU ))) {
26242634 SDL_SetError ("Popup windows must specify either the 'SDL_WINDOW_TOOLTIP' or the 'SDL_WINDOW_POPUP_MENU' flag" );
26252635 return NULL ;
26262636 }
26272637
2628- SDL_SetPointerProperty (props , SDL_PROP_WINDOW_CREATE_PARENT_POINTER , parent );
2629- SDL_SetNumberProperty (props , SDL_PROP_WINDOW_CREATE_X_NUMBER , offset_x );
2630- SDL_SetNumberProperty (props , SDL_PROP_WINDOW_CREATE_Y_NUMBER , offset_y );
2631- SDL_SetNumberProperty (props , SDL_PROP_WINDOW_CREATE_WIDTH_NUMBER , w );
2632- SDL_SetNumberProperty (props , SDL_PROP_WINDOW_CREATE_HEIGHT_NUMBER , h );
2633- SDL_SetNumberProperty (props , SDL_PROP_WINDOW_CREATE_FLAGS_NUMBER , flags );
2638+ bool ok = SDL_SetPointerProperty (props , SDL_PROP_WINDOW_CREATE_PARENT_POINTER , parent );
2639+ ok &= SDL_SetNumberProperty (props , SDL_PROP_WINDOW_CREATE_X_NUMBER , offset_x );
2640+ ok &= SDL_SetNumberProperty (props , SDL_PROP_WINDOW_CREATE_Y_NUMBER , offset_y );
2641+ ok &= SDL_SetNumberProperty (props , SDL_PROP_WINDOW_CREATE_WIDTH_NUMBER , w );
2642+ ok &= SDL_SetNumberProperty (props , SDL_PROP_WINDOW_CREATE_HEIGHT_NUMBER , h );
2643+ ok &= SDL_SetNumberProperty (props , SDL_PROP_WINDOW_CREATE_FLAGS_NUMBER , flags );
2644+ if (!ok ) {
2645+ SDL_DestroyProperties (props );
2646+ return NULL ;
2647+ }
26342648 window = SDL_CreateWindowWithProperties (props );
26352649 SDL_DestroyProperties (props );
26362650 return window ;
0 commit comments