evas_event: evas_event_feed_mouse_cancel set EVAS_EVENT_FLAG_ON_HOLD
authorJi-Youn Park <jy0703.park@samsung.com>
Fri, 12 Jun 2015 14:10:07 +0000 (23:10 +0900)
committerJi-Youn Park <jy0703.park@samsung.com>
Fri, 12 Jun 2015 14:10:07 +0000 (23:10 +0900)
Evas_event_feed_mouse_cancel generates mouse up event if it meets situation witch mouse should be canceled.
but app also have to know this information. I add cancel information into evas up event generated by cancel function.
@fix

src/lib/evas/canvas/evas_events.c

index b6ef1ef..cc1769c 100644 (file)
@@ -1332,11 +1332,16 @@ _evas_canvas_event_feed_mouse_cancel(Eo *eo_e, Evas_Public_Data *e, unsigned int
 {
    Evas_Coord_Touch_Point *point;
    Eina_List *l, *ll;
+   Evas_Event_Flags flags;
    int i;
 
    if (e->is_frozen) return;
 
    _evas_walk(e);
+
+   flags = evas_event_default_flags_get(eo_e);
+   evas_event_default_flags_set(eo_e, (flags | EVAS_EVENT_FLAG_ON_HOLD));
+
    for (i = 0; i < 32; i++)
      {
         if ((e->pointer.button & (1 << i)))
@@ -1349,6 +1354,7 @@ _evas_canvas_event_feed_mouse_cancel(Eo *eo_e, Evas_Public_Data *e, unsigned int
           evas_event_feed_multi_up(eo_e, point->id, point->x, point->y,
                                    0, 0, 0, 0, 0, 0, 0, 0, timestamp, data);
      }
+   evas_event_default_flags_set(eo_e, flags);
    _evas_unwalk(e);
 }