diff org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/graphics/Device.d @ 113:fb3aa8075988

D2 support for the linux port.
author Jacob Carlborg <doob@me.com>
date Wed, 06 Apr 2011 21:57:23 +0200
parents b397a43d66d1
children
line wrap: on
line diff
--- a/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/graphics/Device.d	Wed Mar 16 21:53:53 2011 +0900
+++ b/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/graphics/Device.d	Wed Apr 06 21:57:23 2011 +0200
@@ -120,11 +120,13 @@
 /*
 * TEMPORARY CODE.
 */
-static synchronized Device getDevice () {
-    if (DeviceFinder !is null) DeviceFinder.run();
-    Device device = CurrentDevice;
-    CurrentDevice = null;
-    return device;
+static Device getDevice () {
+    synchronized {
+        if (DeviceFinder !is null) DeviceFinder.run();
+        Device device = CurrentDevice;
+        CurrentDevice = null;
+        return device;
+    }
 }
 
 /**
@@ -260,19 +262,23 @@
     }
 }
 
-static synchronized Device findDevice (void* xDisplay) {
-    for (int i=0; i<Devices.length; i++) {
-        Device device = Devices [i];
-        if (device !is null && device.xDisplay is xDisplay) {
-            return device;
+static Device findDevice (void* xDisplay) {
+    synchronized {
+        for (int i=0; i<Devices.length; i++) {
+            Device device = Devices [i];
+            if (device !is null && device.xDisplay is xDisplay) {
+                return device;
+            }
         }
+        return null;
     }
-    return null;
 }
 
-synchronized static void deregister (Device device) {
-    for (int i=0; i<Devices.length; i++) {
-        if (device is Devices [i]) Devices [i] = null;
+static void deregister (Device device) {
+    synchronized {   
+        for (int i=0; i<Devices.length; i++) {
+            if (device is Devices [i]) Devices [i] = null;
+        }
     }
 }
 
@@ -722,17 +728,19 @@
     }
 }
 
-static synchronized void register (Device device) {
-    for (int i=0; i<Devices.length; i++) {
-        if (Devices [i] is null) {
-            Devices [i] = device;
-            return;
+static void register (Device device) {
+    synchronized {
+        for (int i=0; i<Devices.length; i++) {
+            if (Devices [i] is null) {
+                Devices [i] = device;
+                return;
+            }
         }
+        Device [] newDevices = new Device [Devices.length + 4];
+        System.arraycopy (Devices, 0, newDevices, 0, Devices.length);
+        newDevices [Devices.length] = device;
+        Devices = newDevices;
     }
-    Device [] newDevices = new Device [Devices.length + 4];
-    System.arraycopy (Devices, 0, newDevices, 0, Devices.length);
-    newDevices [Devices.length] = device;
-    Devices = newDevices;
 }
 
 /**