if (!obj) return;
if ((obj->delete_me) || (!obj->layer)) return;
- if ((obj->last_event == event_id) &&
+ if ((obj->last_event_id == event_id) &&
(obj->last_event_type == type)) return;
- if (obj->last_event > event_id)
+ if (obj->last_event_id > event_id)
{
if ((obj->last_event_type == EVAS_CALLBACK_MOUSE_OUT) &&
((type >= EVAS_CALLBACK_MOUSE_DOWN) &&
return;
}
}
- obj->last_event = event_id;
+ obj->last_event_id = event_id;
obj->last_event_type = type;
if (!(e = obj->layer->evas)) return;
EINA_INLIST_FREE(lay->objects, obj)
{
- evas_object_free(obj->object, 0);
+ evas_object_free(obj->object, EINA_FALSE);
}
}
}
void
-evas_object_free(Evas_Object *eo_obj, int clean_layer)
+evas_object_free(Evas_Object *eo_obj, Eina_Bool clean_layer)
{
Evas_Object_Protected_Data *obj = efl_data_scope_get(eo_obj, MY_CLASS);
if (!obj) return;
- obj->clean_layer = clean_layer;
+ obj->clean_layer = !!clean_layer;
int was_smart_child = 0;
for (i = 0; i < e->delete_objects.count; ++i)
{
obj = eina_array_data_get(&e->delete_objects, i);
- evas_object_free(obj->object, 1);
+ evas_object_free(obj->object, EINA_TRUE);
}
eina_array_clean(&e->delete_objects);
/* if we deleted no objects this frame or we deleted a lot (> 1024) then
int last_mouse_down_counter;
int last_mouse_up_counter;
-
- // Daniel: Added because the destructor can't take parameters, at least for the moment
- int clean_layer;
- int last_event;
+ int last_event_id;
Evas_Callback_Type last_event_type;
struct {
Eina_Bool efl_del_called : 1;
Eina_Bool no_render : 1; // since 1.15
Eina_Bool legacy : 1; // used legacy constructor
+ Eina_Bool clean_layer : 1; // destructor option
struct {
Eina_Bool pass_events : 1;
void evas_object_change_reset(Evas_Object *obj);
void evas_object_clip_recalc(Evas_Object_Protected_Data *obj);
void evas_object_cur_prev(Evas_Object *obj);
-void evas_object_free(Evas_Object *obj, int clean_layer);
+void evas_object_free(Evas_Object *obj, Eina_Bool clean_layer);
void evas_object_update_bounding_box(Evas_Object *obj, Evas_Object_Protected_Data *pd, Evas_Smart_Data *s);
void evas_object_inject(Evas_Object *obj, Evas_Object_Protected_Data *pd, Evas *e);
void evas_object_release(Evas_Object *obj, Evas_Object_Protected_Data *pd, int clean_layer);