+ mImpl->mTbmSurfaceCondition.Wait( lock );
+ }
+
+ mImpl->mDrawableCompleted = false;
+}
+
+void NativeRenderSurface::ReleaseDrawable()
+{
+ if( mImpl->mConsumeSurface )
+ {
+ tbm_surface_internal_unref( mImpl->mConsumeSurface );
+
+ if( tbm_surface_internal_is_valid( mImpl->mConsumeSurface ) )
+ {
+ tbm_surface_queue_release( mImpl->mTbmQueue, mImpl->mConsumeSurface );
+ }
+ mImpl->mConsumeSurface = NULL;