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

From 22828d5f2a1924916995efa179b7c0af9b81fc7f Mon Sep 17 00:00:00 2001
From: Matteo Hausner <[EMAIL REDACTED]>
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 1c305a966ca97..e8a7b0d7ee13e 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;