* 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:
@@ -259,13 +259,6 @@ MouseDevice::_Run()
|
|||||||
|
|
||||||
// Send single messages for each event
|
// 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) {
|
if (buttons != 0) {
|
||||||
bool pressedButton = (buttons & movements.buttons) > 0;
|
bool pressedButton = (buttons & movements.buttons) > 0;
|
||||||
BMessage* message = _BuildMouseMessage(
|
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)) {
|
if ((movements.wheel_ydelta != 0) || (movements.wheel_xdelta != 0)) {
|
||||||
message = new BMessage(B_MOUSE_WHEEL_CHANGED);
|
message = new BMessage(B_MOUSE_WHEEL_CHANGED);
|
||||||
if (message == NULL)
|
if (message == NULL)
|
||||||
|
|||||||
Reference in New Issue
Block a user