[Problem] stage called rootactor.Remove( cameraActor ) during destruction, which attempts to kick start a size negotiation
[Solution] do not call Remove, just release the handle
Change-Id: I475f7fb17f45141ad001827db1f775a37e77eb78
// clear the thread local storage first
// allows core to be created / deleted many times in the same thread (how TET cases work).
// Do this before mStage.Reset() so Stage::IsInstalled() returns false
- ThreadLocalStorage::Get().Remove();
+ ThreadLocalStorage* tls = ThreadLocalStorage::GetInternal();
+ if( tls )
+ {
+ tls->Remove();
+ }
// Stop relayout requests being raised on stage destruction
mRelayoutController.Reset();
if( mDefaultCamera )
{
- Remove(*(mDefaultCamera.Get()));
+ // its enough to release the handle so the object is released
+ // don't need to remove it from root actor as root actor will delete the object
+ mDefaultCamera.Reset();
}
if( mRootLayer )