bu5hm4n pushed a commit to branch master.

http://git.enlightenment.org/apps/terminology.git/commit/?id=dfe08f0ce0b2980dcceef84087aca5b8d18d0fb4

commit dfe08f0ce0b2980dcceef84087aca5b8d18d0fb4
Author: Marcel Hollerbach <[email protected]>
Date:   Mon Aug 8 12:51:27 2016 +0200

    win: free tab_region_base and tab_region_bg
    
    otherwise this objects are leaking and taking the events for underlaying
    objects.
    
    This fixes T4266
---
 src/bin/win.c | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/src/bin/win.c b/src/bin/win.c
index 1da46cb..e46e698 100644
--- a/src/bin/win.c
+++ b/src/bin/win.c
@@ -180,6 +180,7 @@ static void _cb_size_hint(void *data, Evas *e EINA_UNUSED, 
Evas_Object *obj, voi
 static void _tab_new_cb(void *data, Evas_Object *obj EINA_UNUSED, void 
*event_info EINA_UNUSED);
 static Tab_Item* tab_item_new(Tabs *tabs, Term_Container *child);
 static void _tabs_refresh(Tabs *tabs);
+static void _term_tabregion_free(Term *term);
 
 
 /* {{{ Solo */
@@ -3894,6 +3895,9 @@ _term_free(Term *term)
    term->base = NULL;
    evas_object_del(term->bg);
    term->bg = NULL;
+
+   _term_tabregion_free(term);
+
    if (term->tabcount_spacer)
      {
         evas_object_del(term->tabcount_spacer);
@@ -4036,6 +4040,16 @@ _term_tabregion_setup(Term *term)
    edje_object_part_swallow(term->base, "terminology.tabregion", o);
 }
 
+static void
+_term_tabregion_free(Term *term)
+{
+   evas_object_del(term->tab_region_bg);
+   term->tab_region_bg = NULL;
+
+   evas_object_del(term->tab_region_base);
+   term->tab_region_base = NULL;
+}
+
 Eina_Bool
 main_term_popup_exists(const Term *term)
 {

-- 


Reply via email to