You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
IECore.repr() is using boost::lexical_castunder the hood, which is locale sensitive. In some locales, this means the result cannot be parsed by Python.
I removed this in e323014 after verifying that the OCIO bug it worked around was now fixed properly. But what I didn't realise is that we have our _own_ equivalent bug in ImageEngine/cortex#1338. So I'm reverting the change until we have time to fix properly in Cortex.
FixedGafferHQ#5158
I removed this in e323014 after verifying that the OCIO bug it worked around was now fixed properly. But what I didn't realise is that we have our _own_ equivalent bug in ImageEngine/cortex#1338. So I'm reverting the change until we have time to fix properly in Cortex.
FixesGafferHQ#5158
I removed this in e323014 after verifying that the OCIO bug it worked around was now fixed properly. But what I didn't realise is that we have our _own_ equivalent bug in ImageEngine/cortex#1338. So I'm reverting the change until we have time to fix properly in Cortex.
FixesGafferHQ#5158
Description
IECore.repr()
is usingboost::lexical_cast
under the hood, which is locale sensitive. In some locales, this means the result cannot be parsed by Python.Steps to Reproduce
Run
python -c "import locale; locale.setlocale( locale.LC_NUMERIC, 'fr_FR.UTF-8' ); import IECore; import imath; print( IECore.repr( imath.V2f( 1.25 ) ) )
This outputs
imath.V2f( 1,25, 1,25 )
but should outputimath.V2f( 1.25, 1.25 )
Recommended solution
Reimplement
IECore::repr()
usingfmt::format()
, which is fast, and ignores locale unless explicitly requested.The text was updated successfully, but these errors were encountered: