I got quite many complaints about gpsp crashing with Sony Ericsson Satio and Vivaz. I didn’t have any clue what’s wrong with gpsp, until I found this thread in the SE Support forums. http://developer.sonyericsson.com/community/thread/50103
It turns out that the Sony Ericsson Satio and Vivaz seems to have similar issues with the Blit as Samsung i8910 with a twist: The Sony Ericsson phones just crashes when creating a CDirectScreenBitmap in different size than (0,0,360,640). We are in luck here, since I already have a blit fix that I can re-used for SE phones too!
The SE support also says that the ScreenDevice->update() must be called before the screen is actually updated. Therefore we must add that into the blit method.
1 2 3 4 5 6 7 TAcceleratedBitmapInfo bitmapInfo; iDSBitmap->BeginUpdate(bitmapInfo); bitmapdata = (TUint8*) bitmapInfo.iAddress; bitmapBlit( (TUint8*) g_screenptr, bitmapdata); iDSBitmap->EndUpdate(iStatus); SetActive(); iDirectScreenAccess->ScreenDevice()->Update(); <-- Added this line to make the drawing visible!
The update command is also required for Symbian^3 based devices, see the DSA Migration guide in forum.nokia. So this update might also give Symbian^3 support for the gpsp 🙂