use shared_ptr consistently

This commit is contained in:
Zeno Rogue 2019-10-22 00:36:44 +02:00
parent d7a8cbe0be
commit 655af58ae1
2 changed files with 5 additions and 5 deletions

View File

@ -230,7 +230,7 @@ EX void projection_multiply(const glmatrix& m) {
EX void init();
#if HDR
struct GLprogram : std::enable_shared_from_this<GLprogram> {
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<GLprogram> 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);

View File

@ -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;