cedric pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=e64fa28284b4d00c90af260ea76dc3c9b7b541ec

commit e64fa28284b4d00c90af260ea76dc3c9b7b541ec
Author: Jaehyun Cho <jae_hyun....@samsung.com>
Date:   Wed Nov 16 13:22:44 2016 -0800

    efl_ui_image: guarantee user's mouse up event callback is called.
    
    Summary:
    Without propagating event by hit_rect, user's mouse up event
    callback may not be called if image file is replaced in user's mouse
    down event callback.
    
    Test Plan:
    1. Register mouse up event callback for elm_image by calling
    evas_object_event_callback_add() with EVAS_CALLBACK_MOUSE_UP.
    2. Register mouse down event callback for elm_image by calling
    evas_object_event_callback_add() with EVAS_CALLBACK_MOUSE_DOWN.
    3. Replace image file of elm_image by calling elm_image_file_set() in
    mouse down event callback.
    4. Mouse down on elm_image.
    5. Mouse up on elm_image.
    6. Since image file object is newly created in mouse down event
    callback, mouse up event is not triggered for the newly created image
    file object. As a result, mouse up event is not propagated to elm_image
    and user's mouse up callback for elm_image is not called.
    
    Reviewers: cedric, woohyun, eunue, jpeg
    
    Reviewed By: jpeg
    
    Subscribers: jpeg
    
    Differential Revision: https://phab.enlightenment.org/D4401
    
    Signed-off-by: Cedric BAIL <ced...@osg.samsung.com>
---
 src/lib/elementary/efl_ui_image.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/src/lib/elementary/efl_ui_image.c 
b/src/lib/elementary/efl_ui_image.c
index 409c4dd..f874020 100644
--- a/src/lib/elementary/efl_ui_image.c
+++ b/src/lib/elementary/efl_ui_image.c
@@ -520,7 +520,6 @@ _efl_ui_image_efl_canvas_group_group_add(Eo *obj, 
Efl_Ui_Image_Data *priv)
    priv->hit_rect = evas_object_rectangle_add(evas_object_evas_get(obj));
    evas_object_smart_member_add(priv->hit_rect, obj);
    elm_widget_sub_object_add(obj, priv->hit_rect);
-   evas_object_propagate_events_set(priv->hit_rect, EINA_FALSE);
 
    evas_object_color_set(priv->hit_rect, 0, 0, 0, 0);
    evas_object_show(priv->hit_rect);

-- 


Reply via email to