diff -r e5618cc85d74 -r 6c158198356e javaextensions/location/landmarks/src/landmark.cpp --- 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