diff -r 0b3699f6c654 -r e36b2f4799c0 activityfw/storage/server/src/afobservertask.cpp --- a/activityfw/storage/server/src/afobservertask.cpp Fri Sep 17 08:32:18 2010 +0300 +++ b/activityfw/storage/server/src/afobservertask.cpp Mon Oct 04 00:38:31 2010 +0300 @@ -79,12 +79,20 @@ * Interface implementation * @see CActivityTask::BroadcastReceivedL(const RMessage2&) */ -void CAfObserverTask::BroadcastReceivedL(const RMessage2& msg) +void CAfObserverTask::BroadcastReceivedL(const RMessage2& msg, TBool applicationUninstalled) { - if(EFalse != mMsg.IsNull()) { + if (!applicationUninstalled && mMsg.IsNull()) { mGlobalStorage.Pop(this);// mLocalStorage.Pop(this); delete this; + } else if(NotifyChange == mMsg.Function() && + (applicationUninstalled || + SaveActivity == msg.Function() || + RemoveActivity == msg.Function() || + RemoveApplicationActivities == msg.Function())){ + mMsg.Complete(KErrNone); + mGlobalStorage.Pop(this); + delete this; } else if (WaitActivity == mMsg.Function() && LaunchActivity == msg.Function()) { @@ -113,15 +121,6 @@ mGlobalStorage.Pop(this); mMsg.Complete(KErrCancel); delete this; - } else if(NotifyChange == mMsg.Function() && - (AddActivity == msg.Function() || - UpdateActivity == msg.Function() || - SaveActivity == msg.Function() || - RemoveActivity == msg.Function() || - RemoveApplicationActivities == msg.Function())){ - mMsg.Complete(KErrNone); - mGlobalStorage.Pop(this); - delete this; } }