summaryrefslogtreecommitdiff
path: root/gtk2_ardour/gain_meter.cc
diff options
context:
space:
mode:
authorTim Mayberry <mojofunk@gmail.com>2016-08-21 21:52:04 +1000
committerTim Mayberry <mojofunk@gmail.com>2016-08-24 20:42:56 +1000
commitb4242702086e46f56a3862900878d94afb0b434f (patch)
tree78163adbae7998cbac76bf75277e9081066eef0d /gtk2_ardour/gain_meter.cc
parentaa349d3f8c112b407d19bf09fb50a20940331295 (diff)
Fix string to float conversion when typing gain values in Gain Meter
Remove the LocaleGuard so that the value of LC_NUMERIC is that of the users locale and sscanf will parse the string correctly. For instance, with a locale like nl_NL or fr_FR where the decimal point is different than the "C" locale, only the number up to the decimal point will be parsed by sscanf and input values will be rounded down.
Diffstat (limited to 'gtk2_ardour/gain_meter.cc')
-rw-r--r--gtk2_ardour/gain_meter.cc12
1 files changed, 3 insertions, 9 deletions
diff --git a/gtk2_ardour/gain_meter.cc b/gtk2_ardour/gain_meter.cc
index 85122b93ee..55bdf4ce2f 100644
--- a/gtk2_ardour/gain_meter.cc
+++ b/gtk2_ardour/gain_meter.cc
@@ -477,15 +477,9 @@ GainMeterBase::gain_activated ()
{
float f;
- {
- // Switch to user's preferred locale so that
- // if they use different LC_NUMERIC conventions,
- // we will honor them.
-
- PBD::LocaleGuard lg;
- if (sscanf (gain_display.get_text().c_str(), "%f", &f) != 1) {
- return;
- }
+ // Use the user's preferred locale/LC_NUMERIC setting
+ if (sscanf (gain_display.get_text().c_str(), "%f", &f) != 1) {
+ return;
}
/* clamp to displayable values */