View Bug Details

IDProjectCategoryView StatusLast Update
0002220DCP-o-maticBugspublic2025-01-06 23:44
Reportercarl Assigned Tocarl  
PriorityhighSeveritymajorReproducibilityalways
Status resolvedResolutionfixed 
Target Version2.18.3Fixed in Version2.18.3 
Summary0002220: Everything breaks if you change the decimal separator in the advanced settings in Windows
Description

e.g. if you set the language to Spanish, then change the decimal separator back to a . (from the default ,) metadata files are saved wrongly (e.g. 1.5 becomes 15).
Perhaps because those files use the decimal separator from the C++ runtime, and the wxWidgets one uses the more detailed settings from Windows?

TagsNo tags attached.
Branch
Estimated weeks required
Estimated work requiredUndecided

Relationships

related to 0002923 acknowledgedcarl Audio analysis finds +/- 300dB peaks that are not there 

Activities

carl

2022-03-21 20:43

administrator   ~0004963

raw_convert works by doing a locale-dependent conversion then removing what localeconv says is the thousands separator and replacing its idea of the decimal point with .

carl

2024-12-22 21:07

administrator   ~0006676

Last edited: 2024-12-22 21:30

fmt could be used to go to string, maybe scnlib the other direction but that needs C++17.

Building on Fedora 41 (with --c++17) fails with some glibmm/cairo nonsense error: ‘make_refptr_for_instance’ is not a member of ‘Glib

carl

2024-12-23 13:11

administrator   ~0006678

C++17 still seems to be a no-go because of needing to stay on the old wxWidgets (for old macOS?) and Ubuntu 16.04 just doesn't support it.

carl

2024-12-23 13:13

administrator   ~0006679

Further options:

  • fmt for number -> string, hand-rolled library for string -> number
  • fmt for number -> string, maybe we get away with the existing hacks for string -> number?

carl

2024-12-23 14:36

administrator   ~0006680

Last edited: 2024-12-25 21:53

libdcp:fmt3 branch uses fmt for number -> string.
fmt branch in DoM

carl

2024-12-29 11:30

administrator   ~0006694

Last edited: 2024-12-29 11:31

fmt does not build on Ubuntu 16. libdcp:fmt4 / dcpomatic:fmt2 makes it optional, using fast_float for number-to-string.

carl

2024-12-29 13:19

administrator   ~0006695

...though this libdcp branch seems OK on Ubuntu 16...

carl

2025-01-05 12:02

administrator   ~0006719

Should be fixed in b03f2277a205ff7e7cdaa12c6e52322ea474a7af

Bug History

Date Modified Username Field Change
2022-03-21 20:40 carl New Bug
2022-03-21 20:40 carl Assigned To => carl
2022-03-21 20:40 carl Status new => confirmed
2022-03-21 20:41 carl Target Version 2.16.5 => 2.16.x
2022-03-21 20:41 carl Estimated work required => Undecided
2022-03-21 20:43 carl Note Added: 0004963
2024-12-22 15:46 carl Relationship added related to 0002923
2024-12-22 15:49 carl Priority normal => high
2024-12-22 21:07 carl Note Added: 0006676
2024-12-22 21:12 carl Note Edited: 0006676
2024-12-22 21:30 carl Note Edited: 0006676
2024-12-23 13:11 carl Note Added: 0006678
2024-12-23 13:13 carl Note Added: 0006679
2024-12-23 14:36 carl Note Added: 0006680
2024-12-25 21:53 carl Note Edited: 0006680
2024-12-29 11:30 carl Note Added: 0006694
2024-12-29 11:31 carl Note Edited: 0006694
2024-12-29 13:19 carl Note Added: 0006695
2025-01-05 12:02 carl Status confirmed => resolved
2025-01-05 12:02 carl Resolution open => fixed
2025-01-05 12:02 carl Note Added: 0006719
2025-01-06 23:44 carl Fixed in Version => 2.18.3
2025-01-06 23:44 carl Target Version 2.16.x => 2.18.3