This is an automated email from the git hooks/post-receive script.
git pushed a commit to branch master
in repository enlightenment.
View the commit online.
commit c9759550859b5bf5cde739fd1b4cb60288fc5594
Author: Carsten Haitzler <[email protected]>
AuthorDate: Sun Jul 19 09:36:24 2026 +0100
nm - pop down opup if dialog appears in all cases
---
src/modules/networkmanager/agent.c | 2 ++
src/modules/networkmanager/e_mod_main.c | 29 ++++++++++++++++++----
src/modules/networkmanager/e_mod_main.h | 1 +
.../networkmanager/e_networkmanager_vpn_username.c | 2 ++
4 files changed, 29 insertions(+), 5 deletions(-)
diff --git a/src/modules/networkmanager/agent.c b/src/modules/networkmanager/agent.c
index db526c353..2011c1434 100644
--- a/src/modules/networkmanager/agent.c
+++ b/src/modules/networkmanager/agent.c
@@ -373,6 +373,7 @@ _dialog_new(E_NM_Agent_Request *req, const char *ssid)
evas_object_show(frame);
e_dialog_content_set(dialog, frame, 0, 0);
+ enm_popups_del();
e_dialog_show(dialog);
evas_object_event_callback_add(dialog->bg_object, EVAS_CALLBACK_KEY_DOWN,
@@ -504,6 +505,7 @@ _vpn_dialog_new(E_NM_Agent_Request *req, const char *conn_name,
evas_object_show(frame);
e_dialog_content_set(dialog, frame, minw, 0);
+ enm_popups_del();
e_dialog_show(dialog);
evas_object_event_callback_add(dialog->bg_object, EVAS_CALLBACK_KEY_DOWN,
diff --git a/src/modules/networkmanager/e_mod_main.c b/src/modules/networkmanager/e_mod_main.c
index fbd3b6218..eede5aaf2 100644
--- a/src/modules/networkmanager/e_mod_main.c
+++ b/src/modules/networkmanager/e_mod_main.c
@@ -168,11 +168,11 @@ enm_config_poll_time_set(double tim)
}
void
-enm_config_dialog_show(E_NM_Instance *inst)
+enm_config_dialog_show(E_NM_Instance *inst EINA_UNUSED)
{
if (!networkmanager_config) return;
if (networkmanager_config->config_dialog) return;
- if (inst && inst->popup) enm_popup_del(inst);
+ enm_popups_del();
e_int_config_networkmanager_module(NULL, NULL);
}
@@ -228,6 +228,7 @@ e_nm_theme_path(void)
void
enm_popup_del(E_NM_Instance *inst)
{
+ if (!inst) return;
E_FREE_FUNC(inst->ui.popup.deselect_timer, ecore_timer_del);
inst->ui.popup.deselect_item = NULL;
E_FREE_FUNC(inst->popup, e_object_del);
@@ -249,6 +250,23 @@ enm_popup_del(E_NM_Instance *inst)
E_FREE_FUNC(inst->ui.popup.itc_vpn, elm_genlist_item_class_free);
}
+void
+enm_popups_del(void)
+{
+ E_NM_Module_Context *ctxt;
+ Eina_List *l;
+ E_NM_Instance *inst;
+
+ if (!networkmanager_mod) return;
+ ctxt = networkmanager_mod->data;
+ if (!ctxt) return;
+
+ EINA_LIST_FOREACH(ctxt->instances, l, inst)
+ {
+ if (inst->popup) enm_popup_del(inst);
+ }
+}
+
static void
_enm_popup_del_cb(void *obj)
{
@@ -548,6 +566,7 @@ _enm_vpn_import_done_cb(void *data, Eina_Bool ok, const char *err,
e_dialog_text_set(err_dlg, _("Unknown error"));
e_dialog_button_add(err_dlg, _("Close"), NULL, NULL, NULL);
elm_win_center(err_dlg->win, 1, 1);
+ enm_popups_del();
e_dialog_show(err_dlg);
}
@@ -576,10 +595,9 @@ _enm_vpn_fs_done_cb(void *data, Evas_Object *fs EINA_UNUSED, void *event)
}
static void
-_enm_vpn_import_clicked_cb(void *data, Evas_Object *o EINA_UNUSED,
+_enm_vpn_import_clicked_cb(void *data EINA_UNUSED, Evas_Object *o EINA_UNUSED,
void *einfo EINA_UNUSED)
{
- E_NM_Instance *inst = data;
E_Dialog *dialog;
Evas_Object *fs;
const char *dir = efreet_download_dir_get();
@@ -600,8 +618,8 @@ _enm_vpn_import_clicked_cb(void *data, Evas_Object *o EINA_UNUSED,
evas_object_show(fs);
e_dialog_content_set(dialog, fs, ELM_SCALE_SIZE(360), ELM_SCALE_SIZE(320));
elm_win_center(dialog->win, 1, 1);
+ enm_popups_del();
e_dialog_show(dialog);
- enm_popup_del(inst);
}
/* VPN group header: text "VPN" */
@@ -804,6 +822,7 @@ _enm_vpn_show_forget_dialog(struct NM_VPN_Connection *vc)
e_object_data_set(E_OBJECT(d), ctx);
e_object_del_attach_func_set(E_OBJECT(d), _enm_vpn_forget_dialog_del_cb);
elm_win_center(d->win, 1, 1);
+ enm_popups_del();
e_dialog_show(d);
}
diff --git a/src/modules/networkmanager/e_mod_main.h b/src/modules/networkmanager/e_mod_main.h
index 1561407e3..71e622447 100644
--- a/src/modules/networkmanager/e_mod_main.h
+++ b/src/modules/networkmanager/e_mod_main.h
@@ -101,6 +101,7 @@ E_API int e_modapi_save(E_Module *m);
E_Config_Dialog *e_int_config_networkmanager_module(Evas_Object *parent,
const char *params);
void enm_popup_del(E_NM_Instance *inst);
+void enm_popups_del(void);
void enm_mod_aps_update_now(void);
void enm_config_dialog_show(E_NM_Instance *inst);
void enm_config_poll_time_set(double tim);
diff --git a/src/modules/networkmanager/e_networkmanager_vpn_username.c b/src/modules/networkmanager/e_networkmanager_vpn_username.c
index 5b1eb9557..28162d743 100644
--- a/src/modules/networkmanager/e_networkmanager_vpn_username.c
+++ b/src/modules/networkmanager/e_networkmanager_vpn_username.c
@@ -13,6 +13,7 @@ typedef unsigned char Eina_Bool;
# include "e.h"
# include "e_networkmanager.h"
# include "e_networkmanager_import.h"
+# include "e_mod_main.h"
# include "e_networkmanager_vpn_username.h"
#endif
@@ -265,6 +266,7 @@ enm_vpn_username_dialog(const char *conn_name, const char *type_label,
evas_object_show(frame);
e_dialog_content_set(dialog, frame, minw, 0);
+ enm_popups_del();
e_dialog_show(dialog);
evas_object_event_callback_add(dialog->bg_object, EVAS_CALLBACK_KEY_DOWN,
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.