@@ -12,7 +12,7 @@ SDL_Window* window = NULL;
1212SDL_Renderer * renderer = NULL ;
1313
1414SDL_MenuItem * checkable = NULL ;
15- SDL_MenuItem * disabled = NULL ;
15+ SDL_MenuItem * new_window = NULL ;
1616
1717typedef enum SDL_EventType_MenuExt
1818{
@@ -42,7 +42,7 @@ void CreateMenuBar()
4242
4343 {
4444 SDL_MenuItem * menu = SDL_CreateMenuItem (bar , "File" , SDL_MENU , MENU_BAR_LAST );
45- SDL_CreateMenuItem (menu , "New Window" , SDL_MENU_BUTTON , MENU_BAR_FILE_NEW_WINDOW );
45+ new_window = SDL_CreateMenuItem (menu , "New Window" , SDL_MENU_BUTTON , MENU_BAR_FILE_NEW_WINDOW );
4646 checkable = SDL_CreateMenuItem (menu , "Autosave Tabs on Close" , SDL_MENU_CHECKABLE , MENU_BAR_FILE_DISABLE_NEW_WINDOW );
4747
4848 SDL_CheckMenuItem (checkable );
@@ -51,24 +51,23 @@ void CreateMenuBar()
5151 {
5252 SDL_MenuItem * menu = SDL_CreateMenuItem (bar , "Bookmarks" , SDL_MENU , MENU_BAR_LAST );
5353 SDL_MenuItem * main_bookmarks = SDL_CreateMenuItem (menu , "Bookmarks Toolbar" , SDL_MENU , MENU_BAR_LAST );
54+ SDL_MenuItem * discord = SDL_CreateMenuItem (main_bookmarks , "SDL Discord" , SDL_MENU_BUTTON , MENU_BAR_BOOKMARKS_TOOLBAR_DISCORD );
5455 SDL_CreateMenuItem (main_bookmarks , "SDL GitHub" , SDL_MENU_BUTTON , MENU_BAR_BOOKMARKS_TOOLBAR_GITHUB );
55- SDL_CreateMenuItem (main_bookmarks , "SDL Wiki" , SDL_MENU_BUTTON , MENU_BAR_BOOKMARKS_TOOLBAR_WIKI );
56- SDL_CreateMenuItem (main_bookmarks , "SDL Discord" , SDL_MENU_BUTTON , MENU_BAR_BOOKMARKS_TOOLBAR_DISCORD );
56+ SDL_CreateMenuItemAt (main_bookmarks , 0 , "SDL Wiki" , SDL_MENU_BUTTON , MENU_BAR_BOOKMARKS_TOOLBAR_WIKI );
5757
5858 SDL_MenuItem * other_bookmarks = SDL_CreateMenuItem (main_bookmarks , "Other Bookmarks" , SDL_MENU , MENU_BAR_LAST );
5959 SDL_CreateMenuItem (other_bookmarks , "Stack Overflow" , SDL_MENU_BUTTON , MENU_BAR_BOOKMARKS_OTHER_BOOKMARKS_STACKOVERFLOW );
60+
61+ SDL_DestroyMenuItem (discord );
62+
6063
6164 SDL_DisableMenuItem (other_bookmarks );
6265 }
6366
6467 {
6568 // We can't create a top level checkable .
66- SDL_MenuItem * checkable = SDL_CreateMenuItem (bar , "Incognito" , SDL_MENU_CHECKABLE , MENU_BAR_INCOGNITO );
67- SDL_assert (!checkable );
68-
69- disabled = SDL_CreateMenuItem (bar , "Disabled Top-Level Button" , SDL_MENU_BUTTON , MENU_BAR_TOP_LEVEL_BUTTON );
70- SDL_DisableMenuItem (disabled );
71-
69+ SDL_assert (!SDL_CreateMenuItem (bar , "Incognito" , SDL_MENU_CHECKABLE , MENU_BAR_INCOGNITO ));
70+
7271 SDL_CreateMenuItem (bar , "Exit" , SDL_MENU_BUTTON , MENU_BAR_EXIT );
7372 }
7473
@@ -131,11 +130,19 @@ SDL_AppResult SDL_AppEvent(void* appstate, SDL_Event* event) {
131130 SDL_MenuItemChecked (checkable , & is_checked );
132131 if (is_checked ) {
133132 SDL_UncheckMenuItem (checkable );
134- SDL_EnableMenuItem (disabled );
135133 }
136134 else {
137135 SDL_CheckMenuItem (checkable );
138- SDL_DisableMenuItem (disabled );
136+ }
137+
138+ bool is_enabled = false;
139+ SDL_MenuItemEnabled (new_window , & is_enabled );
140+
141+ if (is_enabled ) {
142+ SDL_DisableMenuItem (new_window );
143+ }
144+ else {
145+ SDL_EnableMenuItem (new_window );
139146 }
140147 break ;
141148 }
0 commit comments