From 14410ae5264e4e2a6c8d40ef05be9b972e9e351b Mon Sep 17 00:00:00 2001
From: Christoph Oelckers <coelckers@users.noreply.github.com>
Date: Tue, 1 May 2018 19:01:01 +0200
Subject: [PATCH] - fixed: FDrawInfo must be kept around until DrawEndScene2D
 finishes.

Otherwise some code crashes on invalid data.
---
 src/gl/scene/gl_scene.cpp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/gl/scene/gl_scene.cpp b/src/gl/scene/gl_scene.cpp
index 14c5d432f..aba12b543 100644
--- a/src/gl/scene/gl_scene.cpp
+++ b/src/gl/scene/gl_scene.cpp
@@ -722,7 +722,6 @@ sector_t * GLSceneDrawer::RenderViewpoint (AActor * camera, GL_IRECT * bounds, f
 		FDrawInfo::StartDrawInfo(this);
 		ProcessScene(toscreen);
 		if (mainview && toscreen) EndDrawScene(lviewsector); // do not call this for camera textures.
-		FDrawInfo::EndDrawInfo();
 
 		if (mainview && FGLRenderBuffers::IsEnabled())
 		{
@@ -741,6 +740,7 @@ sector_t * GLSceneDrawer::RenderViewpoint (AActor * camera, GL_IRECT * bounds, f
 
 			DrawBlend(lviewsector);
 		}
+		FDrawInfo::EndDrawInfo();
 		GLRenderer->mDrawingScene2D = false;
 		if (!stereo3dMode.IsMono() && FGLRenderBuffers::IsEnabled())
 			GLRenderer->mBuffers->BlitToEyeTexture(eye_ix);