diff --git a/simgear/canvas/elements/CanvasElement.cxx b/simgear/canvas/elements/CanvasElement.cxx index 3692bf90..f4eacd1f 100644 --- a/simgear/canvas/elements/CanvasElement.cxx +++ b/simgear/canvas/elements/CanvasElement.cxx @@ -85,6 +85,12 @@ namespace canvas return boost::static_pointer_cast(_self.lock()); } + //---------------------------------------------------------------------------- + ElementPtr Element::getParent() + { + return _parent ? _parent->getWeakPtr().lock() : ElementPtr(); + } + //---------------------------------------------------------------------------- void Element::update(double dt) { diff --git a/simgear/canvas/elements/CanvasElement.hxx b/simgear/canvas/elements/CanvasElement.hxx index f44bee43..53357f1c 100644 --- a/simgear/canvas/elements/CanvasElement.hxx +++ b/simgear/canvas/elements/CanvasElement.hxx @@ -84,6 +84,7 @@ namespace canvas virtual void onDestroy(); ElementWeakPtr getWeakPtr() const; + ElementPtr getParent(); /** * Called every frame to update internal state