diff --git a/src/bin/e_fm.c b/src/bin/e_fm.c index 88b25a876..2948fd09a 100644 --- a/src/bin/e_fm.c +++ b/src/bin/e_fm.c @@ -5978,6 +5978,7 @@ _e_fm2_smart_del(Evas_Object *obj) sd = evas_object_smart_data_get(obj); if (!sd) return; + _e_fm2_client_monitor_list_end(obj); if (sd->realpath) _e_fm2_client_monitor_del(sd->id, sd->realpath); _e_fm2_live_process_end(obj); _e_fm2_queue_free(obj); diff --git a/src/bin/e_gadcon.c b/src/bin/e_gadcon.c index 99d59a609..4237ebffe 100644 --- a/src/bin/e_gadcon.c +++ b/src/bin/e_gadcon.c @@ -764,9 +764,10 @@ e_gadcon_client_new(E_Gadcon *gc, const char *name, const char *id, const char * gcc->name = evas_stringshare_add(name); gcc->gadcon = gc; gcc->o_base = base_obj; + if (gc->clients) + gcc->id = E_GADCON_CLIENT(evas_list_data(evas_list_last(gc->clients)))->id + 1; gc->clients = evas_list_append(gc->clients, gcc); /* This must only be unique during runtime */ - gcc->id = E_GADCON_CLIENT(evas_list_last(gc->clients))->id + 1; if (gcc->o_base) evas_object_event_callback_add(gcc->o_base, EVAS_CALLBACK_DEL, _e_gadcon_client_del_hook, gcc); diff --git a/src/modules/fileman/e_fwin.c b/src/modules/fileman/e_fwin.c index 43e83ca0c..8ecb61a29 100644 --- a/src/modules/fileman/e_fwin.c +++ b/src/modules/fileman/e_fwin.c @@ -443,12 +443,6 @@ static void _e_fwin_free(E_Fwin *fwin) { if (!fwin) return; //safety - if (fwin->fad) - { - e_object_del(E_OBJECT(fwin->fad->dia)); - fwin->fad = NULL; - } - if (fwin->win) e_object_del(E_OBJECT(fwin->win)); if (fwin->fm_obj) evas_object_del(fwin->fm_obj); if (fwin->tbar) e_object_del(E_OBJECT(fwin->tbar)); if (fwin->scrollframe_obj) evas_object_del(fwin->scrollframe_obj); @@ -469,6 +463,12 @@ _e_fwin_free(E_Fwin *fwin) if (fwin->overlay_file) evas_stringshare_del(fwin->overlay_file); if (fwin->scrollframe_file) evas_stringshare_del(fwin->scrollframe_file); if (fwin->theme_file) evas_stringshare_del(fwin->theme_file); + if (fwin->fad) + { + e_object_del(E_OBJECT(fwin->fad->dia)); + fwin->fad = NULL; + } + if (fwin->win) e_object_del(E_OBJECT(fwin->win)); free(fwin); }