tFix GtkCheckMenuItem on all platforms - vaccinewars - be a doctor and try to v… | |
git clone git://src.adamsgaard.dk/vaccinewars | |
Log | |
Files | |
Refs | |
README | |
LICENSE | |
--- | |
commit f5de7c748d56a88c479065b9434a2d406d67c452 | |
parent adfb946b4643185b21f18de43fffddb10d07706b | |
Author: Ben Webb <[email protected]> | |
Date: Sat, 28 Nov 2020 20:49:34 -0800 | |
Fix GtkCheckMenuItem on all platforms | |
Our previous Win32 fix broke GtkCheckMenuItem | |
on non-Win32 GTK+3 systems. | |
Diffstat: | |
M src/gtkport/gtkport.c | 1 + | |
M src/gtkport/itemfactory.c | 5 +++-- | |
2 files changed, 4 insertions(+), 2 deletions(-) | |
--- | |
diff --git a/src/gtkport/gtkport.c b/src/gtkport/gtkport.c | |
t@@ -3732,6 +3732,7 @@ gboolean gtk_check_menu_item_get_active(GtkMenuItem *men… | |
void gtk_check_menu_item_set_active(GtkMenuItem *menu_item, gboolean active) | |
{ | |
GtkWidget *widget = GTK_WIDGET(menu_item); | |
+ menu_item->check = 1; | |
menu_item->active = active; | |
if (GTK_WIDGET_REALIZED(widget)) { | |
diff --git a/src/gtkport/itemfactory.c b/src/gtkport/itemfactory.c | |
t@@ -208,10 +208,11 @@ void dp_gtk_item_factory_create_item(DPGtkItemFactory *i… | |
gtk_item_factory_parse_accel(ifactory, entry->accelerator, | |
menu_title, &accel); | |
- menu_item = gtk_menu_item_new_with_mnemonic(menu_title->str); | |
if (entry->item_type && strcmp(entry->item_type, "<CheckItem>") == 0) { | |
- GTK_CHECK_MENU_ITEM(menu_item)->check = 1; | |
+ menu_item = gtk_check_menu_item_new_with_mnemonic(menu_title->str); | |
+ gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(menu_item), TRUE); | |
} else { | |
+ menu_item = gtk_menu_item_new_with_mnemonic(menu_title->str); | |
if (entry->item_type && strcmp(entry->item_type, "<LastBranch>") == 0) { | |
gtk_menu_item_set_right_justified(GTK_MENU_ITEM(menu_item), TRUE); | |
} |