From fb015b1be9d929d7dce18fdb6a033c8afad565c0 Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Mon, 23 Mar 2015 14:20:17 +0100 Subject: fix “Denormal Dropdown” inconsistency MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- gtk2_ardour/rc_option_editor.cc | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'gtk2_ardour') diff --git a/gtk2_ardour/rc_option_editor.cc b/gtk2_ardour/rc_option_editor.cc index a3402072e8..b2cf7f0ae4 100644 --- a/gtk2_ardour/rc_option_editor.cc +++ b/gtk2_ardour/rc_option_editor.cc @@ -1885,20 +1885,34 @@ RCOptionEditor::RCOptionEditor () sigc::mem_fun (*_rc_config, &RCConfiguration::set_denormal_model) ); + int dmsize = 1; dm->add (DenormalNone, _("no processor handling")); FPU fpu; if (fpu.has_flush_to_zero()) { + ++dmsize; dm->add (DenormalFTZ, _("use FlushToZero")); + } else if (_rc_config->get_denormal_model() == DenormalFTZ) { + _rc_config->set_denormal_model(DenormalNone); } if (fpu.has_denormals_are_zero()) { + ++dmsize; dm->add (DenormalDAZ, _("use DenormalsAreZero")); + } else if (_rc_config->get_denormal_model() == DenormalDAZ) { + _rc_config->set_denormal_model(DenormalNone); } if (fpu.has_flush_to_zero() && fpu.has_denormals_are_zero()) { + ++dmsize; dm->add (DenormalFTZDAZ, _("use FlushToZero and DenormalsAreZero")); + } else if (_rc_config->get_denormal_model() == DenormalFTZDAZ) { + _rc_config->set_denormal_model(DenormalNone); + } + + if (dmsize == 1) { + dm->set_sensitive(false); } add_option (_("Audio"), dm); -- cgit v1.2.3