diff options
author | Jonas Ã…dahl <jadahl@gmail.com> | 2023-03-07 00:17:25 +0100 |
---|---|---|
committer | Marge Bot <marge-bot@gnome.org> | 2023-04-18 18:38:03 +0000 |
commit | 550a1dadf1dd667ce95a1b0cbb5b0cc186a4e467 (patch) | |
tree | 64dc23a14db32d55b7ae8780897fef00a6861f9a | |
parent | 429cc9a674db51015ba15b9ca38d93607e09f386 (diff) | |
download | mutter-550a1dadf1dd667ce95a1b0cbb5b0cc186a4e467.tar.gz |
monitor: Don't use locale dependent mode ID string
The result of printf("%f", number) depends on the locale. To avoid
unpredictable mode IDs, make sure they always are generated the same no
matter the locale.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2902>
-rw-r--r-- | src/backends/meta-monitor.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/backends/meta-monitor.c b/src/backends/meta-monitor.c index 112ed97f6..72bae35b3 100644 --- a/src/backends/meta-monitor.c +++ b/src/backends/meta-monitor.c @@ -613,14 +613,17 @@ static char * generate_mode_id (MetaMonitorModeSpec *monitor_mode_spec) { gboolean is_interlaced; + char rate_str[G_ASCII_DTOSTR_BUF_SIZE]; is_interlaced = !!(monitor_mode_spec->flags & META_CRTC_MODE_FLAG_INTERLACE); + g_ascii_formatd (rate_str, sizeof (rate_str), + "%.3f", monitor_mode_spec->refresh_rate); - return g_strdup_printf ("%dx%d%s@%.3f", + return g_strdup_printf ("%dx%d%s@%s", monitor_mode_spec->width, monitor_mode_spec->height, is_interlaced ? "i" : "", - monitor_mode_spec->refresh_rate); + rate_str); } static gboolean |