Hello,
i try to convert a downloaded jpeg image to a bitmap with
CBufferedImageDecoder. I use this code:
if (isLast) {
CFbsBitmap *iBitmap = NULL;
HBufC* textResource = StringLoader::LoadLC( R_WEBCLIENT_BODY_RECEIVED );
iObserver.ClientEvent( *textResource );
CleanupStack::PopAndDestroy( textResource );
iBitmap = new CFbsBitmap();
if(!iBitmap) {
idecoder->Cancel();
delete idecoder;
break;
}
iFrameInfo = idecoder->FrameInfo(0);
iFrameInfo.iFrameDisplayMode = EColor256; //EColor64K;
TInt err = iBitmap->Create(iFrameInfo.iOverallSizeInPixels, iFrameInfo.iFrameDisplayMode);
if(err == KErrNone) {
TRequestStatus aRequestStatus;
/*
CreateWindowL();
SetExtentToWholeScreen(); // Take the whole screen into use
ActivateL();
*/
TBool retc = idecoder->IsImageHeaderProcessingComplete();
if(retc == EFalse)
break;
retc = idecoder->ValidDecoder();
if(retc == EFalse)
break;
// Decode as bitmap.
idecoder->Convert(&aRequestStatus, *iBitmap, 0);
User::WaitForAnyRequest();
// User::WaitForRequest(aRequestStatus);
while(1) {};
// ActivateL();
}
If i enable WaitforAnyRequest the ImageDecoder iState shows EStateConverting,
but WaitForRequest never returns.
Please any idea ?