- if( mImpl->mIsOnStage )
- {
- DoSetOffStage( actor );
-
- //remove the cached renderer from the cache if we and the cache are the only things that hold a reference to it
- if( mImpl->mCachedRenderer && mImpl->mCachedRenderer->ReferenceCount() == 2 )
- {
- mFactoryCache.RemoveRenderer( mImpl->mCachedRenderer->mKey );
- }
- mImpl->mCachedRenderer.Reset();
-
- actor.RemoveRenderer( mImpl->mRenderer );
- mImpl->mRenderer.Reset();
-
- mImpl->mIsOnStage = false;
- }