summaryrefslogtreecommitdiff
path: root/indra/newview/llviewermenu.cpp
diff options
context:
space:
mode:
authorruslantproductengine <ruslantproductengine@lindenlab.com>2015-10-27 18:06:36 +0200
committerruslantproductengine <ruslantproductengine@lindenlab.com>2015-10-27 18:06:36 +0200
commit501033f521f2de7c47525996541e179670222792 (patch)
treec55883066556e0bd19c74600fc66eef8eaa4288d /indra/newview/llviewermenu.cpp
parent7563bb647048725e144fea34ea3cba426eed0ad1 (diff)
MAINT-3491 FIXED If ALM is enabled while in wireframe mode, disabling wireframe mode results in a black screen.
Diffstat (limited to 'indra/newview/llviewermenu.cpp')
-rwxr-xr-xindra/newview/llviewermenu.cpp15
1 files changed, 15 insertions, 0 deletions
diff --git a/indra/newview/llviewermenu.cpp b/indra/newview/llviewermenu.cpp
index 38d62dee5e..de219edcff 100755
--- a/indra/newview/llviewermenu.cpp
+++ b/indra/newview/llviewermenu.cpp
@@ -1245,9 +1245,24 @@ class LLAdvancedToggleWireframe : public view_listener_t
bool handleEvent(const LLSD& userdata)
{
gUseWireframe = !(gUseWireframe);
+
+ if (gUseWireframe)
+ {
+ gInitialDeferredModeForWireframe = LLPipeline::sRenderDeferred;
+ }
+
gWindowResized = TRUE;
LLPipeline::updateRenderDeferred();
gPipeline.resetVertexBuffers();
+
+ if (!gUseWireframe && !gInitialDeferredModeForWireframe && LLPipeline::sRenderDeferred != gInitialDeferredModeForWireframe && gPipeline.isInit())
+ {
+ LLPipeline::refreshCachedSettings();
+ gPipeline.releaseGLBuffers();
+ gPipeline.createGLBuffers();
+ LLViewerShaderMgr::instance()->setShaders();
+ }
+
return true;
}
};