0030248: Volume Rendering - importing volume with default parameters leads to crashes...
authorkgv <kgv@opencascade.com>
Wed, 17 Oct 2018 11:01:30 +0000 (14:01 +0300)
committerapn <apn@opencascade.com>
Thu, 18 Oct 2018 16:07:24 +0000 (19:07 +0300)
src/OpenGl/OpenGl_Texture.cxx

index c4de253..6256e1f 100644 (file)
@@ -30,7 +30,7 @@ struct OpenGl_UnpackAlignmentSentry
 {
 
   //! Reset unpack alignment settings to safe values
-  void Reset()
+  static void Reset()
   {
     glPixelStorei (GL_UNPACK_ALIGNMENT,  1);
   #if !defined(GL_ES_VERSION_2_0)
@@ -38,6 +38,8 @@ struct OpenGl_UnpackAlignmentSentry
   #endif
   }
 
+  OpenGl_UnpackAlignmentSentry() {}
+
   ~OpenGl_UnpackAlignmentSentry()
   {
     Reset();
@@ -840,6 +842,9 @@ bool OpenGl_Texture::InitRectangle (const Handle(OpenGl_Context)& theCtx,
   myTextFormat  = theFormat.Format();
   mySizedFormat = theFormat.Internal();
 
+  // setup the alignment
+  OpenGl_UnpackAlignmentSentry::Reset();
+
   glTexImage2D (GL_PROXY_TEXTURE_RECTANGLE, 0, mySizedFormat,
                 aSizeX, aSizeY, 0,
                 myTextFormat, GL_FLOAT, NULL);
@@ -938,6 +943,9 @@ bool OpenGl_Texture::Init3D (const Handle(OpenGl_Context)& theCtx,
 
   mySizedFormat = theTextFormat;
 
+  // setup the alignment
+  OpenGl_UnpackAlignmentSentry::Reset();
+
 #if !defined (GL_ES_VERSION_2_0)
   theCtx->core15fwd->glTexImage3D (GL_PROXY_TEXTURE_3D, 0, mySizedFormat,
                                    aSizeX, aSizeY, aSizeZ, 0,