diff --git a/FinalProject/sceneviewer.cpp b/FinalProject/sceneviewer.cpp index 7542a81..b809aa4 100644 --- a/FinalProject/sceneviewer.cpp +++ b/FinalProject/sceneviewer.cpp @@ -72,7 +72,7 @@ void SceneViewer::initializeGL() { } void SceneViewer::resizeGL(int w, int h) { - + glViewport(0, 0, w, h); } void SceneViewer::paintGL() { diff --git a/FinalProject/shader.h b/FinalProject/shader.h index ed6fa69..dff363d 100644 --- a/FinalProject/shader.h +++ b/FinalProject/shader.h @@ -103,6 +103,7 @@ inline void ShaderProgram::unbind() const { } inline void ShaderProgram::dispose() { + if (_programId == 0) return; OPENGL_EXTRA_FUNCTIONS->glDeleteProgram(_programId); _programId = 0; } @@ -110,5 +111,8 @@ inline void ShaderProgram::dispose() { inline void ShaderProgram::ensureInitialized() { if (_programId == 0) { _programId = OPENGL_EXTRA_FUNCTIONS->glCreateProgram(); + if (_programId == 0) { + Logger::error("Failed to create a ShaderProgram"); + } } } diff --git a/FinalProject/vao.h b/FinalProject/vao.h index 33d19e3..adf93f1 100644 --- a/FinalProject/vao.h +++ b/FinalProject/vao.h @@ -52,6 +52,7 @@ inline void VertexArrayObject::unbind() const { } inline void VertexArrayObject::dispose() { + if (_id == 0) return; OPENGL_EXTRA_FUNCTIONS->glDeleteVertexArrays(1, &_id); _id = 0; }