diff --git a/src/modules/conf_applications/e_int_config_deskenv.c b/src/modules/conf_applications/e_int_config_deskenv.c index 6a88a99fa..e05664486 100644 --- a/src/modules/conf_applications/e_int_config_deskenv.c +++ b/src/modules/conf_applications/e_int_config_deskenv.c @@ -4,6 +4,7 @@ static void *_create_data(E_Config_Dialog *cfd); static void _free_data(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata); +static int _basic_check_changed(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata); static int _basic_apply(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata); static Evas_Object *_basic_create(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data *cfdata); @@ -33,6 +34,7 @@ e_int_config_deskenv(E_Container *con, const char *params __UNUSED__) v->free_cfdata = _free_data; v->basic.apply_cfdata = _basic_apply; v->basic.create_widgets = _basic_create; + v->basic.check_changed = _basic_check_changed; /* create config diaolg for NULL object/data */ cfd = e_config_dialog_new(con, _("Desktop Environments"), "E", @@ -68,6 +70,16 @@ _free_data(E_Config_Dialog *cfd __UNUSED__, E_Config_Dialog_Data *cfdata) E_FREE(cfdata); } +static int +_basic_check_changed(E_Config_Dialog *cfd __UNUSED__, E_Config_Dialog_Data *cfdata) +{ + return (e_config->deskenv.load_xrdb != cfdata->load_xrdb) || + (e_config->deskenv.load_xmodmap != cfdata->load_xmodmap) || + (e_config->deskenv.load_gnome != cfdata->load_gnome) || + (e_config->deskenv.load_kde != cfdata->load_kde) || + (e_config->exe_always_single_instance != cfdata->exe_always_single_instance); +} + /**--APPLY--**/ static int _basic_apply(E_Config_Dialog *cfd __UNUSED__, E_Config_Dialog_Data *cfdata)