From 04acb74d8b47ec994fbf38f874ecb21473557c0a Mon Sep 17 00:00:00 2001 From: Leif Middelschulte Date: Thu, 28 Jun 2012 13:44:26 +0000 Subject: [PATCH] Revert "Merge branch 'randr'" This reverts commit 5cd36c5dcb45ac48a1dc062fed5ac0d29c79efe3, reversing changes made to 3bd4846cc3663a2488a47ed581045295fb322944. SVN revision: 73009 --- src/bin/e_dnd.c | 3 --- .../conf_randr/e_int_config_randr_arrangement.c | 16 +++++++++++----- 2 files changed, 11 insertions(+), 8 deletions(-) diff --git a/src/bin/e_dnd.c b/src/bin/e_dnd.c index 986e731f8..5267ffb5e 100644 --- a/src/bin/e_dnd.c +++ b/src/bin/e_dnd.c @@ -408,9 +408,6 @@ e_drop_handler_del(E_Drop_Handler *handler) { unsigned int i; - if (!handler) - return; - _drop_handlers = eina_list_remove(_drop_handlers, handler); for (i = 0; i < handler->num_types; i++) eina_stringshare_del(handler->types[i]); 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 db9884140..4b7694652 100644 --- a/src/modules/conf_randr/e_int_config_randr_arrangement.c +++ b/src/modules/conf_randr/e_int_config_randr_arrangement.c @@ -88,7 +88,7 @@ static void _arrangement_widget_rep_del(E_Config_Randr_Dialog_Outpu static void _arrangement_widget_rep_mouse_down_cb(void *data, Evas *e, Evas_Object *obj, void *event_info); static void _arrangement_widget_rep_mouse_move_cb(void *data, Evas *e, Evas_Object *obj, void *event_info); static void _arrangement_widget_rep_mouse_up_cb(void *data, Evas *e, Evas_Object *obj, void *event_info); -static void _arrangement_widget_check_changed_cb(void *data, Evas_Object *obj, void *event_info); +static void _arrangement_widget_check_mouse_down_cb(void *data, Evas *e, Evas_Object *obj, void *event_info); static void _arrangement_widget_update(void); static Position_Suggestion *e_layout_pos_sug_from_children_get(Evas_Object *child, Eina_List *children, int max_distance, Evas_Object_Rel_Pos allowed_pos); Eina_Bool _arrangemnet_rep_illegal_overlapping(E_Config_Randr_Dialog_Output_Dialog_Data *odd); @@ -190,6 +190,7 @@ _arrangement_widget_update(void) Eina_List *iter; area = e_config_runtime_info->gui.widgets.arrangement.area; + if (!e_config_runtime_info || !e_config_runtime_info->gui.canvas || !e_config_runtime_info->output_dialog_data_list || !area) return; fprintf(stderr, "CONF_RANDR: Display disconnected outputs: %s\n", (randr_dialog_config->display_disconnected_outputs ? "YES" : "NO")); @@ -274,7 +275,7 @@ arrangement_widget_basic_create_widgets(Evas *canvas) check = e_widget_check_add(canvas, _("Display disconnected outputs"), &e_config_runtime_info->gui.widgets.arrangement.check_val_display_disconnected_outputs); if (randr_dialog_config) e_widget_check_checked_set(check, randr_dialog_config->display_disconnected_outputs); - evas_object_smart_callback_add(check, "changed", _arrangement_widget_check_changed_cb, NULL); + evas_object_event_callback_add(check, EVAS_CALLBACK_MOUSE_DOWN, _arrangement_widget_check_mouse_down_cb, NULL); e_config_runtime_info->gui.widgets.arrangement.check_display_disconnected_outputs = check; area = e_layout_add(canvas); @@ -378,11 +379,16 @@ _arrangement_widget_rep_del(E_Config_Randr_Dialog_Output_Dialog_Data *odd) } static void -_arrangement_widget_check_changed_cb(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) +_arrangement_widget_check_mouse_down_cb(void *data __UNUSED__, Evas *e __UNUSED__, Evas_Object *obj, void *event_info __UNUSED__) { - randr_dialog_config->display_disconnected_outputs = e_config_runtime_info->gui.widgets.arrangement.check_val_display_disconnected_outputs; + if (!obj || !e_config_runtime_info || !randr_dialog_config) return; - _arrangement_widget_update(); + if (obj == e_config_runtime_info->gui.widgets.arrangement.check_display_disconnected_outputs) + { + //this is bad. The events are called _before_ the value is updated. + randr_dialog_config->display_disconnected_outputs ^= EINA_TRUE; + _arrangement_widget_update(); + } } static void