ui/gtk/menu.c

changeset 110
c00e968d018b
parent 108
77254bd6dccb
child 112
c3f2f16fa4b8
--- a/ui/gtk/menu.c	Sun Aug 24 15:24:16 2025 +0200
+++ b/ui/gtk/menu.c	Sat Oct 04 14:52:59 2025 +0200
@@ -576,8 +576,12 @@
     ls->oldcount = 0;
     ls->getvalue = il->getvalue;
     
-    //UiVar* var = uic_create_var(ui_global_context(), il->varname, UI_VAR_LIST);
-    UiVar* var = uic_create_var(obj->ctx, il->varname, UI_VAR_LIST);
+    GSimpleAction *action = g_simple_action_new(item->id, g_variant_type_new("i"));
+    g_action_map_add_action(obj->ctx->action_map, G_ACTION(action));
+    snprintf(ls->action, 32, "win.%s", item->id);
+    
+    UiVar* var = uic_create_var(ui_global_context(), il->varname, UI_VAR_LIST);
+    //UiVar* var = uic_create_var(obj->ctx, il->varname, UI_VAR_LIST);
     ls->var = var;
     if(var) {
         UiList *list = var->value;
@@ -604,10 +608,6 @@
     ls->callback = il->callback;
     ls->userdata = il->userdata;
     
-    GSimpleAction *action = g_simple_action_new(item->id, g_variant_type_new("i"));
-    g_action_map_add_action(obj->ctx->action_map, G_ACTION(action));
-    snprintf(ls->action, 32, "win.%s", item->id);
-    
     
     UiEventData *event = malloc(sizeof(UiEventData));
     event->obj = obj;
@@ -650,6 +650,10 @@
     UiVar *var = event->customdata;
     UiList *list = var->value;
     
+    if(!event->callback) {
+        return;
+    }
+    
     UiEvent evt;
     evt.obj = event->obj;
     evt.window = event->obj->window;

mercurial