From 1a221bf3d329ca3d4df274e45452a7521a37be2e Mon Sep 17 00:00:00 2001 From: X512 Date: Wed, 1 Jan 2020 01:29:32 +0900 Subject: [PATCH] haiku3d: fix crash on exit MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Change-Id: I0d3d5d333f1dad5818149cde0fed29797f12e825 Reviewed-on: https://review.haiku-os.org/c/haiku/+/2062 Reviewed-by: Axel Dörfler --- src/apps/haiku3d/RenderView.cpp | 12 ++++++++++-- src/apps/haiku3d/RenderView.h | 1 + 2 files changed, 11 insertions(+), 2 deletions(-) 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);