OpenColorIO icon indicating copy to clipboard operation
OpenColorIO copied to clipboard

Config's setActiveViews doesn't support views with commas in the name

Open doug-walker opened this issue 1 year ago • 0 comments

Commas are used as a separator for the string passed to setActiveViews or received from getActiveViews. If a view name has a comma, it will be treated as a separator and essentially break the config.

When serializing a config file, OCIO uses quotes in the YAML to package certain strings that contain commas, such as color spaces and view transforms. So it is possible to get commas through the YAML parsing. However they are not handled by SplitStringEnvStyle in ParseUtils.cpp which is used to tokenize the string argument to setActiveViews.

The proposal is that SplitStringEnvStyle be upgraded to handle quotes similar to how they work in YAML, as a way to separate string tokens that may contain commas. Similarly, JoinStringEnvStyle should be upgraded to quote names with commas.

A similar problem exists with setActiveDisplays and would be fixed at the same time, since it uses SplitStringEnvStyle.

doug-walker avatar Oct 24 '24 03:10 doug-walker