From 655af58ae12c17606a14c0bdcb6cda45ffb929e0 Mon Sep 17 00:00:00 2001 From: Zeno Rogue Date: Tue, 22 Oct 2019 00:36:44 +0200 Subject: [PATCH] use shared_ptr consistently --- glhr.cpp | 8 ++++---- shaders.cpp | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/glhr.cpp b/glhr.cpp index 00ea7d6d..ead830ea 100644 --- a/glhr.cpp +++ b/glhr.cpp @@ -230,7 +230,7 @@ EX void projection_multiply(const glmatrix& m) { EX void init(); #if HDR -struct GLprogram : std::enable_shared_from_this { +struct GLprogram { GLuint _program; GLuint vertShader, fragShader; @@ -453,11 +453,11 @@ EX void colorClear(color_t color) { glClearColor(part(color, 3) / 255.0, part(color, 2) / 255.0, part(color, 1) / 255.0, part(color, 0) / 255.0); } -EX void full_enable(GLprogram *p) { +EX void full_enable(shared_ptr p) { auto& cur = current_glprogram; flagtype oldflags = cur ? cur->shader_flags : 0; - if(p == &*cur) return; - cur = p->shared_from_this(); + if(p == cur) return; + cur = p; GLERR("pre_switch_mode"); WITHSHADER({ glUseProgram(cur->_program); diff --git a/shaders.cpp b/shaders.cpp index 1d5e5bae..3a9b7117 100644 --- a/shaders.cpp +++ b/shaders.cpp @@ -276,7 +276,7 @@ void display_data::set_projection(int ed) { matched_programs[id] = selected; } - if(glhr::current_glprogram != selected) full_enable(&*selected); + if(glhr::current_glprogram != selected) full_enable(selected); shader_flags = selected->shader_flags; auto cd = current_display;