diff -r 59b3b4473dc8 -r 0ea12c182930 javaextensions/sensor/src.s60/csensorbase.cpp --- a/javaextensions/sensor/src.s60/csensorbase.cpp Thu Aug 05 16:07:57 2010 +0300 +++ b/javaextensions/sensor/src.s60/csensorbase.cpp Mon Aug 23 14:24:31 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;