void CMMABitmapWindow::DrawFrameL(const CFbsBitmap* aBitmap) { if (iBitmap) { // leave in this function will panic thread CFbsBitmap* bitmap = new(ELeave)CFbsBitmap(); CleanupStack::PushL(bitmap); User::LeaveIfError(bitmap->Duplicate(aBitmap->Handle())); // set incoming bitmap display mode to 16MA if (EColor16MU == bitmap->DisplayMode()) { bitmap->SetDisplayMode(EColor16MA); } AknIconUtils::ScaleBitmapL(iDrawRect, iBitmap, bitmap); CleanupStack::PopAndDestroy(bitmap); } }