tray: linux fix tray menu elements not running callbacks (#13626)

This commit is contained in:
Hayden Gray
2025-08-03 10:22:32 -04:00
committed by GitHub
parent e1a623f129
commit cb5436045d
3 changed files with 4 additions and 3 deletions

View File

@@ -223,5 +223,6 @@ void SDL_UpdateGtk(void)
{
if (IsGtkInit()) {
gtk.g.main_context_iteration(sdl_main_context, GTK_FALSE);
gtk.g.main_context_iteration(NULL, GTK_FALSE);
}
}

View File

@@ -74,7 +74,7 @@ typedef struct _GtkSettings GtkSettings;
typedef struct SDL_GtkContext
{
/* Glib 2.0 */
struct
struct
{
gulong (*signal_connect)(gpointer instance, const gchar *detailed_signal, void *c_handler, gpointer data);
gulong (*signal_connect_data)(gpointer instance, const gchar *detailed_signal, GCallback c_handler, gpointer data, GClosureNotify destroy_data, SDL_GConnectFlags connect_flags);

View File

@@ -166,7 +166,7 @@ struct SDL_Tray {
GtkMenuShell *menu_cached;
};
static void call_callback(GtkMenuItem *item, GParamSpec *pspec, gpointer ptr)
static void call_callback(GtkMenuItem *item, gpointer ptr)
{
SDL_TrayEntry *entry = ptr;
@@ -404,7 +404,7 @@ SDL_TrayMenu *SDL_CreateTraySubmenu(SDL_TrayEntry *entry)
SDL_SetError("Cannot create submenu for entry not created with SDL_TRAYENTRY_SUBMENU");
return NULL;
}
SDL_GtkContext *gtk = SDL_Gtk_EnterContext();
if (!gtk) {
return NULL;