diff --git a/simgear/scene/model/SGClipGroup.cxx b/simgear/scene/model/SGClipGroup.cxx index 758a5b6a..6d2ab7f1 100644 --- a/simgear/scene/model/SGClipGroup.cxx +++ b/simgear/scene/model/SGClipGroup.cxx @@ -70,8 +70,18 @@ public: osg::ref_ptr mModelView; }; -osgUtil::RegisterRenderBinProxy -SGClipGroup::clipBinProxy("ClipRenderBin", new SGClipGroup::ClipRenderBin); +struct SGClipGroup::ClipBinRegistrar +{ + ClipBinRegistrar() + { + osgUtil::RenderBin + ::addRenderBinPrototype("ClipRenderBin", + new SGClipGroup::ClipRenderBin); + } + static ClipBinRegistrar registrar; +}; + +SGClipGroup::ClipBinRegistrar SGClipGroup::ClipBinRegistrar::registrar; class SGClipGroup::CullCallback : public osg::NodeCallback { public: diff --git a/simgear/scene/model/SGClipGroup.hxx b/simgear/scene/model/SGClipGroup.hxx index eb0e0ddb..9820ec1d 100644 --- a/simgear/scene/model/SGClipGroup.hxx +++ b/simgear/scene/model/SGClipGroup.hxx @@ -49,10 +49,8 @@ public: protected: class CullCallback; class ClipRenderBin; - + struct ClipBinRegistrar; std::vector > mClipPlanes; - - static osgUtil::RegisterRenderBinProxy clipBinProxy; }; #endif