From bdb55d1364d412fa7913958c3454d38758f2ba40 Mon Sep 17 00:00:00 2001 From: Leif Middelschulte Date: Mon, 19 Dec 2011 17:42:02 +0000 Subject: [PATCH] Fix update of references. SVN revision: 66337 --- .../e_int_config_randr_arrangement.c | 2 ++ .../conf_randr/e_int_config_randr_policies.c | 24 +++++++------------ 2 files changed, 10 insertions(+), 16 deletions(-) diff --git a/src/modules/conf_randr/e_int_config_randr_arrangement.c b/src/modules/conf_randr/e_int_config_randr_arrangement.c index 4754c955b..51ee7d08b 100644 --- a/src/modules/conf_randr/e_int_config_randr_arrangement.c +++ b/src/modules/conf_randr/e_int_config_randr_arrangement.c @@ -325,6 +325,7 @@ _dialog_subdialog_arrangement_output_mouse_down_cb(void *data __UNUSED__, Evas * edje_object_signal_emit(element, "select", "e"); //update data for other dialogs e_config_runtime_info->gui.selected_eo = obj; + e_config_runtime_info->gui.selected_output_dd = evas_object_data_get(obj, "output_info"); //update resolutions list dialog_subdialog_resolutions_update_list(obj); @@ -342,6 +343,7 @@ _dialog_subdialog_arrangement_output_mouse_down_cb(void *data __UNUSED__, Evas * { //update data for other dialogs e_config_runtime_info->gui.selected_eo = NULL; + e_config_runtime_info->gui.selected_output_dd = NULL; //update resolutions list dialog_subdialog_resolutions_update_list(NULL); diff --git a/src/modules/conf_randr/e_int_config_randr_policies.c b/src/modules/conf_randr/e_int_config_randr_policies.c index 12a9fc663..d860398b5 100644 --- a/src/modules/conf_randr/e_int_config_randr_policies.c +++ b/src/modules/conf_randr/e_int_config_randr_policies.c @@ -207,7 +207,7 @@ dialog_subdialog_policies_basic_apply_data(E_Config_Dialog *cfd __UNUSED__, E_Co Eina_Bool dialog_subdialog_policies_basic_check_changed(E_Config_Dialog *cfd __UNUSED__, E_Config_Dialog_Data *cfdata) { - if (!e_randr_screen_info || !cfdata || !cfdata->gui.selected_output_dd) return EINA_FALSE; + if (!e_randr_screen_info || !cfdata || !cfdata->gui.selected_output_dd || !cfdata->gui.selected_output_dd->output) return EINA_FALSE; return (int)cfdata->gui.selected_output_dd->previous_policy != (int)cfdata->gui.subdialogs.policies.radio_val; } @@ -285,29 +285,21 @@ void dialog_subdialog_policies_keep_changes(E_Config_Dialog_Data *cfdata) { E_Config_Randr_Dialog_Output_Dialog_Data *odd; - Eina_List *iter; + if (!cfdata || !cfdata->gui.selected_output_dd || !cfdata->gui.selected_output_dd->output) return; - if (!cfdata) return; - - EINA_LIST_FOREACH(cfdata->output_dialog_data_list, iter, odd) - { - odd->previous_policy = odd->new_policy; - if (odd->output) - odd->output->policy = odd->new_policy; - } + odd = cfdata->gui.selected_output_dd; + odd->previous_policy = odd->new_policy; + odd->output->policy = odd->new_policy; } void dialog_subdialog_policies_discard_changes(E_Config_Dialog_Data *cfdata) { E_Config_Randr_Dialog_Output_Dialog_Data *odd; - Eina_List *iter; - if (!cfdata) return; + if (!cfdata || !cfdata->gui.selected_output_dd || !cfdata->gui.selected_output_dd->output) return; - EINA_LIST_FOREACH(cfdata->output_dialog_data_list, iter, odd) - { - odd->new_policy = odd->previous_policy; - } + odd = cfdata->gui.selected_output_dd; + odd->new_policy = odd->previous_policy; }