win: free tab_region_base and tab_region_bg

otherwise this objects are leaking and taking the events for underlaying
objects.

This fixes T4266
devs/bu5hm4n/next
Marcel Hollerbach 6 years ago
parent cebf928bfe
commit dfe08f0ce0
  1. 14
      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)
{

Loading…
Cancel
Save