Browse Source

Fix #13083 segfault in `SDL_RemoveTrayEntry()` for submenu entries

Use `g_object_ref_sink()` in `SDL_CreateTraySubmenu()` as introduced with
3be67ced646f9d884c32ce6858f39fe9dd8d634b for the top-level menu.

(cherry picked from commit 22828d5f2a1924916995efa179b7c0af9b81fc7f)
Matteo Hausner 2 months ago
parent
commit
e5c0e5efa7
1 changed files with 1 additions and 1 deletions
  1. 1 1
      src/tray/unix/SDL_tray.c

+ 1 - 1
src/tray/unix/SDL_tray.c

@@ -541,7 +541,7 @@ SDL_TrayMenu *SDL_CreateTraySubmenu(SDL_TrayEntry *entry)
         return NULL;
     }
 
-    entry->submenu->menu = (GtkMenuShell *)gtk_menu_new();
+    entry->submenu->menu = g_object_ref_sink(gtk_menu_new());
     entry->submenu->parent_tray = NULL;
     entry->submenu->parent_entry = entry;
     entry->submenu->nEntries = 0;