aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Gabriel <mike.gabriel@das-netzwerkteam.de>2024-05-14 17:06:55 +0200
committerMike Gabriel <mike.gabriel@das-netzwerkteam.de>2024-05-15 09:36:25 +0200
commit89ca869f6cf3cb10871d8fd8c54b5bd2a870a8da (patch)
treee402271504868897ab67c109aaac48ac2031661b
parentcd7ad7e27544e0073d817624bc40438a19ae9c33 (diff)
downloadayatana-indicator-display-89ca869f6cf3cb10871d8fd8c54b5bd2a870a8da.tar.gz
ayatana-indicator-display-89ca869f6cf3cb10871d8fd8c54b5bd2a870a8da.tar.bz2
ayatana-indicator-display-89ca869f6cf3cb10871d8fd8c54b5bd2a870a8da.zip
src/main.cpp: Initialize LC_NUMERIC with 'POSIX'.
This assures that float number conversions (from float to string via e.g. g_strdup_sprintf()) always use a dot in decimal numbers. This resolves blackening of the screen if users with e.g. de_DE.UTF-8 use the brightness slider and hand over a komma-decimal to the xsct executable (which only understands dot-decimals). As we don't use numbers / number conversions anywhere else in the display indicator, this global setting of LC_NUMERIC seems to be the easiest approach.
-rw-r--r--src/main.cpp14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/main.cpp b/src/main.cpp
index a422610..c03a5ec 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -48,6 +48,20 @@ main(int /*argc*/, char** /*argv*/)
// boilerplate i18n
setlocale(LC_ALL, "");
+
+ // Initialize LC_NUMERIC with 'POSIX'. This assures that float number
+ // conversions (from float to string via e.g. g_strdup_sprintf()) always
+ // use a dot in decimal numbers.
+ //
+ // This resolves blackening of the screen if users with e.g. de_DE.UTF-8
+ // use the brightness slider and hand over a komma-decimal to the xsct
+ // executable (which only understands dot-decimals).
+ //
+ // As we don't use numbers / number conversions anywhere else in the
+ // display indicator, this global setting of LC_NUMERIC seems to be the
+ // easiest approach.
+ setlocale(LC_NUMERIC, "POSIX");
+
bindtextdomain(GETTEXT_PACKAGE, LOCALEDIR);
textdomain(GETTEXT_PACKAGE);