changeset 125:00f8787f4742

Fix: compile errors
author Frank Benoit <benoit@tionex.de>
date Sun, 17 Aug 2008 01:29:36 +0200
parents 980dbedc42d4
children 3d684126a966
files dwtx/core/internal/runtime/RuntimeLog.d
diffstat 1 files changed, 19 insertions(+), 11 deletions(-) [+]
line wrap: on
line diff
--- a/dwtx/core/internal/runtime/RuntimeLog.d	Sat Aug 16 22:31:55 2008 +0200
+++ b/dwtx/core/internal/runtime/RuntimeLog.d	Sun Aug 17 01:29:36 2008 +0200
@@ -19,6 +19,7 @@
 import dwtx.core.runtime.ILogListener;
 import dwtx.core.runtime.IStatus;
 import dwtx.core.runtime.OperationCanceledException;
+import dwtx.core.internal.runtime.IRuntimeConstants;
 
 /**
  * NOT API!!!  This log infrastructure was split from the InternalPlatform.
@@ -28,7 +29,7 @@
 // XXX this must be removed and replaced with something more reasonable
 public final class RuntimeLog {
 
-    private static ArrayList logListeners = new ArrayList(5);
+    private static ArrayList logListeners;
 
     /**
      * Keep the messages until the first log listener is registered.
@@ -36,7 +37,12 @@
      * all status messages accumulated during the period when no log
      * listener was available.
      */
-    private static ArrayList queuedMessages = new ArrayList(5);
+    private static ArrayList queuedMessages;
+
+    static this(){
+        logListeners = new ArrayList(5);
+        queuedMessages = new ArrayList(5);
+    }
 
     /**
      * See dwtx.core.runtime.Platform#addLogListener(ILogListener)
@@ -46,8 +52,8 @@
             bool firstListener = (logListeners.size() is 0);
             // replace if already exists (Set behaviour but we use an array
             // since we want to retain order)
-            logListeners.remove(listener);
-            logListeners.add(listener);
+            logListeners.remove(cast(Object)listener);
+            logListeners.add(cast(Object)listener);
             if (firstListener) {
                 for (Iterator i = queuedMessages.iterator(); i.hasNext();) {
                     try {
@@ -55,8 +61,9 @@
                         listener.logging(recordedMessage, IRuntimeConstants.PI_RUNTIME);
                     } catch (Exception e) {
                         handleException(e);
-                    } catch (LinkageError e) {
-                        handleException(e);
+// DWT Fixme
+//                     } catch (LinkageError e) {
+//                         handleException(e);
                     }
                 }
                 queuedMessages.clear();
@@ -69,7 +76,7 @@
      */
     public static void removeLogListener(ILogListener listener) {
         synchronized (logListeners) {
-            logListeners.remove(listener);
+            logListeners.remove(cast(Object)listener);
         }
     }
 
@@ -78,7 +85,7 @@
      */
     public static bool contains(ILogListener listener) {
         synchronized (logListeners) {
-            return logListeners.contains(listener);
+            return logListeners.contains(cast(Object)listener);
         }
     }
 
@@ -91,7 +98,7 @@
         synchronized (logListeners) {
             listeners = arraycast!(ILogListener)( logListeners.toArray());
             if (listeners.length is 0) {
-                queuedMessages.add(status);
+                queuedMessages.add(cast(Object)status);
                 return;
             }
         }
@@ -100,8 +107,9 @@
                 listeners[i].logging(status, IRuntimeConstants.PI_RUNTIME);
             } catch (Exception e) {
                 handleException(e);
-            } catch (LinkageError e) {
-                handleException(e);
+// DWT Fixme
+//             } catch (LinkageError e) {
+//                 handleException(e);
             }
         }
     }