From 12bf437c6eb6677f10ef7d09b1e096cf67ed73b1 Mon Sep 17 00:00:00 2001 From: Carl Hetherington Date: Sat, 4 Jul 2009 11:51:25 +0000 Subject: [PATCH] Fixes for crashes on session going away. git-svn-id: svn://localhost/ardour2/branches/3.0@5317 d708f5d6-7413-0410-9779-e7cbd77b26cf --- gtk2_ardour/editor_component.cc | 2 ++ gtk2_ardour/editor_summary.cc | 12 ++++++++---- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/gtk2_ardour/editor_component.cc b/gtk2_ardour/editor_component.cc index e45b8f61ef..e78f7804f1 100644 --- a/gtk2_ardour/editor_component.cc +++ b/gtk2_ardour/editor_component.cc @@ -45,4 +45,6 @@ EditorComponent::session_going_away () for (list::iterator i = _session_connections.begin(); i != _session_connections.end(); ++i) { i->disconnect (); } + + _session = 0; } diff --git a/gtk2_ardour/editor_summary.cc b/gtk2_ardour/editor_summary.cc index a9cc524b15..5f3791ba47 100644 --- a/gtk2_ardour/editor_summary.cc +++ b/gtk2_ardour/editor_summary.cc @@ -73,6 +73,10 @@ EditorSummary::on_expose_event (GdkEventExpose* event) { CairoWidget::on_expose_event (event); + if (_session == 0) { + return false; + } + cairo_t* cr = gdk_cairo_create (get_window()->gobj()); /* Render the view rectangle */ @@ -115,16 +119,16 @@ EditorSummary::on_expose_event (GdkEventExpose* event) void EditorSummary::render (cairo_t* cr) { - if (_session == 0) { - return; - } - /* background */ cairo_set_source_rgb (cr, 0, 0, 0); cairo_rectangle (cr, 0, 0, _width, _height); cairo_fill (cr); + if (_session == 0) { + return; + } + /* compute total height of all tracks */ int h = 0;