diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2016-05-29 13:43:56 -0400 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2016-05-31 15:30:45 -0400 |
commit | 2562b4a2f0756350dd62f32673d6b99609262f86 (patch) | |
tree | ae8d10e0f3ea2c4df5f64ec533fb656162c9cab4 | |
parent | fae3aee849e8d0cd0c5c0fa420fb7c4ceb9852df (diff) |
handle old-version pane positions by ignoring them
-rw-r--r-- | gtk2_ardour/editor.cc | 10 | ||||
-rw-r--r-- | 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())); |