jpeg pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=e3b8bcc7710e489021b10374c7dddde877212749
commit e3b8bcc7710e489021b10374c7dddde877212749 Author: Jean-Philippe Andre <[email protected]> Date: Fri Dec 16 14:35:52 2016 +0900 evas: Change int into a single bit clean_layer is a bool --- src/lib/evas/canvas/evas_callbacks.c | 6 +++--- src/lib/evas/canvas/evas_layer.c | 2 +- src/lib/evas/canvas/evas_object_main.c | 4 ++-- src/lib/evas/canvas/evas_render.c | 2 +- src/lib/evas/include/evas_private.h | 8 +++----- 5 files changed, 10 insertions(+), 12 deletions(-) diff --git a/src/lib/evas/canvas/evas_callbacks.c b/src/lib/evas/canvas/evas_callbacks.c index 3487543..f67b0c2 100644 --- a/src/lib/evas/canvas/evas_callbacks.c +++ b/src/lib/evas/canvas/evas_callbacks.c @@ -324,9 +324,9 @@ evas_object_event_callback_call(Evas_Object *eo_obj, Evas_Object_Protected_Data 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) && @@ -335,7 +335,7 @@ evas_object_event_callback_call(Evas_Object *eo_obj, Evas_Object_Protected_Data return; } } - obj->last_event = event_id; + obj->last_event_id = event_id; obj->last_event_type = type; if (!(e = obj->layer->evas)) return; diff --git a/src/lib/evas/canvas/evas_layer.c b/src/lib/evas/canvas/evas_layer.c index 3c0a23e..7d29a58 100644 --- a/src/lib/evas/canvas/evas_layer.c +++ b/src/lib/evas/canvas/evas_layer.c @@ -116,7 +116,7 @@ evas_layer_free_objects(Evas_Layer *lay) EINA_INLIST_FREE(lay->objects, obj) { - evas_object_free(obj->object, 0); + evas_object_free(obj->object, EINA_FALSE); } } diff --git a/src/lib/evas/canvas/evas_object_main.c b/src/lib/evas/canvas/evas_object_main.c index 795ac3f..a030505 100644 --- a/src/lib/evas/canvas/evas_object_main.c +++ b/src/lib/evas/canvas/evas_object_main.c @@ -404,11 +404,11 @@ evas_object_cur_prev(Evas_Object *eo_obj) } 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; diff --git a/src/lib/evas/canvas/evas_render.c b/src/lib/evas/canvas/evas_render.c index a3b4a14..e49bbbd 100644 --- a/src/lib/evas/canvas/evas_render.c +++ b/src/lib/evas/canvas/evas_render.c @@ -3368,7 +3368,7 @@ evas_render_updates_internal(Evas *eo_e, 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 diff --git a/src/lib/evas/include/evas_private.h b/src/lib/evas/include/evas_private.h index 2d8bd34..25e7a7d 100644 --- a/src/lib/evas/include/evas_private.h +++ b/src/lib/evas/include/evas_private.h @@ -1154,10 +1154,7 @@ struct _Evas_Object_Protected_Data 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 { @@ -1204,6 +1201,7 @@ struct _Evas_Object_Protected_Data 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; @@ -1586,7 +1584,7 @@ Evas_Object *evas_object_new(Evas *e); 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); --
