if (wd->multi_timer) ecore_timer_del(wd->multi_timer);
if (wd->mode_type) eina_stringshare_del(wd->mode_type);
if (wd->scr_hold_timer) ecore_timer_del(wd->scr_hold_timer);
- if (wd->walking > 0)
- {
- wd->walking = 0;
- elm_genlist_clear(obj);
- }
-
free(wd);
}
it->selected = EINA_TRUE;
it->wd->selected = eina_list_append(it->wd->selected, it);
call:
+ evas_object_ref(it->base.widget);
it->walking++;
it->wd->walking++;
- if (it->func.func)
- {
- Evas_Object *baseobj = it->base.widget;
- const char *objtype = NULL;
- it->func.func((void *)it->func.data, it->base.widget, it);
- objtype = evas_object_type_get(baseobj);
- if ((!objtype) || (!strcmp(objtype,""))) return;
- }
+ if (it->func.func) it->func.func((void *)it->func.data, it->base.widget, it);
if (!it->delete_me)
evas_object_smart_callback_call(it->base.widget, SIG_SELECTED, it);
it->walking--;
}
}
it->wd->last_selected_item = it;
+ evas_object_unref(it->base.widget);
}
static void