javauis/m3g_qt/javasrc/javax/microedition/m3g/Interface.java
branchGCC_SURGE
changeset 40 c6043ea9b06a
parent 21 2a9601315dfc
parent 35 85266cc22c7f
equal deleted inserted replaced
38:854be117f6a5 40:c6043ea9b06a
    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)