Elm glayer: Fixed bug of starting line,momentum with mouse-move

Signed-off-by: Aharon Hillel <a.hillel@partner.samsung.com>

SVN revision: 64868
This commit is contained in:
Aharon Hillel 2011-11-07 14:31:25 +00:00 committed by Tom Hacohen
parent a6280661f1
commit 042e958aa7
1 changed files with 16 additions and 3 deletions

View File

@ -328,9 +328,16 @@ _add_touched_device(Eina_List *list, Pointer_Event *pe)
return list;
}
p = malloc(sizeof(Pointer_Event));
memcpy(p, pe, sizeof(Pointer_Event)); /* Freed in _remove_touched_device() */
return eina_list_append(list, p);
if ((pe->event_type == EVAS_CALLBACK_MOUSE_DOWN) ||
(pe->event_type == EVAS_CALLBACK_MULTI_DOWN))
{ /* Add touched device on DOWN event only */
p = malloc(sizeof(Pointer_Event));
/* Freed in _remove_touched_device() */
memcpy(p, pe, sizeof(Pointer_Event));
return eina_list_append(list, p);
}
return list;
}
/* END - Functions to manage touched-device list */
@ -1709,6 +1716,9 @@ _momentum_test(Evas_Object *obj, Pointer_Event *pe,
Gesture_Info *gesture = wd->gesture[g_type];
if (!gesture ) return;
if (!eina_list_count(wd->touched))
return; /* Got move on mouse-over move */
Momentum_Type *st = gesture->data;
Elm_Gesture_State state_to_report = ELM_GESTURE_STATE_MOVE;
if (!st)
@ -1957,6 +1967,9 @@ _n_line_test(Evas_Object *obj, Pointer_Event *pe, void *event_info,
Gesture_Info *gesture = wd->gesture[g_type];
if (!gesture ) return;
if (!eina_list_count(wd->touched))
return; /* Got move on mouse-over move */
Line_Type *st = gesture->data;
if (!st)
{