diff dwt/internal/cocoa/OS.d @ 130:3d4579727e0e

Fixes #2 and #3
author Jacob Carlborg <doob@me.com>
date Tue, 10 Feb 2009 21:01:24 +0100
parents 38807a925e24
children 3d9eb62cd2e3
line wrap: on
line diff
--- a/dwt/internal/cocoa/OS.d	Sun Jan 18 18:39:46 2009 +0100
+++ b/dwt/internal/cocoa/OS.d	Tue Feb 10 21:01:24 2009 +0100
@@ -32,11 +32,14 @@
     NSGrooveBorder = 3
 }
 
+
+
 import dwt.dwthelper.utils;
 
 import dwt.internal.C;
 import dwt.internal.Library;
 
+import tango.core.Memory;
 import unistd = tango.stdc.posix.unistd;
 import stdc = tango.stdc.string;
 
@@ -1361,13 +1364,19 @@
 /** @method flags=jni */
 public static void* NewGlobalRef (Object object)
 {
-    return cast(void*) object;
+    auto o = cast(void*) object;
+    GC.addRoot(o);
+
+    return o;
 }
 /**
  * @method flags=jni
  * @param globalRef cast=(jobject)
  */
-//public static final void DeleteGlobalRef(void* globalRef){}
+public static void DeleteGlobalRef(void* globalRef)
+{
+    GC.removeRoot(globalRef);
+}
 /** @method flags=no_gen */
 public static Object JNIGetObject (void* globalRef)
 {