From c30f4e6935f19e4190baafa0110814ef4374b91a Mon Sep 17 00:00:00 2001 From: cxl Date: Mon, 8 Oct 2018 11:03:22 +0000 Subject: [PATCH] GLDraw: GLProgram internals now protected for further development git-svn-id: svn://ultimatepp.org/upp/trunk@12346 f0d560ea-af0d-0410-9eb7-867de7ffcac7 --- uppsrc/GLDraw/GLDraw.h | 2 ++ uppsrc/GLDraw/GLShaders.cpp | 10 ++++++++++ 2 files changed, 12 insertions(+) diff --git a/uppsrc/GLDraw/GLDraw.h b/uppsrc/GLDraw/GLDraw.h index aeca05ee6..f1eed2682 100644 --- a/uppsrc/GLDraw/GLDraw.h +++ b/uppsrc/GLDraw/GLDraw.h @@ -39,6 +39,7 @@ enum { }; class GLProgram { +protected: GLuint vertex_shader; GLuint fragment_shader; GLuint program; @@ -63,6 +64,7 @@ public: void Use() { glUseProgram(program); } GLProgram(); + ~GLProgram(); }; extern GLProgram gl_image, gl_image_colored, gl_rect; diff --git a/uppsrc/GLDraw/GLShaders.cpp b/uppsrc/GLDraw/GLShaders.cpp index 77510cd03..26873f117 100644 --- a/uppsrc/GLDraw/GLShaders.cpp +++ b/uppsrc/GLDraw/GLShaders.cpp @@ -117,6 +117,16 @@ GLProgram::GLProgram() vertex_shader = fragment_shader = program = 0; } +GLProgram::~GLProgram() +{ + if(program) + glDeleteProgram(program); + if(vertex_shader) + glDeleteShader(vertex_shader); + if(fragment_shader) + glDeleteShader(fragment_shader); +} + }; #endif