From aaf512f112894f9a583622ff19f5b775ba4be3bb Mon Sep 17 00:00:00 2001
From: kgv <kgv@opencascade.com>
Date: Thu, 4 Sep 2014 15:30:58 +0400
Subject: [PATCH] 0025217: Draw Harness - activate GLSL warnings output within
 command vgldebug

---
 src/ViewerTest/ViewerTest_ViewerCommands.cxx | 19 ++++++++++++++++---
 1 file changed, 16 insertions(+), 3 deletions(-)

diff --git a/src/ViewerTest/ViewerTest_ViewerCommands.cxx b/src/ViewerTest/ViewerTest_ViewerCommands.cxx
index 30c0542705..88d9866c65 100644
--- a/src/ViewerTest/ViewerTest_ViewerCommands.cxx
+++ b/src/ViewerTest/ViewerTest_ViewerCommands.cxx
@@ -4035,10 +4035,15 @@ static int VGlDebug (Draw_Interpretor& theDI,
                      Standard_Integer  theArgNb,
                      const char**      theArgVec)
 {
+  Handle(OpenGl_GraphicDriver) aDriver;
+  Handle(V3d_View) aView = ViewerTest::CurrentView();
+  if (!aView.IsNull())
+  {
+    aDriver = Handle(OpenGl_GraphicDriver)::DownCast (aView->Viewer()->Driver());
+  }
   if (theArgNb < 2)
   {
-    Handle(V3d_View) aView = ViewerTest::CurrentView();
-    if (aView.IsNull())
+    if (aDriver.IsNull())
     {
       std::cerr << "No active view. Please call vinit.\n";
       return 0;
@@ -4051,7 +4056,15 @@ static int VGlDebug (Draw_Interpretor& theDI,
     return 0;
   }
 
-  ViewerTest_myDefaultCaps.contextDebug = Draw::Atoi (theArgVec[1]) != 0;
+  const Standard_Boolean toEnableDebug = Draw::Atoi (theArgVec[1]) != 0;
+  ViewerTest_myDefaultCaps.contextDebug = toEnableDebug;
+  ViewerTest_myDefaultCaps.glslWarnings = toEnableDebug;
+  if (aDriver.IsNull())
+  {
+    return 0;
+  }
+
+  aDriver->ChangeOptions().glslWarnings = toEnableDebug;
   return 0;
 }