diff -r bf7ee68962da -r 773449708c84 javaextensions/sensor/src.s60/csensorbase.cpp --- a/javaextensions/sensor/src.s60/csensorbase.cpp Wed Aug 18 09:43:15 2010 +0300 +++ b/javaextensions/sensor/src.s60/csensorbase.cpp Thu Sep 02 20:20:40 2010 +0300 @@ -249,14 +249,13 @@ matched = ETrue; CSensorConditionBase *condition = iConditions[i]; iConditions.Remove(i); - if (iSensorListener) - { - iSensorListener->ConditionMet( - condition, - condition->GetChannelId(), - currentValue, - javaTime); - } + + iSensorListener->ConditionMet( + condition, + condition->GetChannelId(), + currentValue, + javaTime); + delete condition; } } @@ -264,6 +263,7 @@ // Also send all values separately if we have java side custom conditions if (iJavaConditionEval) { + if (iSensorListener != NULL) iSensorListener->ConditionMet(0, aChannelId, currentValue, javaTime); } return matched;