photosgallery/viewframework/medialists/src/glximagereader.cpp
changeset 4 57d388cc48c1
parent 2 7d9067c6fcb1
child 9 6b87b143d312
--- a/photosgallery/viewframework/medialists/src/glximagereader.cpp	Tue Jan 26 11:58:28 2010 +0200
+++ b/photosgallery/viewframework/medialists/src/glximagereader.cpp	Tue Feb 02 00:10:37 2010 +0200
@@ -98,7 +98,6 @@
     TRACER("CGlxImageReader::ConstructL");
 
     CActiveScheduler::Add(this);
-    iIsLaunchedFromFMngr = EFalse;
 
     iImgViewerMgr = CGlxImageViewerManager::InstanceL();
     if (!iImgViewerMgr)
@@ -106,32 +105,34 @@
         return;
         }
 
+    TInt errInImage = KErrNone;
     if (iImgViewerMgr->IsPrivate())
         {
-        iIsLaunchedFromFMngr = ETrue;
-        }
-
-    TInt errInImage = KErrNone;
-    if (iIsLaunchedFromFMngr)
-        {
-        // TODO type cast handle to RFile
-        TRAP(errInImage,iImageDecoder = CImageDecoder::FileNewL(iImgViewerMgr->ImageFileHandle(), ContentAccess::EPeek));
+        if ( &(iImgViewerMgr->ImageFileHandle()) != NULL )
+            {
+            TRAP(errInImage,iImageDecoder = CImageDecoder::FileNewL(iImgViewerMgr->ImageFileHandle(), ContentAccess::EPeek));
+            }
         }
     else
         {
-        TRAP(errInImage,iImageDecoder = CImageDecoder::FileNewL(CCoeEnv::Static()->FsSession(), iImgViewerMgr->ImageUri()->Des()));
+        if ( iImgViewerMgr->ImageUri() != NULL )
+            {
+            TRAP(errInImage,iImageDecoder = CImageDecoder::FileNewL(CCoeEnv::Static()->FsSession(), iImgViewerMgr->ImageUri()->Des()));
+            }
         }
-
     if (errInImage != KErrNone)
         {
         User::Leave(errInImage);
         }
-    iFrame = new (ELeave) CFbsBitmap();
-    iFrame->Create(iImageDecoder->FrameInfo(0).iOverallSizeInPixels,
-            iImageDecoder->FrameInfo(0).iFrameDisplayMode);
-    iImageDecoder->Convert(&iStatus, *iFrame, 0);
 
-    SetActive();
+    if ( iImageDecoder )
+        {
+        iFrame = new (ELeave) CFbsBitmap();
+        iFrame->Create(iImageDecoder->FrameInfo(0).iOverallSizeInPixels,
+                iImageDecoder->FrameInfo(0).iFrameDisplayMode);
+        iImageDecoder->Convert(&iStatus, *iFrame, 0);
+        SetActive();
+        }
     }
 
 
@@ -160,7 +161,7 @@
         size = iFrame->SizeInPixels();
         }
     GLX_DEBUG2("CGlxImageReader::RunL() reqStatus=%d", reqStatus);   
-    iNotify.ImageReadyL(reqStatus, size);
+    iNotify.ImageSizeReady(reqStatus, size);
     }
 // ---------------------------------------------------------
 // CGlxImageReader::GetDRMRightsL
@@ -173,15 +174,20 @@
     TInt value = KErrNone;
     TInt error = KErrNone;
     CContent* content = NULL;
-    if(iIsLaunchedFromFMngr)
+    if(iImgViewerMgr->IsPrivate())
         {
-        content = CContent::NewLC(iImgViewerMgr->ImageFileHandle());    
+        if ( &(iImgViewerMgr->ImageFileHandle()) != NULL )
+            {
+            content = CContent::NewLC(iImgViewerMgr->ImageFileHandle());
+            }
         }
     else
         {
-        content = CContent::NewLC(iImgViewerMgr->ImageUri()->Des());
+        if ( iImgViewerMgr->ImageUri() != NULL )
+            {
+            content = CContent::NewLC(iImgViewerMgr->ImageUri()->Des());
+            }
         }
-
     __ASSERT_ALWAYS(content, Panic(EGlxPanicNullPointer));
     error = content->GetAttribute(aAttribute, value);
     CleanupStack::PopAndDestroy( content );