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()) { if (IsGtkInit()) {
gtk.g.main_context_iteration(sdl_main_context, GTK_FALSE); 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 typedef struct SDL_GtkContext
{ {
/* Glib 2.0 */ /* Glib 2.0 */
struct struct
{ {
gulong (*signal_connect)(gpointer instance, const gchar *detailed_signal, void *c_handler, gpointer data); 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); 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; 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; 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"); SDL_SetError("Cannot create submenu for entry not created with SDL_TRAYENTRY_SUBMENU");
return NULL; return NULL;
} }
SDL_GtkContext *gtk = SDL_Gtk_EnterContext(); SDL_GtkContext *gtk = SDL_Gtk_EnterContext();
if (!gtk) { if (!gtk) {
return NULL; return NULL;