forked from enlightenment/efl
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 <cedric@osg.samsung.com>
This commit is contained in:
parent
16cb5f7af9
commit
e64fa28284
|
@ -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);
|
||||
|
|
Loading…
Reference in New Issue