From 61032cb6ae8f49b9278284d2157a68107da0aaf0 Mon Sep 17 00:00:00 2001 From: Magnus Norddahl Date: Sun, 15 Apr 2018 14:40:52 +0200 Subject: [PATCH] - fix softpoly portal crash --- src/polyrenderer/scene/poly_scene.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/polyrenderer/scene/poly_scene.cpp b/src/polyrenderer/scene/poly_scene.cpp index 378264ef7..6fca68576 100644 --- a/src/polyrenderer/scene/poly_scene.cpp +++ b/src/polyrenderer/scene/poly_scene.cpp @@ -49,6 +49,7 @@ RenderPolyScene::~RenderPolyScene() void RenderPolyScene::Render(PolyPortalViewpoint *viewpoint) { + PolyPortalViewpoint *oldviewpoint = CurrentViewpoint; CurrentViewpoint = viewpoint; PolyRenderThread *thread = PolyRenderer::Instance()->Threads.MainThread(); @@ -85,7 +86,7 @@ void RenderPolyScene::Render(PolyPortalViewpoint *viewpoint) RenderPortals(); - CurrentViewpoint = nullptr; + CurrentViewpoint = oldviewpoint; } void RenderPolyScene::RenderSectors() @@ -359,6 +360,7 @@ void RenderPolyScene::RenderPortals() void RenderPolyScene::RenderTranslucent(PolyPortalViewpoint *viewpoint) { + PolyPortalViewpoint *oldviewpoint = CurrentViewpoint; CurrentViewpoint = viewpoint; PolyRenderThread *thread = PolyRenderer::Instance()->Threads.MainThread(); @@ -428,7 +430,7 @@ void RenderPolyScene::RenderTranslucent(PolyPortalViewpoint *viewpoint) PolyMaskedCycles.Unclock(); - CurrentViewpoint = nullptr; + CurrentViewpoint = oldviewpoint; } /////////////////////////////////////////////////////////////////////////////