@@ -2603,12 +2603,21 @@ 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+ SDL_OutOfMemory ();
2608+ return NULL ;
2609+ }
2610+ bool ok = true;
26062611 if (title && * title ) {
2607- SDL_SetStringProperty (props , SDL_PROP_WINDOW_CREATE_TITLE_STRING , title );
2612+ ok &= SDL_SetStringProperty (props , SDL_PROP_WINDOW_CREATE_TITLE_STRING , title );
2613+ }
2614+ ok &= SDL_SetNumberProperty (props , SDL_PROP_WINDOW_CREATE_WIDTH_NUMBER , w );
2615+ ok &= SDL_SetNumberProperty (props , SDL_PROP_WINDOW_CREATE_HEIGHT_NUMBER , h );
2616+ ok &= SDL_SetNumberProperty (props , SDL_PROP_WINDOW_CREATE_FLAGS_NUMBER , flags );
2617+ if (!ok ) {
2618+ SDL_OutOfMemory ();
2619+ return NULL ;
26082620 }
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 );
26122621 window = SDL_CreateWindowWithProperties (props );
26132622 SDL_DestroyProperties (props );
26142623 return window ;
@@ -2618,19 +2627,28 @@ SDL_Window *SDL_CreatePopupWindow(SDL_Window *parent, int offset_x, int offset_y
26182627{
26192628 SDL_Window * window ;
26202629 SDL_PropertiesID props = SDL_CreateProperties ();
2630+ if (!props ) {
2631+ SDL_OutOfMemory ();
2632+ return NULL ;
2633+ }
26212634
26222635 // Popups must specify either the tooltip or popup menu window flags
26232636 if (!(flags & (SDL_WINDOW_TOOLTIP | SDL_WINDOW_POPUP_MENU ))) {
26242637 SDL_SetError ("Popup windows must specify either the 'SDL_WINDOW_TOOLTIP' or the 'SDL_WINDOW_POPUP_MENU' flag" );
26252638 return NULL ;
26262639 }
26272640
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 );
2641+ bool ok = SDL_SetPointerProperty (props , SDL_PROP_WINDOW_CREATE_PARENT_POINTER , parent );
2642+ ok &= SDL_SetNumberProperty (props , SDL_PROP_WINDOW_CREATE_X_NUMBER , offset_x );
2643+ ok &= SDL_SetNumberProperty (props , SDL_PROP_WINDOW_CREATE_Y_NUMBER , offset_y );
2644+ ok &= SDL_SetNumberProperty (props , SDL_PROP_WINDOW_CREATE_WIDTH_NUMBER , w );
2645+ ok &= SDL_SetNumberProperty (props , SDL_PROP_WINDOW_CREATE_HEIGHT_NUMBER , h );
2646+ ok &= SDL_SetNumberProperty (props , SDL_PROP_WINDOW_CREATE_FLAGS_NUMBER , flags );
2647+ if (!ok ) {
2648+ SDL_DestroyProperties (props );
2649+ SDL_OutOfMemory ();
2650+ return NULL ;
2651+ }
26342652 window = SDL_CreateWindowWithProperties (props );
26352653 SDL_DestroyProperties (props );
26362654 return window ;
0 commit comments