javaextensions/location/landmarks/src/landmark.cpp
branchRCL_3
changeset 60 6c158198356e
parent 24 0fd27995241b
--- a/javaextensions/location/landmarks/src/landmark.cpp	Thu Jul 15 18:31:06 2010 +0300
+++ b/javaextensions/location/landmarks/src/landmark.cpp	Thu Aug 19 09:48:13 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