* 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
This commit is contained in:
Stephan Aßmus 2008-01-11 22:25:08 +00:00
parent fac155d491
commit 45f11ce801

View File

@ -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)