Mac OS X: Fix bogus repeated mouse deltas when grabbed

This commit is contained in:
Elias Naur 2004-11-22 19:32:40 +00:00
parent 282ac78fc1
commit 4d0a4ac6fc
2 changed files with 11 additions and 7 deletions

View File

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

View File

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