- Stage::GetCurrent().Remove(sourceActor);
- Stage::GetCurrent().GetRenderTaskList().RemoveTask(source);
+
+ Stage stage = Stage::GetCurrent();
+ stage.Remove(sourceActor);
+ stage.GetRenderTaskList().RemoveTask(source);
+}
+
+void BubbleEmitter::OnContextRegained()
+{
+ // Context was lost, so the framebuffer has been destroyed. Re-create render task
+ // and trigger re-draw if not already running
+ if( ! mRenderTaskRunning )
+ {
+ SetBackground( mBackgroundImage, mHSVDelta );
+ }