Mac OS X: Fix bogus repeated mouse deltas when grabbed
This commit is contained in:
parent
282ac78fc1
commit
4d0a4ac6fc
|
@ -211,7 +211,6 @@ final class MacOSXDisplay implements DisplayImplementation {
|
|||
GL11.glViewport(0, 0, frame.getCanvas().syncGetWidth(), frame.getCanvas().syncGetHeight());
|
||||
warpCursor();
|
||||
}
|
||||
mouse_queue.updateDeltas();
|
||||
}
|
||||
|
||||
private void warpCursor() {
|
||||
|
|
|
@ -185,7 +185,6 @@ final class MouseEventQueue extends EventQueue implements MouseListener, MouseMo
|
|||
}
|
||||
|
||||
public void mousePressed(MouseEvent e) {
|
||||
updateDeltas();
|
||||
handleButton(e);
|
||||
}
|
||||
|
||||
|
@ -195,16 +194,23 @@ final class MouseEventQueue extends EventQueue implements MouseListener, MouseMo
|
|||
}
|
||||
|
||||
public void mouseReleased(MouseEvent e) {
|
||||
updateDeltas();
|
||||
handleButton(e);
|
||||
}
|
||||
|
||||
private void handleMotion(MouseEvent e) {
|
||||
if (grabbed) {
|
||||
updateDeltas();
|
||||
} else {
|
||||
setCursorPos(e.getX(), e.getY());
|
||||
}
|
||||
}
|
||||
|
||||
public void mouseDragged(MouseEvent e) {
|
||||
setCursorPos(e.getX(), e.getY());
|
||||
handleMotion(e);
|
||||
}
|
||||
|
||||
public void mouseMoved(MouseEvent e) {
|
||||
setCursorPos(e.getX(), e.getY());
|
||||
handleMotion(e);
|
||||
}
|
||||
|
||||
private synchronized void handleWheel(int amount) {
|
||||
|
@ -212,7 +218,7 @@ final class MouseEventQueue extends EventQueue implements MouseListener, MouseMo
|
|||
putMouseEvent(-1, 0, amount);
|
||||
}
|
||||
|
||||
public void updateDeltas() {
|
||||
private void updateDeltas() {
|
||||
if (!grabbed)
|
||||
return;
|
||||
synchronized (this) {
|
||||
|
@ -229,7 +235,6 @@ final class MouseEventQueue extends EventQueue implements MouseListener, MouseMo
|
|||
|
||||
public void mouseWheelMoved(MouseWheelEvent e) {
|
||||
int wheel_amount = -e.getWheelRotation()*WHEEL_SCALE;
|
||||
updateDeltas();
|
||||
handleWheel(wheel_amount);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue