diff --git a/src/apps/haiku3d/RenderView.cpp b/src/apps/haiku3d/RenderView.cpp index 6773590a07..4afe5e2685 100644 --- a/src/apps/haiku3d/RenderView.cpp +++ b/src/apps/haiku3d/RenderView.cpp @@ -38,8 +38,6 @@ RenderView::RenderView(BRect frame) RenderView::~RenderView() { - _StopRenderThread(); - _DeleteScene(); } @@ -55,6 +53,16 @@ RenderView::AttachedToWindow() } +void +RenderView::DetachedFromWindow() +{ + _StopRenderThread(); + _DeleteScene(); + + BGLView::DetachedFromWindow(); +} + + uint32 RenderView::_CreateRenderThread() { diff --git a/src/apps/haiku3d/RenderView.h b/src/apps/haiku3d/RenderView.h index 65e23e2617..b114474e9d 100644 --- a/src/apps/haiku3d/RenderView.h +++ b/src/apps/haiku3d/RenderView.h @@ -23,6 +23,7 @@ public: ~RenderView(); virtual void AttachedToWindow(); + virtual void DetachedFromWindow(); virtual void FrameResized(float width, float height); virtual void ErrorCallback(unsigned long error);