Mercurial > projects > dwt-mac
comparison dwt/internal/cocoa/OS.d @ 38:198549365851
Fixed all the runtime errors, hello world app "works"
author | Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com> |
---|---|
date | Sun, 12 Oct 2008 15:26:21 +0200 |
parents | 642f460a0908 |
children | d8635bb48c7c |
comparison
equal
deleted
inserted
replaced
37:642f460a0908 | 38:198549365851 |
---|---|
33 static import dwt.internal.objc.foundation.NSGeometry; | 33 static import dwt.internal.objc.foundation.NSGeometry; |
34 static import dwt.internal.objc.foundation.NSHFSFileTypes; | 34 static import dwt.internal.objc.foundation.NSHFSFileTypes; |
35 static import dwt.internal.objc.foundation.NSRunLoop; | 35 static import dwt.internal.objc.foundation.NSRunLoop; |
36 static import dwt.internal.objc.runtime; | 36 static import dwt.internal.objc.runtime; |
37 | 37 |
38 import mambo.io; | 38 //import mambo.io; |
39 | 39 |
40 private alias dwt.internal.objc.runtime.objc_object objc_object; | 40 private alias dwt.internal.objc.runtime.objc_object objc_object; |
41 | 41 |
42 struct ClassData | 42 struct ClassData |
43 { | 43 { |
105 | 105 |
106 private static Object[] globalRefs; | 106 private static Object[] globalRefs; |
107 | 107 |
108 static Object JNIGetObject (NSInteger globalRef) | 108 static Object JNIGetObject (NSInteger globalRef) |
109 { | 109 { |
110 println("OS->JNIGetObject->globalRef=", globalRef); | 110 return cast(Object)globalRef; |
111 auto o = new Object; | |
112 o = cast(Object) globalRef; | |
113 return o; | |
114 //return globalRefs[globalRef - 1]; | |
115 } | 111 } |
116 | 112 |
117 static NSInteger NewGlobalRef (Object object) | 113 static NSInteger NewGlobalRef (Object object) |
118 { | 114 { |
119 globalRefs ~= object; | 115 return cast(NSInteger) object; |
120 return globalRefs.length; | |
121 } | 116 } |
122 | 117 |
123 static void DeleteGlobalRef (NSInteger globalRef) | 118 static void DeleteGlobalRef (NSInteger globalRef) |
124 { | 119 { |
125 globalRefs = globalRefs[0 .. remove!(Object)(globalRefs, globalRef - 1)]; | 120 //globalRefs = globalRefs[0 .. remove!(Object)(globalRefs, globalRef - 1)]; |
126 } | 121 } |
127 | 122 |
128 static size_t remove (T) (T[] arr, size_t index) | 123 static size_t remove (T) (T[] arr, size_t index) |
129 { | 124 { |
130 void exch (size_t p1, size_t p2) | 125 void exch (size_t p1, size_t p2) |