This is an automated email from the git hooks/post-receive script.
git pushed a commit to branch nm-vpn-username-capture
in repository enlightenment.
View the commit online.
commit 2fb2e366a69812b82d7ba13c8dcbea9fa1cba5c6
Author: [email protected] <[email protected]>
AuthorDate: Sun Jun 21 22:53:54 2026 -0600
networkmanager: clear the VPN shield when an active connection is deleted
ConnectionRemoved freed the connection and rebuilt the list but never
re-emitted the status shield, so deleting a connected VPN left the gadget
showing the secured icon. Re-emit vpn_active_changed when the removed
connection was active.
Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
---
src/modules/networkmanager/e_networkmanager_vpn.c | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/src/modules/networkmanager/e_networkmanager_vpn.c b/src/modules/networkmanager/e_networkmanager_vpn.c
index 4cd3ecf3c..e2bc007cc 100644
--- a/src/modules/networkmanager/e_networkmanager_vpn.c
+++ b/src/modules/networkmanager/e_networkmanager_vpn.c
@@ -375,10 +375,17 @@ enm_vpn_remove_by_path(struct NM_Manager *nm, const char *path)
{
struct NM_VPN_Connection *vc;
+ Eina_Bool was_active;
+
if (!nm || !path) return;
vc = enm_vpn_find_by_path(nm, path);
if (!vc) return; /* not a VPN we tracked — nothing to do */
+ /* If an *active* VPN is deleted, removing it drops the active count, so the
+ * status shield must be re-emitted — otherwise the gadget keeps showing the
+ * secured icon for a connection that no longer exists. */
+ was_active = (vc->vpn_state == NM_VPN_STATE_ACTIVATED);
+
nm->vpn_connections =
eina_inlist_remove(nm->vpn_connections, EINA_INLIST_GET(vc));
enm_vpn_connection_free(vc);
@@ -387,6 +394,7 @@ enm_vpn_remove_by_path(struct NM_Manager *nm, const char *path)
_mod_cb_vpn_changed_t cb = _mod_cbs_vpn_changed_get();
if (cb) cb(nm);
}
+ if (was_active) enm_vpn_active_changed_schedule(nm);
}
void
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.