[clutter/clutter-1.20] drop-action: Use the right state for events
- From: Emmanuele Bassi <ebassi src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [clutter/clutter-1.20] drop-action: Use the right state for events
- Date: Wed, 25 Jun 2014 14:25:26 +0000 (UTC)
commit 8d89294ef629b575caae06b2d29659ac7f154255
Author: Emmanuele Bassi <ebassi gnome org>
Date: Wed Jun 25 15:16:30 2014 +0100
drop-action: Use the right state for events
The 'state' field should be used for pointer events without button
information. Pointer events that have button information should use
the 'button' field.
https://bugzilla.gnome.org/show_bug.cgi?id=732143
clutter/clutter-drop-action.c | 20 +++++++++++---------
1 files changed, 11 insertions(+), 9 deletions(-)
---
diff --git a/clutter/clutter-drop-action.c b/clutter/clutter-drop-action.c
index a1a99fb..d1940dd 100644
--- a/clutter/clutter-drop-action.c
+++ b/clutter/clutter-drop-action.c
@@ -123,23 +123,25 @@ on_stage_capture (ClutterStage *stage,
gfloat event_x, event_y;
ClutterActor *actor, *drag_actor;
ClutterDropAction *drop_action;
+ ClutterInputDevice *device;
gboolean was_reactive;
switch (clutter_event_type (event))
{
case CLUTTER_MOTION:
case CLUTTER_BUTTON_RELEASE:
- {
- ClutterInputDevice *device;
+ if (clutter_event_type (event) == CLUTTER_MOTION &&
+ !(clutter_event_get_state (event) & CLUTTER_BUTTON1_MASK))
+ return CLUTTER_EVENT_PROPAGATE;
- if (!(clutter_event_get_state (event) & CLUTTER_BUTTON1_MASK))
- return CLUTTER_EVENT_PROPAGATE;
+ if (clutter_event_type (event) == CLUTTER_BUTTON_RELEASE &&
+ clutter_event_get_button (event) != CLUTTER_BUTTON_PRIMARY)
+ return CLUTTER_EVENT_PROPAGATE;
- device = clutter_event_get_device (event);
- drag_actor = _clutter_stage_get_pointer_drag_actor (stage, device);
- if (drag_actor == NULL)
- return CLUTTER_EVENT_PROPAGATE;
- }
+ device = clutter_event_get_device (event);
+ drag_actor = _clutter_stage_get_pointer_drag_actor (stage, device);
+ if (drag_actor == NULL)
+ return CLUTTER_EVENT_PROPAGATE;
break;
case CLUTTER_TOUCH_UPDATE:
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]