aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorCedric BAIL <cedric@osg.samsung.com>2017-09-26 15:21:12 -0700
committerCedric BAIL <cedric@osg.samsung.com>2017-09-26 15:21:12 -0700
commit1ac4a03d4fbef8ada70a491d15174c8ad93752ef (patch)
treece463686de3b690cbdce236a14ef3494b233ed8c /src
parentecore: we can actually inherit from Efl.Object, just not in the first position. (diff)
downloadefl-1ac4a03d4fbef8ada70a491d15174c8ad93752ef.tar.gz
elementary: avoid segfault when getting focus due to an infinite recursion.
This was two line switched and setting the callbacks on the wrong object.
Diffstat (limited to 'src')
-rw-r--r--src/lib/elementary/efl_ui_win.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/src/lib/elementary/efl_ui_win.c b/src/lib/elementary/efl_ui_win.c
index b70efcc118..7a2a03be6e 100644
--- a/src/lib/elementary/efl_ui_win.c
+++ b/src/lib/elementary/efl_ui_win.c
@@ -2829,9 +2829,9 @@ _efl_ui_win_efl_canvas_group_group_del(Eo *obj, Efl_Ui_Win_Data *sd)
_elm_win_on_resize_obj_changed_size_hints,
obj);
- efl_event_callback_array_del(obj, _elm_evas_tracking(), sd);
+ efl_event_callback_array_del(sd->evas, _elm_evas_tracking(), sd);
efl_event_callback_array_del(obj, _elm_win_evas_feed_fake_callbacks(), sd->evas);
- efl_event_callback_array_del(sd->evas, _elm_win_tracking(), sd);
+ efl_event_callback_array_del(obj, _elm_win_tracking(), sd);
evas_object_del(sd->legacy.box);
evas_object_del(sd->legacy.edje);
@@ -5347,10 +5347,9 @@ _elm_win_finalize_internal(Eo *obj, Efl_Ui_Win_Data *sd, const char *name, Elm_W
// attach config API
efl_composite_attach(obj, efl_provider_find(ecore_main_loop_get(), EFL_CONFIG_GLOBAL_CLASS));
+ efl_event_callback_array_add(sd->evas, _elm_evas_tracking(), sd);
efl_event_callback_array_add(obj, _elm_win_evas_feed_fake_callbacks(), sd->evas);
- efl_event_callback_array_add(obj, _elm_evas_tracking(), sd);
-
- efl_event_callback_array_add(sd->evas, _elm_win_tracking(), sd);
+ efl_event_callback_array_add(obj, _elm_win_tracking(), sd);
evas_object_show(sd->legacy.edje);
if (type == ELM_WIN_FAKE)