Mercurial > projects > dwt-mac
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) {