aboutsummaryrefslogtreecommitdiffstats
path: root/src/newt/classes/jogamp/newt/driver/linux/LinuxMouseTracker.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/newt/classes/jogamp/newt/driver/linux/LinuxMouseTracker.java')
-rw-r--r--src/newt/classes/jogamp/newt/driver/linux/LinuxMouseTracker.java24
1 files changed, 11 insertions, 13 deletions
diff --git a/src/newt/classes/jogamp/newt/driver/linux/LinuxMouseTracker.java b/src/newt/classes/jogamp/newt/driver/linux/LinuxMouseTracker.java
index c49defe11..4f9bce88e 100644
--- a/src/newt/classes/jogamp/newt/driver/linux/LinuxMouseTracker.java
+++ b/src/newt/classes/jogamp/newt/driver/linux/LinuxMouseTracker.java
@@ -57,22 +57,18 @@ import com.jogamp.newt.event.WindowUpdateEvent;
*/
public class LinuxMouseTracker implements WindowListener, MouseTracker {
- private static final boolean DISABLE;
- private static final LinuxMouseTracker lmt;
+ private static final boolean DISABLE = PropertyAccess.isPropertyDefined("newt.disable.LinuxMouseTracker", true);
+ private static LinuxMouseTracker lmt = null;
- static {
- DISABLE = PropertyAccess.isPropertyDefined("newt.disable.LinuxMouseTracker", true);
+ public static synchronized LinuxMouseTracker getSingleton() {
if(!DISABLE) {
- lmt = new LinuxMouseTracker();
- final Thread t = new InterruptSource.Thread(null, lmt.mouseDevicePoller, "NEWT-MouseTracker");
- t.setDaemon(true);
- t.start();
- } else {
- lmt = null;
+ if( null == lmt ) {
+ lmt = new LinuxMouseTracker();
+ final Thread t = new InterruptSource.Thread(null, lmt.mouseDevicePoller, "NEWT-MouseTracker");
+ t.setDaemon(true);
+ t.start();
+ }
}
- }
-
- public static LinuxMouseTracker getSingleton() {
return lmt;
}
@@ -88,6 +84,8 @@ public class LinuxMouseTracker implements WindowListener, MouseTracker {
private WindowImpl focusedWindow = null;
private final MouseDevicePoller mouseDevicePoller = new MouseDevicePoller();
+ private LinuxMouseTracker() {}
+
public final int getLastX() { return lastFocusedX; }
public final int getLastY() { return lastFocusedY; }