This is an automated email from the git hooks/post-receive script.

git pushed a commit to branch master
in repository evisum.

View the commit online.

commit 346002afd2e99fdca9856b2e43967e79647209ca
Author: Alastair Poole <[email protected]>
AuthorDate: Fri Apr 3 02:07:42 2026 +0100

    menu: reset checkboxes on hide.
    
    If we open a menu, then change checks, and hide it with a mouse
    click it will reopen with the checkboxes changed but no way to
    apply
---
 src/bin/ui/evisum_ui_widget_exel.c | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/src/bin/ui/evisum_ui_widget_exel.c b/src/bin/ui/evisum_ui_widget_exel.c
index 87ae20c..c1d9a38 100644
--- a/src/bin/ui/evisum_ui_widget_exel.c
+++ b/src/bin/ui/evisum_ui_widget_exel.c
@@ -76,10 +76,12 @@ struct _Evisum_Ui_Widget_Exel {
     Eina_Bool resizing;
     Eina_Bool ignore_sort_click;
     Eina_Bool fields_changed;
+    Eina_Bool fields_menu_apply_requested;
     Eina_Bool owns_state;
     Eina_Bool win_mouse_move_registered;
     Eina_Bool unrealized_release_enabled;
     Eina_Bool unrealized_delete_unhandled;
+    unsigned int fields_menu_mask_snapshot;
 };
 
 static Exel_Field *
@@ -271,6 +273,7 @@ _evisum_ui_widget_exel_fields_menu_apply_clicked_cb(void *data, Evas_Object *obj
     Eina_Bool changed;
 
     changed = wx->fields_changed;
+    wx->fields_menu_apply_requested = EINA_TRUE;
     evisum_ui_widget_exel_fields_menu_dismiss(wx);
 
     if (changed && wx->owns_state) {
@@ -1069,6 +1072,9 @@ evisum_ui_widget_exel_fields_menu_show(Evisum_Ui_Widget_Exel *wx, Evas_Object *a
     if (ev->button != 3) return;
     if (wx->fields_menu) return;
 
+    wx->fields_menu_apply_requested = EINA_FALSE;
+    wx->fields_menu_mask_snapshot = wx->p.fields_mask ? *(wx->p.fields_mask) : 0;
+
     _evisum_ui_widget_exel_fields_sync(wx);
     _evisum_ui_widget_exel_fields_changed_notify(wx);
 
@@ -1090,8 +1096,15 @@ evisum_ui_widget_exel_fields_menu_dismiss(Evisum_Ui_Widget_Exel *wx) {
     if (!wx) return;
     if (!wx->fields_menu) return;
 
+    if (!wx->fields_menu_apply_requested && wx->p.fields_mask) {
+        *(wx->p.fields_mask) = wx->fields_menu_mask_snapshot;
+        _evisum_ui_widget_exel_fields_sync(wx);
+        _evisum_ui_widget_exel_fields_changed_notify(wx);
+    }
+
     elm_ctxpopup_dismiss(wx->fields_menu);
     wx->fields_menu = NULL;
+    wx->fields_menu_apply_requested = EINA_FALSE;
 }
 
 Eina_Bool

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.

Reply via email to