diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2011-07-11 20:31:12 +0000 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2011-07-11 20:31:12 +0000 |
commit | 58a3d6c72030a90c54e5582b75ed520536749504 (patch) | |
tree | 879e96e86d4ae0982093bf18e07d247c610af1f3 /gtk2_ardour/audio_time_axis.cc | |
parent | 32fc1f8ed93be08b1c96c2ae7e9f3d910eef047d (diff) |
fix crashing bug where pan_tracks.front() was used without checking for pan tracks and a related one with gain_track; also uses new GUIObjectState stuff coming up in next commit
git-svn-id: svn://localhost/ardour2/branches/3.0@9842 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/audio_time_axis.cc')
-rw-r--r-- | gtk2_ardour/audio_time_axis.cc | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/gtk2_ardour/audio_time_axis.cc b/gtk2_ardour/audio_time_axis.cc index 6772f7b9fa..d06652b648 100644 --- a/gtk2_ardour/audio_time_axis.cc +++ b/gtk2_ardour/audio_time_axis.cc @@ -159,14 +159,14 @@ AudioTimeAxisView::audio_view() guint32 AudioTimeAxisView::show_at (double y, int& nth, Gtk::VBox *parent) { - set_gui_property ("visible", "yes"); + set_gui_property ("visible", true); return TimeAxisView::show_at (y, nth, parent); } void AudioTimeAxisView::hide () { - set_gui_property ("visible", "no"); + set_gui_property ("visible", false); TimeAxisView::hide (); } @@ -460,14 +460,14 @@ AudioTimeAxisView::build_automation_action_menu (bool for_selection) automation_items.push_back (CheckMenuElem (_("Fader"), sigc::mem_fun (*this, &AudioTimeAxisView::update_gain_track_visibility))); gain_automation_item = dynamic_cast<CheckMenuItem*> (&automation_items.back ()); gain_automation_item->set_active ((!for_selection || _editor.get_selection().tracks.size() == 1) && - string_is_affirmative (gain_track->gui_property ("visible"))); + (gain_track && string_is_affirmative (gain_track->gui_property ("visible")))); _main_automation_menu_map[Evoral::Parameter(GainAutomation)] = gain_automation_item; automation_items.push_back (CheckMenuElem (_("Pan"), sigc::mem_fun (*this, &AudioTimeAxisView::update_pan_track_visibility))); pan_automation_item = dynamic_cast<CheckMenuItem*> (&automation_items.back ()); pan_automation_item->set_active ((!for_selection || _editor.get_selection().tracks.size() == 1) && - string_is_affirmative (pan_tracks.front()->gui_property ("visible"))); + (!pan_tracks.empty() && string_is_affirmative (pan_tracks.front()->gui_property ("visible")))); set<Evoral::Parameter> const & params = _route->pannable()->what_can_be_automated (); for (set<Evoral::Parameter>::iterator p = params.begin(); p != params.end(); ++p) { |