summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarcel Hollerbach <mail@marcel-hollerbach.de>2019-12-09 18:27:37 +0100
committerCedric BAIL <cedric.bail@free.fr>2019-12-13 09:32:53 -0800
commit7a72796920041e9a0410a670f22e57f6c0250c88 (patch)
treebf93889f7e53b569675d765ab754c2c31654c8f3
parentabc1cb0043fc5a696e169266e3e7cead6012b8b6 (diff)
downloadefl-7a72796920041e9a0410a670f22e57f6c0250c88.tar.gz
efl_ui_pan: stop leaking content
pans implementation of Efl.Content is different to each other implementation, setting the content to NULL is not really deleting the obejct, since this is done at those widgets that are actaully using the pan. This is weird and fine in the same way, as the pan is only internal. However, when we are shutting down, we must free the content here. Reviewed-by: Cedric BAIL <cedric.bail@free.fr> Differential Revision: https://phab.enlightenment.org/D10838
-rw-r--r--src/lib/elementary/efl_ui_pan.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/lib/elementary/efl_ui_pan.c b/src/lib/elementary/efl_ui_pan.c
index 72e5c60a93..b86d68bdc6 100644
--- a/src/lib/elementary/efl_ui_pan.c
+++ b/src/lib/elementary/efl_ui_pan.c
@@ -110,7 +110,9 @@ _efl_ui_pan_efl_object_constructor(Eo *obj, Efl_Ui_Pan_Data *_pd EINA_UNUSED)
EOLIAN static void
_efl_ui_pan_efl_object_destructor(Eo *obj, Efl_Ui_Pan_Data *sd EINA_UNUSED)
{
- efl_content_set(obj, NULL);
+ /* our implementation is a little bit incomplete, efl_content_set(obj, NULL) does not delete the content, However, if we do that, list grid and scroller would fail, because the assume ownership of the content */
+ Eo *content = efl_content_unset(obj);
+ efl_del(content);
efl_destructor(efl_super(obj, MY_CLASS));
}