summaryrefslogtreecommitdiff
path: root/gtk2_ardour/editor_summary.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2009-12-17 23:36:52 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2009-12-17 23:36:52 +0000
commit67460c2af45d0455e64623572480c064445c2e5b (patch)
tree90b001525f712a1523ae853e9d37660634c89a17 /gtk2_ardour/editor_summary.cc
parentcbb272af44b6a3e3cb807d70a46b5f6d0d7ed109 (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.cc11
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 ();
}
}