diff --git a/src/OpenGl/OpenGl_FrameBuffer.hxx b/src/OpenGl/OpenGl_FrameBuffer.hxx index a384c63996..4daa5ad3f1 100644 --- a/src/OpenGl/OpenGl_FrameBuffer.hxx +++ b/src/OpenGl/OpenGl_FrameBuffer.hxx @@ -136,7 +136,7 @@ private: Standard_Boolean IsValidDepthBuffer() const { - return myGlTextureId != NO_RENDERBUFFER; + return myGlDepthRBId != NO_RENDERBUFFER; } private: diff --git a/src/OpenGl/OpenGl_Workspace_2.cxx b/src/OpenGl/OpenGl_Workspace_2.cxx index cf34c95d6d..335947de45 100644 --- a/src/OpenGl/OpenGl_Workspace_2.cxx +++ b/src/OpenGl/OpenGl_Workspace_2.cxx @@ -731,9 +731,14 @@ Standard_Boolean OpenGl_Workspace::Print glViewport (aViewPortBack[0], aViewPortBack[1], aViewPortBack[2], aViewPortBack[3]); if (aPrevBuffer) + { aPrevBuffer->ChangeViewport (aPrevBufferX, aPrevBufferY); + } else + { + aFrameBuffer->Release (GetGlContext ()); delete aFrameBuffer; + } // delete resources #ifndef HAVE_FREEIMAGE