iOS - Re-creating Ogre fail

Discussion of issues specific to mobile platforms such as iOS, Android, Symbian and Meego.
Post Reply
sfabien
Gnoblar
Posts: 8
Joined: Wed Nov 18, 2009 4:46 pm

iOS - Re-creating Ogre fail

Post by sfabien »

Hi everybody,

I use Ogre 1.9 (branch 1.9 on mercurial) on an iPad (4th, GLES2) in an external view (using createRenderWindow with miscparams, getWindowHandle, getViewControllerHandle, getViewHandle, etc.).

This view is in a UINavigationController hierarchy : The view is pop-ed and push-ed. I am not sure whether this view may be deleted by iOS when hidden.

Anyway, Ogre works well the first time the view appear. When this view is hidden, i - explicitly - delete the Ogre objects, and i re-create those objects when the view appears again. It is exactly the same code each times the view appears.

However, on the second time the view appear, the screen stays black (No errors, the log is as usual). By removing the "delete ogre_root" in my code, ogre works again each times the view appears ... However, memory leaks obviously and after 10 or more displays, the application crash. After some coarse debugging, i discovered that by disabling calls to the uninstall function of the glesv2plugin, the "delete ogre_root" is OK. It seems that the destruction of the Gles2Renderer disable the possibility to create a valid ogre object after.

Any idea ?

Thanks
Post Reply