From 2562b4a2f0756350dd62f32673d6b99609262f86 Mon Sep 17 00:00:00 2001 From: Paul Davis Date: Sun, 29 May 2016 13:43:56 -0400 Subject: [PATCH] handle old-version pane positions by ignoring them --- gtk2_ardour/editor.cc | 10 ++++++---- gtk2_ardour/mixer_ui.cc | 15 ++++++++------- 2 files changed, 14 insertions(+), 11 deletions(-) diff --git a/gtk2_ardour/editor.cc b/gtk2_ardour/editor.cc index 029a4649ec..7c47d1f3c4 100644 --- a/gtk2_ardour/editor.cc +++ b/gtk2_ardour/editor.cc @@ -724,19 +724,21 @@ Editor::Editor () edit_pane.set_child_minsize (_the_notebook, 30); /* rough guess at width of notebook tabs */ editor_summary_pane.set_drag_cursor (*_cursors->expand_up_down); - if (!settings || (prop = settings->property ("edit-horizontal-pane-pos")) == 0) { + float fract; + + if (!settings || ((prop = settings->property ("edit-horizontal-pane-pos")) == 0) || ((fract = atof (prop->value())) > 1.0)) { /* initial allocation is 90% to canvas, 10% to notebook */ edit_pane.set_divider (0, 0.90); } else { - edit_pane.set_divider (0, atof (prop->value())); + edit_pane.set_divider (0, fract); } - if (!settings || (prop = settings->property ("edit-vertical-pane-pos")) == 0) { + if (!settings || ((prop = settings->property ("edit-vertical-pane-pos")) == 0) || ((fract = atof (prop->value())) > 1.0)) { /* initial allocation is 90% to canvas, 10% to summary */ editor_summary_pane.set_divider (0, 0.90); } else { - editor_summary_pane.set_divider (0, atof (prop->value())); + editor_summary_pane.set_divider (0, fract); } top_hbox.pack_start (toolbar_frame); diff --git a/gtk2_ardour/mixer_ui.cc b/gtk2_ardour/mixer_ui.cc index b621a95283..764fc11c9e 100644 --- a/gtk2_ardour/mixer_ui.cc +++ b/gtk2_ardour/mixer_ui.cc @@ -265,23 +265,24 @@ Mixer_UI::Mixer_UI () XMLNode const * settings = ARDOUR_UI::instance()->mixer_settings(); XMLProperty const * prop; + float fract; - if (!settings || ((prop = settings->property ("mixer-rhs-pane1-pos")) == 0)) { + if (!settings || ((prop = settings->property ("mixer-rhs-pane1-pos")) == 0) || ((fract = atof (prop->value())) > 1.0)) { rhs_pane1.set_divider (0, 0.6f); } else { - rhs_pane1.set_divider (0, atof (prop->value())); + rhs_pane1.set_divider (0, fract); } - if (!settings || ((prop = settings->property ("mixer-rhs-pane2-pos")) == 0)) { + if (!settings || ((prop = settings->property ("mixer-rhs-pane2-pos")) == 0) || ((fract = atof (prop->value())) > 1.0)) { rhs_pane2.set_divider (0, 0.7f); } else { - rhs_pane2.set_divider (0, atof (prop->value())); + rhs_pane2.set_divider (0, fract); } - if (!settings || ((prop = settings->property ("mixer-list-hpane-pos")) == 0)) { + if (!settings || ((prop = settings->property ("mixer-list-hpane-pos")) == 0) || ((fract = atof (prop->value())) > 1.0)) { list_hpane.set_divider (0, 0.2f); } else { - list_hpane.set_divider (0, atof (prop->value())); + list_hpane.set_divider (0, fract); } - if (!settings || ((prop = settings->property ("mixer-inner-pos")) == 0)) { + if (!settings || ((prop = settings->property ("mixer-inner-pos")) == 0) || ((fract = atof (prop->value())) > 1.0)) { inner_pane.set_divider (0, 0.8f); } else { inner_pane.set_divider (0, atof (prop->value()));