diff -r e7aa27f58ae1 -r e1b6206813b4 ipsservices/ipssossettings/src/ipssetview.cpp --- a/ipsservices/ipssossettings/src/ipssetview.cpp Tue Feb 02 00:02:40 2010 +0200 +++ b/ipsservices/ipssossettings/src/ipssetview.cpp Fri Feb 19 22:37:30 2010 +0200 @@ -183,10 +183,20 @@ } else { - // go back to previous view - self->AppUi()->ActivateViewL( self->iPrevViewId, - TUid::Uid(KMailSettingsReturnFromPluginSettings), - *self->iCustomMessage ); + //check if composer is active view; needed to handle special case when email is plugin settings and composer is activated externaly + TVwsViewId aViewId; + self->AppUi()->GetActiveViewId(aViewId); + if (aViewId.iViewUid == MailEditorId ) + { + //just skip + } + else + { + // go back to previous view + self->AppUi()->ActivateViewL( self->iPrevViewId, + TUid::Uid(KMailSettingsReturnFromPluginSettings), + *self->iCustomMessage ); + } } return KErrNone; }