equal
deleted
inserted
replaced
18 package javax.microedition.m3g; |
18 package javax.microedition.m3g; |
19 |
19 |
20 import java.lang.ref.WeakReference; |
20 import java.lang.ref.WeakReference; |
21 import java.util.Hashtable; |
21 import java.util.Hashtable; |
22 import org.eclipse.swt.widgets.Display; |
22 import org.eclipse.swt.widgets.Display; |
23 #ifdef RD_JAVA_OMJ |
23 //#ifdef RD_JAVA_OMJ |
24 import com.nokia.mj.impl.rt.support.Finalizer; |
24 import com.nokia.mj.impl.rt.support.Finalizer; |
25 #endif // RD_JAVA_OMJ |
25 //#endif // RD_JAVA_OMJ |
26 |
26 |
27 /** |
27 /** |
28 * M3G interface object. An interface is automatically created for |
28 * M3G interface object. An interface is automatically created for |
29 * each MIDlet using the 3D API to keep track of Java-side object |
29 * each MIDlet using the 3D API to keep track of Java-side object |
30 * lifetimes etc. |
30 * lifetimes etc. |
96 * Flag for native peer init state |
96 * Flag for native peer init state |
97 */ |
97 */ |
98 private boolean iNativeInitialized = false; |
98 private boolean iNativeInitialized = false; |
99 |
99 |
100 |
100 |
101 #ifdef RD_JAVA_OMJ |
101 //#ifdef RD_JAVA_OMJ |
102 private Finalizer mFinalizer; |
102 private Finalizer mFinalizer; |
103 #endif // RD_JAVA_OMJ |
103 //#endif // RD_JAVA_OMJ |
104 |
104 |
105 //------------------------------------------------------------------ |
105 //------------------------------------------------------------------ |
106 // Constructors |
106 // Constructors |
107 //------------------------------------------------------------------ |
107 //------------------------------------------------------------------ |
108 |
108 |
110 { |
110 { |
111 |
111 |
112 // Contruct native peer |
112 // Contruct native peer |
113 initNativePeer(); |
113 initNativePeer(); |
114 |
114 |
115 #ifdef RD_JAVA_OMJ |
115 //#ifdef RD_JAVA_OMJ |
116 mFinalizer = new Finalizer() |
116 mFinalizer = new Finalizer() |
117 { |
117 { |
118 public void finalizeImpl() |
118 public void finalizeImpl() |
119 { |
119 { |
120 doFinalize(); |
120 doFinalize(); |
121 } |
121 } |
122 }; |
122 }; |
123 #else // RD_JAVA_OMJ |
123 //#else // RD_JAVA_OMJ |
124 Platform.registerFinalizer(this); |
124 // Platform.registerFinalizer(this); |
125 #endif // RD_JAVA_OMJ |
125 //#endif // RD_JAVA_OMJ |
126 } |
126 } |
127 |
127 |
128 //------------------------------------------------------------------ |
128 //------------------------------------------------------------------ |
129 // Package methods |
129 // Package methods |
130 //------------------------------------------------------------------ |
130 //------------------------------------------------------------------ |
364 return false; |
364 return false; |
365 } |
365 } |
366 } |
366 } |
367 |
367 |
368 |
368 |
369 #ifdef RD_JAVA_OMJ |
369 //#ifdef RD_JAVA_OMJ |
370 private void doFinalize() |
370 private void doFinalize() |
371 { |
371 { |
372 if (mFinalizer != null) |
372 if (mFinalizer != null) |
373 { |
373 { |
374 registeredFinalize(); |
374 registeredFinalize(); |
375 mFinalizer = null; |
375 mFinalizer = null; |
376 } |
376 } |
377 } |
377 } |
378 #endif // RD_JAVA_OMJ |
378 //#endif // RD_JAVA_OMJ |
379 |
379 |
380 // Native finalization hook, for Symbian only |
380 // Native finalization hook, for Symbian only |
381 final private void registeredFinalize() |
381 final private void registeredFinalize() |
382 { |
382 { |
383 if (Interface.instance != null) |
383 if (Interface.instance != null) |