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); } --