Archived:Deleting an object of CBrCtlInterface may cause a panic (Known Issue)
Article Metadata
Tested with
Compatibility
Article
Description
Deleting an object of CBrCtlInterface when the controller is still loading a Web page can cause a Kern-Exec 3 Panic. This known issue occurs in some old S60 3rd Edition devices using the old Browser Engine (Services).
Solution
The only way to avoid the panic is to not delete the CBrCtlInterface object before the Web page has been fully loaded. If the Web page is loading when user wants to quit, open an empty Web page calling the CBrCtlInterface::LoadUrl() function and wait until the empty page has been loaded and then call AppUi::Exit(). This is done because loading an empty page is more likely faster than waiting for the current Web page to be loaded.
The MBrCtlLoadEventObserver::HandleBrowserLoadEventL function can be used to observe the state changes of the Web page loading task. For instance, the function can be used to observe when the page has been fully loaded and application closing is possible.


Calling CBrCtlInterface::HandleCommandL(iCmdIdBase + + TBrCtlDefs::ECommandCancelFetch) before deleting CBrCtlInterface instance would solve the problem. This is an alternate solution.
- Naveen Puvvula