[go: up one dir, main page]

Use locale independent double parser for units.xml

Fix unit conversion utility regression caused by b0d14630

std::stod is locale dependent and will fail to correctly parse the numbers when the system locale is not using "." as decimal fraction separator.

Add basic unit test as a sanity check that unit conversion is working correctly.

An easy way to check for the presence of bug is opening page settings and switching the unit from mm to cm or px. 1mm should be 0.1cm or 3.79...px.

Before fix:

page_before_fix before_fix

After fix:

page_before_fix after_fix

There seems to be few dozen other uses of std::stod in inkscape, might be good idea to double check those afterwards. Some of them processing UI strings might be correct, others might not.

Merge request reports

Loading