diff options
author | Cedric BAIL <cedric@osg.samsung.com> | 2017-09-26 15:21:12 -0700 |
---|---|---|
committer | Cedric BAIL <cedric@osg.samsung.com> | 2017-09-26 15:21:12 -0700 |
commit | 1ac4a03d4fbef8ada70a491d15174c8ad93752ef (patch) | |
tree | ce463686de3b690cbdce236a14ef3494b233ed8c /src/lib | |
parent | 37d6bc03fda9a0ef3e5ffe27d2f687fa3dfa28e8 (diff) |
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 '')
-rw-r--r-- | src/lib/elementary/efl_ui_win.c | 9 |
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) | |||
2829 | _elm_win_on_resize_obj_changed_size_hints, | 2829 | _elm_win_on_resize_obj_changed_size_hints, |
2830 | obj); | 2830 | obj); |
2831 | 2831 | ||
2832 | efl_event_callback_array_del(obj, _elm_evas_tracking(), sd); | 2832 | efl_event_callback_array_del(sd->evas, _elm_evas_tracking(), sd); |
2833 | efl_event_callback_array_del(obj, _elm_win_evas_feed_fake_callbacks(), sd->evas); | 2833 | efl_event_callback_array_del(obj, _elm_win_evas_feed_fake_callbacks(), sd->evas); |
2834 | efl_event_callback_array_del(sd->evas, _elm_win_tracking(), sd); | 2834 | efl_event_callback_array_del(obj, _elm_win_tracking(), sd); |
2835 | evas_object_del(sd->legacy.box); | 2835 | evas_object_del(sd->legacy.box); |
2836 | evas_object_del(sd->legacy.edje); | 2836 | evas_object_del(sd->legacy.edje); |
2837 | 2837 | ||
@@ -5347,10 +5347,9 @@ _elm_win_finalize_internal(Eo *obj, Efl_Ui_Win_Data *sd, const char *name, Elm_W | |||
5347 | // attach config API | 5347 | // attach config API |
5348 | efl_composite_attach(obj, efl_provider_find(ecore_main_loop_get(), EFL_CONFIG_GLOBAL_CLASS)); | 5348 | efl_composite_attach(obj, efl_provider_find(ecore_main_loop_get(), EFL_CONFIG_GLOBAL_CLASS)); |
5349 | 5349 | ||
5350 | efl_event_callback_array_add(sd->evas, _elm_evas_tracking(), sd); | ||
5350 | efl_event_callback_array_add(obj, _elm_win_evas_feed_fake_callbacks(), sd->evas); | 5351 | efl_event_callback_array_add(obj, _elm_win_evas_feed_fake_callbacks(), sd->evas); |
5351 | efl_event_callback_array_add(obj, _elm_evas_tracking(), sd); | 5352 | efl_event_callback_array_add(obj, _elm_win_tracking(), sd); |
5352 | |||
5353 | efl_event_callback_array_add(sd->evas, _elm_win_tracking(), sd); | ||
5354 | evas_object_show(sd->legacy.edje); | 5353 | evas_object_show(sd->legacy.edje); |
5355 | 5354 | ||
5356 | if (type == ELM_WIN_FAKE) | 5355 | if (type == ELM_WIN_FAKE) |