summaryrefslogtreecommitdiff
path: root/src/modules/ecore_evas/engines/x/ecore_evas_x.c
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/modules/ecore_evas/engines/x/ecore_evas_x.c
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 '')
-rw-r--r--src/modules/ecore_evas/engines/x/ecore_evas_x.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/modules/ecore_evas/engines/x/ecore_evas_x.c b/src/modules/ecore_evas/engines/x/ecore_evas_x.c
index eb545a256a..5730037e11 100644
--- a/src/modules/ecore_evas/engines/x/ecore_evas_x.c
+++ b/src/modules/ecore_evas/engines/x/ecore_evas_x.c
@@ -4185,8 +4185,9 @@ _ecore_evas_x_dnd_position(void *udata EINA_UNUSED, int type EINA_UNUSED, void *
4185 ee = ecore_event_window_match(pos->win); 4185 ee = ecore_event_window_match(pos->win);
4186 EINA_SAFETY_ON_NULL_GOTO(ee, end); 4186 EINA_SAFETY_ON_NULL_GOTO(ee, end);
4187 ecore_evas_geometry_get(ee, &x, &y, &w, &h); 4187 ecore_evas_geometry_get(ee, &x, &y, &w, &h);
4188 ecore_evas_dnd_position_set(ee, 1, EINA_POSITION2D(pos->position.x - x, pos->position.y - y)); 4188 Eina_Bool used = ecore_evas_dnd_position_set(ee, 1, EINA_POSITION2D(pos->position.x - x, pos->position.y - y));
4189 ecore_x_dnd_send_status(EINA_TRUE, EINA_FALSE, (Ecore_X_Rectangle){x,y,w,h}, pos->action); 4189 if (used)
4190 ecore_x_dnd_send_status(EINA_TRUE, EINA_FALSE, (Ecore_X_Rectangle){x,y,w,h}, pos->action);
4190end: 4191end:
4191 return ECORE_CALLBACK_PASS_ON; 4192 return ECORE_CALLBACK_PASS_ON;
4192} 4193}