elm: simulate the clicked event over the object only.
authorSubodh Kumar <s7158.kumar@samsung.com>
Wed, 29 Jul 2015 19:18:17 +0000 (21:18 +0200)
committerCedric BAIL <cedric@osg.samsung.com>
Wed, 29 Jul 2015 19:18:20 +0000 (21:18 +0200)
Summary:
Two different behaviour are observed with clicked event.
1. When scroller is not present:
   a. Mouse down over object,
   b. mouse move outside the object
   c. mouse up, clicked happens
2. When scroller is  present:
   a. Mouse down over object,
   b. mouse move outside the object
   c. mouse up, clicked NOT happens

So clicked callback should happen over the object only i.e when mouse move out of the objcet clicked should be ignored, and behaviour will be consistent

@fix

Test Plan: NA

Reviewers: shilpasingh, cedric

Differential Revision: https://phab.enlightenment.org/D2856

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
src/lib/elm_image.c

index 17e54cc..f1b7b57 100644 (file)
@@ -67,10 +67,13 @@ _on_mouse_up(void *data,
              Evas_Object *obj EINA_UNUSED,
              void *event_info)
 {
+   ELM_WIDGET_DATA_GET_OR_RETURN(data, wd);
+
    Evas_Event_Mouse_Up *ev = event_info;
 
    if (ev->button != 1) return;
    if (ev->event_flags & EVAS_EVENT_FLAG_ON_HOLD) return;
+   if (!wd->still_in) return;
 
    eo_do(data, eo_event_callback_call(EVAS_CLICKABLE_INTERFACE_EVENT_CLICKED, NULL));
 }