diff -r 35baca0e7a2e -r 023eef975703 javaextensions/location/landmarks/src/landmark.cpp --- 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