summaryrefslogtreecommitdiff
path: root/src/lib/elementary
diff options
context:
space:
mode:
authorMarcel Hollerbach <mail@marcel-hollerbach.de>2020-04-14 11:29:43 -0400
committerMike Blumenkrantz <zmike@samsung.com>2020-04-14 11:29:43 -0400
commit0a2db329c8c92500bb9fa7b0289da61fb74d0dc3 (patch)
tree578a75ac8f70fdc501305e2eeba50e5f9ccc7cfe /src/lib/elementary
parentf2ed538d41c8ce8b25430dd209770e6dc1b133af (diff)
ecore_evas: add API for finding out if event is used
Summary: ecore_x_dnd_send_status can be used to indicate if a item can be dropped on a client or not. However, we should only indicate that this can be dropped, if there is a object we signaled that a drop is in. Long story short: there is no assertion that after indicating that things can be dropped, that a notify for the data is sent. A drag implementation should always listen to a mouse up event, and abort the drag if no further operations are sent. Depends on D11698 Reviewers: zmike, stefan_schmidt, raster Reviewed By: zmike Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D11699
Diffstat (limited to 'src/lib/elementary')
-rw-r--r--src/lib/elementary/efl_ui_win.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/lib/elementary/efl_ui_win.c b/src/lib/elementary/efl_ui_win.c
index 0f5bbdbc25..0c1e960ce5 100644
--- a/src/lib/elementary/efl_ui_win.c
+++ b/src/lib/elementary/efl_ui_win.c
@@ -9268,15 +9268,18 @@ _motion_cb(Ecore_Evas *ee, unsigned int seat, Eina_Position2D p)
9268 { 9268 {
9269 target->currently_inside = EINA_FALSE; 9269 target->currently_inside = EINA_FALSE;
9270 efl_event_callback_call(target->obj, EFL_UI_DND_EVENT_DROP_LEFT, &ev); 9270 efl_event_callback_call(target->obj, EFL_UI_DND_EVENT_DROP_LEFT, &ev);
9271 ecore_evas_dnd_mark_motion_used(ee, seat);
9271 } 9272 }
9272 else if (!target->currently_inside && inside) 9273 else if (!target->currently_inside && inside)
9273 { 9274 {
9274 target->currently_inside = EINA_TRUE; 9275 target->currently_inside = EINA_TRUE;
9275 efl_event_callback_call(target->obj, EFL_UI_DND_EVENT_DROP_ENTERED, &ev); 9276 efl_event_callback_call(target->obj, EFL_UI_DND_EVENT_DROP_ENTERED, &ev);
9277 ecore_evas_dnd_mark_motion_used(ee, seat);
9276 } 9278 }
9277 else if (target->currently_inside && inside) 9279 else if (target->currently_inside && inside)
9278 { 9280 {
9279 efl_event_callback_call(target->obj, EFL_UI_DND_EVENT_DROP_POSITION_CHANGED, &ev); 9281 efl_event_callback_call(target->obj, EFL_UI_DND_EVENT_DROP_POSITION_CHANGED, &ev);
9282 ecore_evas_dnd_mark_motion_used(ee, seat);
9280 } 9283 }
9281 eina_accessor_free(ev.available_types); 9284 eina_accessor_free(ev.available_types);
9282 } 9285 }