--- a/mobilemessaging/unieditor/application/src/UniEditorLaunchOperation.cpp Wed Sep 15 12:08:45 2010 +0300
+++ b/mobilemessaging/unieditor/application/src/UniEditorLaunchOperation.cpp Wed Oct 13 14:27:34 2010 +0300
@@ -402,9 +402,13 @@
//
void CUniEditorLaunchOperation::DoPrepareHeaderL()
{
- // Header is always drawn and populated
- iHeader = CUniEditorHeader::NewL( iDocument.Mtm(), iDocument, iView, iFs );
- CompleteSelf( KErrNone );
+ if(!iHeader)
+ {
+ // Header is always drawn and populated
+ iHeader = CUniEditorHeader::NewL( iDocument.Mtm(), iDocument, iView, iFs );
+ }
+ if(!iOptimizedFlow)
+ CompleteSelf( KErrNone );
}
// ---------------------------------------------------------
@@ -413,21 +417,28 @@
//
void CUniEditorLaunchOperation::DoPrepareBodyL()
{
- iSlideLoader = CUniSlideLoader::NewL(
- iControlObserver,
- *iDocument.DataModel(),
- iView,
- EUniControlEditorMode );
-
+ if(!iSlideLoader)
+ {
+ iSlideLoader = CUniSlideLoader::NewL(
+ iControlObserver,
+ *iDocument.DataModel(),
+ iView,
+ EUniControlEditorMode );
+ }
+
if ( iDocument.DataModel()->SmilType() == EMmsSmil )
{
- if ( !iDocument.DataModel()->SmilModel().SlideCount() )
+ if(!iOptimizedFlow)
{
- iDocument.DataModel()->SmilModel().AddSlideL();
+ if ( !iDocument.DataModel()->SmilModel().SlideCount() )
+ {
+ iDocument.DataModel()->SmilModel().AddSlideL();
+ }
+
+ iSlideLoader->LoadSlideL( *this, 0 );
+
+ SetPending();
}
-
- iSlideLoader->LoadSlideL( *this, 0 );
- SetPending();
}
else
{
@@ -619,6 +630,8 @@
iOptimizedFlow = iSendUiOperation->IsOptimizedFlagSet();
if(iOptimizedFlow)
{
+ DoPrepareHeaderL();
+ DoPrepareBodyL();
iObserver.EditorOperationEvent(
EUniEditorOperationLaunch,
EUniEditorOperationComplete );