From e3557ec944271902b92523beffbadc09c054e700 Mon Sep 17 00:00:00 2001 From: Marcel Hollerbach Date: Fri, 12 Jul 2019 20:04:06 +0200 Subject: [PATCH] efl_ui_spotlight_manager_*: cleanup canvas state on invalidate this is needed so we can support a empty object which is not freed. Sounds useless, but required by bindings, this fixes the issue described in D9300. Differential Revision: https://phab.enlightenment.org/D9306 --- src/lib/elementary/efl_ui_spotlight_manager_scroll.c | 4 ++-- src/lib/elementary/efl_ui_spotlight_manager_scroll.eo | 2 +- src/lib/elementary/efl_ui_spotlight_manager_stack.c | 4 ++-- src/lib/elementary/efl_ui_spotlight_manager_stack.eo | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/lib/elementary/efl_ui_spotlight_manager_scroll.c b/src/lib/elementary/efl_ui_spotlight_manager_scroll.c index 1bc688b30d..778079d864 100644 --- a/src/lib/elementary/efl_ui_spotlight_manager_scroll.c +++ b/src/lib/elementary/efl_ui_spotlight_manager_scroll.c @@ -316,7 +316,7 @@ _efl_ui_spotlight_manager_scroll_efl_ui_spotlight_manager_animation_enabled_get( EOLIAN static void -_efl_ui_spotlight_manager_scroll_efl_object_destructor(Eo *obj, Efl_Ui_Spotlight_Manager_Scroll_Data *pd EINA_UNUSED) +_efl_ui_spotlight_manager_scroll_efl_object_invalidate(Eo *obj, Efl_Ui_Spotlight_Manager_Scroll_Data *pd EINA_UNUSED) { efl_event_callback_del(pd->group, EFL_GFX_ENTITY_EVENT_SIZE_CHANGED, _resize_cb, obj); efl_event_callback_del(pd->group, EFL_GFX_ENTITY_EVENT_POSITION_CHANGED, _move_cb, obj); @@ -329,7 +329,7 @@ _efl_ui_spotlight_manager_scroll_efl_object_destructor(Eo *obj, Efl_Ui_Spotlight efl_canvas_object_clipper_set(efl_pack_content_get(pd->container, i), NULL); } - efl_destructor(efl_super(obj, MY_CLASS)); + efl_invalidate(efl_super(obj, MY_CLASS)); } diff --git a/src/lib/elementary/efl_ui_spotlight_manager_scroll.eo b/src/lib/elementary/efl_ui_spotlight_manager_scroll.eo index 8ba9ac6597..942ad192ca 100644 --- a/src/lib/elementary/efl_ui_spotlight_manager_scroll.eo +++ b/src/lib/elementary/efl_ui_spotlight_manager_scroll.eo @@ -7,6 +7,6 @@ class @beta Efl.Ui.Spotlight.Manager_Scroll extends Efl.Ui.Spotlight.Manager Efl.Ui.Spotlight.Manager.switch_to; Efl.Ui.Spotlight.Manager.size {set;} Efl.Ui.Spotlight.Manager.animation_enabled {set; get;} - Efl.Object.destructor; + Efl.Object.invalidate; } } diff --git a/src/lib/elementary/efl_ui_spotlight_manager_stack.c b/src/lib/elementary/efl_ui_spotlight_manager_stack.c index ceff490f69..0df770db7c 100644 --- a/src/lib/elementary/efl_ui_spotlight_manager_stack.c +++ b/src/lib/elementary/efl_ui_spotlight_manager_stack.c @@ -231,12 +231,12 @@ _efl_ui_spotlight_manager_stack_efl_ui_spotlight_manager_size_set(Eo *obj, Efl_U } EOLIAN static void -_efl_ui_spotlight_manager_stack_efl_object_destructor(Eo *obj, Efl_Ui_Spotlight_Manager_Stack_Data *pd EINA_UNUSED) +_efl_ui_spotlight_manager_stack_efl_object_invalidate(Eo *obj, Efl_Ui_Spotlight_Manager_Stack_Data *pd EINA_UNUSED) { efl_event_callback_del(pd->group, EFL_GFX_ENTITY_EVENT_SIZE_CHANGED, _resize_cb, obj); efl_event_callback_del(pd->group, EFL_GFX_ENTITY_EVENT_POSITION_CHANGED, _move_cb, obj); - efl_destructor(efl_super(obj, MY_CLASS)); + efl_invalidate(efl_super(obj, MY_CLASS)); for (int i = 0; i < efl_content_count(pd->container); ++i) { diff --git a/src/lib/elementary/efl_ui_spotlight_manager_stack.eo b/src/lib/elementary/efl_ui_spotlight_manager_stack.eo index 999293bda7..c18fe31a8a 100644 --- a/src/lib/elementary/efl_ui_spotlight_manager_stack.eo +++ b/src/lib/elementary/efl_ui_spotlight_manager_stack.eo @@ -7,6 +7,6 @@ class @beta Efl.Ui.Spotlight.Manager_Stack extends Efl.Ui.Spotlight.Manager Efl.Ui.Spotlight.Manager.switch_to; Efl.Ui.Spotlight.Manager.size {set;} Efl.Ui.Spotlight.Manager.animation_enabled {set; get;} - Efl.Object.destructor; + Efl.Object.invalidate; } }