From b5c58109132371b68f607197a8db819be363a674 Mon Sep 17 00:00:00 2001 From: deepend-tildeclub Date: Sat, 14 Mar 2026 21:32:11 -0600 Subject: [PATCH] fix: harden F9 menubar toggle; skip risky menu-item sync --- src/fe-gtk/menu.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/fe-gtk/menu.c b/src/fe-gtk/menu.c index c983ae29..eb4f2789 100644 --- a/src/fe-gtk/menu.c +++ b/src/fe-gtk/menu.c @@ -869,6 +869,9 @@ menu_nickmenu (session *sess, GdkEventButton *event, char *nick, int num_sel) static void menu_showhide_cb (session *sess) { + if (!sess->gui->menu || !GTK_IS_WIDGET (sess->gui->menu)) + return; + if (prefs.hex_gui_hide_menu) gtk_widget_hide (sess->gui->menu); else @@ -940,7 +943,7 @@ menu_setting_foreach (void (*callback) (session *), int id, guint state) { GtkWidget *menu_item = sess->gui->menu_item[id]; - if (menu_item != NULL) + if (menu_item != NULL && GTK_IS_CHECK_MENU_ITEM (menu_item)) { guint toggled_signal = g_signal_lookup ("toggled", G_OBJECT_TYPE (menu_item)); @@ -968,7 +971,7 @@ void menu_bar_toggle (void) { prefs.hex_gui_hide_menu = !prefs.hex_gui_hide_menu; - menu_setting_foreach (menu_showhide_cb, MENU_ID_MENUBAR, !prefs.hex_gui_hide_menu); + menu_setting_foreach (menu_showhide_cb, -1, !prefs.hex_gui_hide_menu); } static void