mm2 / Little-CMS

A free, open source, CMM engine. It provides fast transforms between ICC profiles.
https://www.littlecms.com
MIT License
572 stars 176 forks source link

fast float plugin: Fix proper accessing of LCMS2 internals #341

Closed amyspark closed 2 years ago

amyspark commented 2 years ago

Hi @mm2!

This PR fixes a slight mishap in the fast float plugin internals. Both LCMS and the fast float plugin share common code in its header file, which causes definitions to shadow each other when the tests are built with LCMS_FAST_EXTENSIONS. This is not allowed in MSVC.

mm2 commented 2 years ago

Hello,

Thanks for your contribution. Unfortunately this PR breaks the rule than plug-ins should not access lcms2 core internals in any way. This is the point of having a plug-in API and plug-in documentation. Think that plug-ins may be compiled into a DLL by using a given version of lcms2, and then used by another different version of lcms2.

Anyway you have uncovered an issue, which is the existence of LCMS_FAST_EXTENSIONS in the lcms2 testbed. That is a remains of development and should not be there. I am removing it for 2.14

Thanks for let me know!