I have the following problem on Symbian^3 devices ( C7, N8 ).
I have an application, in which i need to be able to take pictures with the device's on board camera. The application has a view which is used to display the previously taken images ( Gallery View).
I have a separate view which is used to display the view finder image ( Camera View ). The Camera View can be accessed from the Gallery View by two ways:
1. pressing the camera button
2. selecting the "take a picture" item from the options menu.
For accessing the camera i Use CCamera, and to get view finder images i use StartViewFinderBitmapsL. When MCameraObserver2::ViewFinderReady is called on my class i get the first image from the buffer ( at index 0 ) and duplicate it's handle to a CFbsBitmap instantiated at construction time. Than the image is displayed in my controls's Draw function.
When selecting back, the CCamera instance is deleted and the Gallery View is displayed again.
When "starting" the Camera View from the options menu and going back to the Gallery View, everything works fine. When I "start" the Camera View by pressing the camera button, then going back to the Gallery View and "starting" the Camera View by pressing the camera button, only one view finder image is displayed, then it is not refreshed. The application is not freezing, and is still responsive ( my custom control reacts to pointer event and is being redrawn ). The Camera View is started by calling ProcessCommandL on my AppUi ( whit the same command id, that corresponds to the options menu item ) when the camera button is pressed.
Strangely, when the view finder image freezes and i bring up the Task List ( by pressing the menu button ) the view finder "unfreezes".
Any idea what could be the problem ?