diff --git a/simgear/scene/model/placement.cxx b/simgear/scene/model/placement.cxx index 85284492..8d2ab9f2 100644 --- a/simgear/scene/model/placement.cxx +++ b/simgear/scene/model/placement.cxx @@ -25,6 +25,7 @@ SGModelPlacement::SGModelPlacement () : _selector(new osg::Switch), _transform(new osg::PositionAttitudeTransform) { + _selector->addChild(_transform.get()); } SGModelPlacement::~SGModelPlacement () @@ -34,10 +35,11 @@ SGModelPlacement::~SGModelPlacement () void SGModelPlacement::init( osg::Node * model ) { + // remove previous model (in case of reinit) + _transform->removeChild(0,1); if (model != 0) { _transform->addChild(model); } - _selector->addChild(_transform.get()); _selector->setValue(0, 1); }