0029125: Visualization, OpenGl_Text - fix access violation within OpenGL1.1 context IR-2017-09-21
authorkgv <kgv@opencascade.com>
Tue, 19 Sep 2017 09:53:15 +0000 (12:53 +0300)
committerbugmaster <bugmaster@opencascade.com>
Fri, 22 Sep 2017 08:52:07 +0000 (11:52 +0300)
OpenGl_Context::DiagnosticInformation() - added OpenGL version check before retrieving GL_SHADING_LANGUAGE_VERSION string.

src/OpenGl/OpenGl_Context.cxx
src/OpenGl/OpenGl_Text.cxx

index 538331a..494ca04 100644 (file)
@@ -2816,7 +2816,10 @@ void OpenGl_Context::DiagnosticInformation (TColStd_IndexedDataMapOfStringString
     addInfo (theDict, "GLvendor",    (const char*)::glGetString (GL_VENDOR));
     addInfo (theDict, "GLdevice",    (const char*)::glGetString (GL_RENDERER));
     addInfo (theDict, "GLversion",   (const char*)::glGetString (GL_VERSION));
-    addInfo (theDict, "GLSLversion", (const char*)::glGetString (GL_SHADING_LANGUAGE_VERSION));
+    if (IsGlGreaterEqual (2, 0))
+    {
+      addInfo (theDict, "GLSLversion", (const char*)::glGetString (GL_SHADING_LANGUAGE_VERSION));
+    }
     if (myIsGlDebugCtx)
     {
       addInfo (theDict, "GLdebug", "ON");
index 9a8633f..a7ee8eb 100644 (file)
@@ -22,6 +22,7 @@
 #include <OpenGl_Text.hxx>
 #include <OpenGl_Workspace.hxx>
 #include <OpenGl_View.hxx>
+#include <OpenGl_VertexBufferCompat.hxx>
 
 #include <Font_FontMgr.hxx>
 #include <Font_FTFont.hxx>
@@ -720,7 +721,14 @@ void OpenGl_Text::drawRect (const Handle(OpenGl_Context)& theCtx,
       OpenGl_Vec2(myBndBox.Left,  myBndBox.Bottom),
       OpenGl_Vec2(myBndBox.Left,  myBndBox.Top)
     };
-    myBndVertsVbo = new OpenGl_VertexBuffer();
+    if (theCtx->ToUseVbo())
+    {
+      myBndVertsVbo = new OpenGl_VertexBuffer();
+    }
+    else
+    {
+      myBndVertsVbo = new OpenGl_VertexBufferCompat();
+    }
     myBndVertsVbo->Init (theCtx, 2, 4, aQuad[0].GetData());
   }