From 45f11ce801a773fb45f7893dee9dcdd2e7b985a1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stephan=20A=C3=9Fmus?= Date: Fri, 11 Jan 2008 22:25:08 +0000 Subject: [PATCH] * at least with the BeOS input_server it is important that the last B_MOUSE_MOVED message does not already contain the same buttons as a following B_MOUSE_DOWN message... fixes mouse clicks being ignored when you are moving the mouse at the same time when clicking (using Haiku's mouse input_server device on BeOS or ZETA) git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23421 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- .../devices/mouse/MouseInputDevice.cpp | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/add-ons/input_server/devices/mouse/MouseInputDevice.cpp b/src/add-ons/input_server/devices/mouse/MouseInputDevice.cpp index e9dcc63d36..2700da36f5 100644 --- a/src/add-ons/input_server/devices/mouse/MouseInputDevice.cpp +++ b/src/add-ons/input_server/devices/mouse/MouseInputDevice.cpp @@ -259,13 +259,6 @@ MouseDevice::_Run() // Send single messages for each event - if (movements.xdelta != 0 || movements.ydelta != 0) { - BMessage* message = _BuildMouseMessage(B_MOUSE_MOVED, movements.timestamp, - remappedButtons, deltaX, deltaY); - if (message != NULL) - fTarget.EnqueueMessage(message); - } - if (buttons != 0) { bool pressedButton = (buttons & movements.buttons) > 0; BMessage* message = _BuildMouseMessage( @@ -283,6 +276,13 @@ MouseDevice::_Run() } } + if (movements.xdelta != 0 || movements.ydelta != 0) { + BMessage* message = _BuildMouseMessage(B_MOUSE_MOVED, + movements.timestamp, remappedButtons, deltaX, deltaY); + if (message != NULL) + fTarget.EnqueueMessage(message); + } + if ((movements.wheel_ydelta != 0) || (movements.wheel_xdelta != 0)) { message = new BMessage(B_MOUSE_WHEEL_CHANGED); if (message == NULL)