diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2009-12-17 23:36:52 +0000 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2009-12-17 23:36:52 +0000 |
commit | 67460c2af45d0455e64623572480c064445c2e5b (patch) | |
tree | 90b001525f712a1523ae853e9d37660634c89a17 /gtk2_ardour/editor_summary.cc | |
parent | cbb272af44b6a3e3cb807d70a46b5f6d0d7ed109 (diff) |
fix deadlock in protocol manager startup; fix some other ::set_session() SNAFUs; remove last boost::signals2::connection member from libardour
git-svn-id: svn://localhost/ardour2/branches/3.0@6375 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/editor_summary.cc')
-rw-r--r-- | gtk2_ardour/editor_summary.cc | 11 |
1 files changed, 4 insertions, 7 deletions
diff --git a/gtk2_ardour/editor_summary.cc b/gtk2_ardour/editor_summary.cc index b002150622..8a62156a19 100644 --- a/gtk2_ardour/editor_summary.cc +++ b/gtk2_ardour/editor_summary.cc @@ -47,7 +47,8 @@ EditorSummary::EditorSummary (Editor* e) _zoom_dragging (false) { - + Region::RegionPropertyChanged.connect (sigc::hide (sigc::mem_fun (*this, &EditorSummary::set_dirty))); + _editor->playhead_cursor->PositionChanged.connect (sigc::mem_fun (*this, &EditorSummary::playhead_position_changed)); } /** Connect to a session. @@ -58,17 +59,13 @@ EditorSummary::set_session (Session* s) { EditorComponent::set_session (s); - Region::RegionPropertyChanged.connect (sigc::hide (sigc::mem_fun (*this, &EditorSummary::set_dirty))); + set_dirty (); if (_session) { _session_connections.add_connection (_session->RegionRemoved.connect (boost::bind (&EditorSummary::set_dirty, this))); _session_connections.add_connection (_session->StartTimeChanged.connect (boost::bind (&EditorSummary::set_dirty, this))); _session_connections.add_connection (_session->EndTimeChanged.connect (boost::bind (&EditorSummary::set_dirty, this))); } - - _editor->playhead_cursor->PositionChanged.connect (sigc::mem_fun (*this, &EditorSummary::playhead_position_changed)); - - set_dirty (); } /** Handle an expose event. @@ -504,7 +501,7 @@ EditorSummary::set_editor (pair<double,double> const & x, pair<double, double> c void EditorSummary::playhead_position_changed (nframes64_t p) { - if (int (p * _x_scale) != int (_last_playhead)) { + if (_session && int (p * _x_scale) != int (_last_playhead)) { set_overlays_dirty (); } } |