devilhorns pushed a commit to branch master.

http://git.enlightenment.org/core/enlightenment.git/commit/?id=361dc0928574ba1cde4205696720365f44f1cbca

commit 361dc0928574ba1cde4205696720365f44f1cbca
Author: Christopher Michael <devilho...@comcast.net>
Date:   Wed Jan 20 14:48:34 2021 -0500

    e_int_config_profiles: When a profile gets deleted, also delete any
    existing e_action for that profile.
---
 src/modules/conf_dialogs/e_int_config_profiles.c | 28 ++++++++++++++++++++++++
 1 file changed, 28 insertions(+)

diff --git a/src/modules/conf_dialogs/e_int_config_profiles.c 
b/src/modules/conf_dialogs/e_int_config_profiles.c
index c894197d8..ceae843b5 100644
--- a/src/modules/conf_dialogs/e_int_config_profiles.c
+++ b/src/modules/conf_dialogs/e_int_config_profiles.c
@@ -387,11 +387,39 @@ static void
 _cb_dialog_yes(void *data)
 {
    Del_Profile_Confirm_Data *d;
+   Efreet_Desktop *desk = NULL;
+   char *pdir, buff[PATH_MAX];
+   const char *label;
 
    d = data;
    if (!data) return;
 
    e_config_profile_del(d->cfdata->sel_profile);
+
+   pdir = e_config_profile_dir_get(d->cfdata->sel_profile);
+   snprintf(buff, sizeof(buff), "%s/profile.desktop", pdir);
+   desk = efreet_desktop_new(buff);
+   if (!desk)
+     {
+        e_prefix_data_snprintf(buff, sizeof(buff),
+                               "data/config/%s/", d->cfdata->sel_profile);
+        free(pdir);
+        pdir = strdup(buff);
+        if (pdir)
+          {
+             snprintf(buff, sizeof(buff), "%s/profile.desktop", pdir);
+             desk = efreet_desktop_new(buff);
+          }
+     }
+
+   label = d->cfdata->sel_profile;
+   if ((desk) && (desk->name)) label = desk->name;
+
+   free(pdir);
+   if (desk) efreet_desktop_free(desk);
+
+   e_action_predef_name_del("Profile: Switch", label);
+
    e_config_save_queue();
    _ilist_fill(d->cfdata);
 }

-- 


Reply via email to