"We offer new support options and therefor the forums are now in read-only mode! Please check out our Support Center for more information." - Vuforia Engine Team

Best way to invoke another viewcontroller from EAGLView thread

What is the recommended way to invoke another viewController from the AR View, eg after after a target is tracked.

For example I have put the ARView in a tab based app. Changing tabs works fine when doing it via the UI but if I want to do it programmatically from the ARView I very often experience the QCARUtils hangs:

 

2012-11-12 22:58:50.933 SpikedReality_v2[15720:907] <0x1dd75040 ARViewController.mm:(124)> ARVC: viewDidDisappear2012-11-12 22:58:50.935 SpikedReality_v2[15720:907] <0x1ddbcc00 QCARutils.mm:(235)> QCARutils onPause()2012-11-12 22:58:50.936 SpikedReality_v2[15720:907] <0x1ddbcc00 QCARutils.mm:(332)> APPSTATUS_CAMERA_STOPPED

 

and then it just hangs in the mainthread locking up the enture gui:

QCAR::onPause();

Other times it works fine:

 

012-11-12 23:03:28.581 SpikedReality_v2[15763:907] <0x2109c980 ARViewController.mm:(124)> ARVC: viewDidDisappear2012-11-12 23:03:28.582 SpikedReality_v2[15763:907] <0x21049fe0 QCARutils.mm:(235)> QCARutils onPause()2012-11-12 23:03:28.583 SpikedReality_v2[15763:907] <0x21049fe0 QCARutils.mm:(332)> APPSTATUS_CAMERA_STOPPED

2012-11-12 23:03:28.918 SpikedReality_v2[15763:907] ARParentVC: dissappeared2012-11-12 23:03:28.919 SpikedReality_v2[15763:907] <0x2109c980 ARViewController.mm:(124)> ARVC: viewDidDisappear

Please suggest a pattern to use here....