javaextensions/location/landmarks/src/landmark.cpp
changeset 50 023eef975703
parent 23 98ccebc37403
--- a/javaextensions/location/landmarks/src/landmark.cpp	Tue Jul 06 20:36:19 2010 +0300
+++ b/javaextensions/location/landmarks/src/landmark.cpp	Fri Jul 09 16:35:45 2010 +0300
@@ -457,6 +457,11 @@
     return error;
 }
 
+LOCAL_C void dispose(CBase* aLandmark)
+{
+    delete aLandmark;
+}
+
 /*
  * Class:     javax_microedition_location_Landmark
  * Method:    _dispose
@@ -466,14 +471,15 @@
 JNICALL Java_javax_microedition_location_Landmark__1dispose(
     JNIEnv* /*aJniEnv*/,
     jobject /*aPeer*/,
-    jint /*aEventSourceHandle*/,
+    jint aEventSourceHandle,
     jint aLandmarkHandle)
 {
     JELOG2(EJavaLocation);
-
+    LocationFunctionServer* eventSource =
+        reinterpret_cast< LocationFunctionServer*>(aEventSourceHandle);
+    
     CBase* object = reinterpret_cast< CBase*>(aLandmarkHandle);
-
-    delete object;
+    eventSource->ExecuteTrap(dispose,object);
 }
 
 // End of file