diff --git a/simgear/scene/viewer/Compositor.cxx b/simgear/scene/viewer/Compositor.cxx index 9418fce7..2d6d51af 100644 --- a/simgear/scene/viewer/Compositor.cxx +++ b/simgear/scene/viewer/Compositor.cxx @@ -54,7 +54,7 @@ Compositor::create(osg::View *view, const SGPropertyNode *property_list, const SGReaderWriterOptions *options) { - osg::ref_ptr compositor = new Compositor(view, gc, viewport); + Compositor *compositor = new Compositor(view, gc, viewport); compositor->_name = property_list->getStringValue("name"); gc->getState()->setUseModelViewAndProjectionUniforms( @@ -73,7 +73,7 @@ Compositor::create(osg::View *view, "a name to be available to passes. Skipping..."); continue; } - Buffer *buffer = buildBuffer(compositor.get(), p_buffer, options); + Buffer *buffer = buildBuffer(compositor, p_buffer, options); if (buffer) compositor->addBuffer(buffer_name, buffer); } @@ -82,14 +82,14 @@ Compositor::create(osg::View *view, for (auto const &p_pass : p_passes) { if (!checkConditional(p_pass)) continue; - Pass *pass = buildPass(compositor.get(), p_pass, options); + Pass *pass = buildPass(compositor, p_pass, options); if (pass) compositor->addPass(pass); } ++_order_offset; - return compositor.release(); + return compositor; } Compositor * diff --git a/simgear/scene/viewer/Compositor.hxx b/simgear/scene/viewer/Compositor.hxx index 2bf671d2..e4b36c04 100644 --- a/simgear/scene/viewer/Compositor.hxx +++ b/simgear/scene/viewer/Compositor.hxx @@ -43,7 +43,7 @@ namespace compositor { * and they can output to other buffers. They are also integrated with the * Effects framework, so the OpenGL internal state is configurable per pass. */ -class Compositor : public osg::Referenced { +class Compositor { public: enum BuiltinUniform { VIEWPORT_SIZE = 0,