hermet pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=be419d64d2cc34eaa3e7c8c4eec0508466e10cee

commit be419d64d2cc34eaa3e7c8c4eec0508466e10cee
Author: JunsuChoi <[email protected]>
Date:   Tue Jul 9 15:46:41 2019 +0900

    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 *

-- 


Reply via email to