diff options
Diffstat (limited to 'gtk2_ardour/mixer_ui.cc')
-rw-r--r-- | gtk2_ardour/mixer_ui.cc | 15 |
1 files changed, 8 insertions, 7 deletions
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())); |