Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--intern/opencolorio/ocio_impl.cc37
-rw-r--r--source/blender/imbuf/intern/colormanagement.c11
2 files changed, 13 insertions, 35 deletions
diff --git a/intern/opencolorio/ocio_impl.cc b/intern/opencolorio/ocio_impl.cc
index 5c05d18ac48..82536a74159 100644
--- a/intern/opencolorio/ocio_impl.cc
+++ b/intern/opencolorio/ocio_impl.cc
@@ -25,7 +25,6 @@
* ***** END GPL LICENSE BLOCK *****
*/
-#include <fstream>
#include <iostream>
#include <sstream>
#include <string.h>
@@ -56,19 +55,6 @@ using namespace OCIO_NAMESPACE;
# define __func__ __FUNCTION__
#endif
-#ifdef _WIN32
-# ifndef NOGDI
-# define NOGDI
-# endif
-# ifndef NOMINMAX
-# define NOMINMAX
-# endif
-# ifndef WIN32_LEAN_AND_MEAN
-# define WIN32_LEAN_AND_MEAN
-# endif
-# include <windows.h>
-#endif
-
static void OCIO_reportError(const char *err)
{
std::cerr << "OpenColorIO Error: " << err << std::endl;
@@ -135,26 +121,7 @@ OCIO_ConstConfigRcPtr *OCIOImpl::configCreateFromFile(const char *filename)
ConstConfigRcPtr *config = OBJECT_GUARDED_NEW(ConstConfigRcPtr);
try {
-#ifdef _WIN32
- const int length_mb = strlen(filename);
- const int length_wc = MultiByteToWideChar(CP_UTF8,
- 0,
- filename,
- length_mb,
- NULL,
- 0);
- std::wstring wfilename(length_wc, 0);
- MultiByteToWideChar(CP_UTF8,
- 0,
- filename,
- length_mb,
- &wfilename[0],
- length_wc);
- std::fstream stream(wfilename);
-#else
- std::fstream stream(filename);
-#endif
- *config = Config::CreateFromStream(stream);
+ *config = Config::CreateFromFile(filename);
if (*config)
return (OCIO_ConstConfigRcPtr *) config;
@@ -655,7 +622,7 @@ void OCIOImpl::matrixTransformScale(float *m44, float *offset4, const float *sca
const char *OCIOImpl::getVersionString(void)
{
- return OCIO_NAMESPACE::GetVersion();
+ return GetVersion();
}
int OCIOImpl::getVersionHex(void)
diff --git a/source/blender/imbuf/intern/colormanagement.c b/source/blender/imbuf/intern/colormanagement.c
index e38367414fd..e4e93d3c4da 100644
--- a/source/blender/imbuf/intern/colormanagement.c
+++ b/source/blender/imbuf/intern/colormanagement.c
@@ -635,7 +635,18 @@ void colormanagement_init(void)
if (configdir) {
BLI_join_dirfile(configfile, sizeof(configfile), configdir, BCM_CONFIG_FILE);
+
+#ifdef WIN32
+ {
+ /* quite a hack to support loading configuration from path with non-acii symbols */
+
+ char short_name[256];
+ BLI_get_short_name(short_name, configfile);
+ config = OCIO_configCreateFromFile(short_name);
+ }
+#else
config = OCIO_configCreateFromFile(configfile);
+#endif
}
}