[evas] add checking event type
authorHyoyoung Chang <hyoyoung.chang@samsung.com>
Tue, 5 Jul 2011 01:45:59 +0000 (10:45 +0900)
committerHyoyoung Chang <hyoyoung.chang@samsung.com>
Tue, 5 Jul 2011 01:45:59 +0000 (10:45 +0900)
src/lib/canvas/evas_callbacks.c
src/lib/include/evas_private.h

index 1c083bc..b87b3d8 100644 (file)
@@ -170,8 +170,10 @@ evas_object_event_callback_call(Evas_Object *obj, Evas_Callback_Type type, void
    Evas *e;
 
    if ((obj->delete_me) || (!obj->layer)) return;
-   if (obj->last_event == _evas_event_counter) return;
+   if ((obj->last_event == _evas_event_counter) &&
+       (obj->last_event_type == type)) return;
    obj->last_event = _evas_event_counter;
+   obj->last_event_type = type;
    if (!(e = obj->layer->evas)) return;
 
    _evas_walk(e);
index 99e00ef..5d3f6f7 100644 (file)
@@ -499,6 +499,7 @@ struct _Evas_Object
    int                         mouse_grabbed;
 
    int                         last_event;
+   Evas_Callback_Type          last_event_type;
    
    struct {
       int                      in_move, in_resize;