From 22828d5f2a1924916995efa179b7c0af9b81fc7f Mon Sep 17 00:00:00 2001 From: Matteo Hausner Date: Tue, 20 May 2025 23:34:59 +0200 Subject: [PATCH] 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. --- src/tray/unix/SDL_tray.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/tray/unix/SDL_tray.c b/src/tray/unix/SDL_tray.c index 1c305a966c..e8a7b0d7ee 100644 --- a/src/tray/unix/SDL_tray.c +++ b/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;