From be419d64d2cc34eaa3e7c8c4eec0508466e10cee Mon Sep 17 00:00:00 2001 From: JunsuChoi Date: Tue, 9 Jul 2019 15:46:41 +0900 Subject: [PATCH] Ector.Renderer: Prevent too many unref. Summary: pd-> surface will try efl_xref whenever surface_set is called. desturctor is called from a subclass, ref and unref do not match. So, Add this condition temporarily. Test Plan: N/A Reviewers: Hermet, smohanty, kimcinoo Reviewed By: Hermet Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D9235 --- src/lib/ector/ector_renderer.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/lib/ector/ector_renderer.c b/src/lib/ector/ector_renderer.c index 186e3233ab..d0efab6a6c 100644 --- a/src/lib/ector/ector_renderer.c +++ b/src/lib/ector/ector_renderer.c @@ -15,7 +15,11 @@ _ector_renderer_efl_object_destructor(Eo *obj, Ector_Renderer_Data *pd) efl_destructor(efl_super(obj, MY_CLASS)); if (pd->m) free(pd->m); - efl_unref(pd->surface); + /*FIXME: pd-> surface will try efl_xref whenever surface_set is called. + desturctor is called from a subclass, ref and unref do not match. + So, Add this condition temporarily.*/ + if (efl_ref_count(pd->surface) > 0) + efl_unref(pd->surface); } static Efl_Object *