break circular reference between panners and pannables; more destruction debug tracin...
[ardour.git] / libs / ardour / ardour / pannable.h
index f7934e974db3d9cef2fa3763a368b27a07178add..c30bd0a0686402c153af56799e3440588351b2cc 100644 (file)
@@ -48,7 +48,7 @@ class Pannable : public PBD::Stateful, public Automatable, public SessionHandleR
         boost::shared_ptr<AutomationControl> pan_frontback_control;
         boost::shared_ptr<AutomationControl> pan_lfe_control;
         
-        boost::shared_ptr<Panner> panner() const { return _panner; }
+        boost::shared_ptr<Panner> panner() const { return _panner.lock(); }
         void set_panner(boost::shared_ptr<Panner>);
 
         Session& session() { return _session; }
@@ -83,7 +83,7 @@ class Pannable : public PBD::Stateful, public Automatable, public SessionHandleR
         bool has_state() const { return _has_state; }
 
   protected:
-        boost::shared_ptr<Panner> _panner;
+        boost::weak_ptr<Panner> _panner;
         AutoState _auto_state;
         AutoStyle _auto_style;
         gint      _touching;