From fc7de2353763c65db3c04c29dcc33289bb86966d Mon Sep 17 00:00:00 2001 From: Sergey Sharybin Date: Sun, 16 Sep 2012 15:17:22 +0000 Subject: Color Management: fix crash when displaying render preview if OCIO was disabled buildtime --- intern/opencolorio/ocio_capi.cpp | 5 +++++ intern/opencolorio/ocio_capi.h | 1 + intern/opencolorio/ocio_capi_stub.cpp | 5 +++++ source/blender/imbuf/intern/colormanagement.c | 4 ++++ 4 files changed, 15 insertions(+) diff --git a/intern/opencolorio/ocio_capi.cpp b/intern/opencolorio/ocio_capi.cpp index ec8012cc30f..d67cea61836 100644 --- a/intern/opencolorio/ocio_capi.cpp +++ b/intern/opencolorio/ocio_capi.cpp @@ -78,6 +78,11 @@ ConstConfigRcPtr *OCIO_getCurrentConfig(void) return NULL; } +ConstConfigRcPtr *OCIO_getDefaultConfig(void) +{ + return NULL; +} + void OCIO_setCurrentConfig(const ConstConfigRcPtr *config) { try { diff --git a/intern/opencolorio/ocio_capi.h b/intern/opencolorio/ocio_capi.h index f0edd25ac14..e774e3e8548 100644 --- a/intern/opencolorio/ocio_capi.h +++ b/intern/opencolorio/ocio_capi.h @@ -59,6 +59,7 @@ extern "C" { ConstConfigRcPtr *OCIO_getCurrentConfig(void); +ConstConfigRcPtr *OCIO_getDefaultConfig(void); void OCIO_setCurrentConfig(const ConstConfigRcPtr *config); ConstConfigRcPtr *OCIO_configCreateFromEnv(void); diff --git a/intern/opencolorio/ocio_capi_stub.cpp b/intern/opencolorio/ocio_capi_stub.cpp index a601cd3be91..f910d1a34cf 100644 --- a/intern/opencolorio/ocio_capi_stub.cpp +++ b/intern/opencolorio/ocio_capi_stub.cpp @@ -56,6 +56,11 @@ ConstConfigRcPtr *OCIO_getCurrentConfig(void) return CONFIG_DEFAULT; } +ConstConfigRcPtr *OCIO_getDefaultConfig(void) +{ + return CONFIG_DEFAULT; +} + void OCIO_setCurrentConfig(const ConstConfigRcPtr *) { } diff --git a/source/blender/imbuf/intern/colormanagement.c b/source/blender/imbuf/intern/colormanagement.c index 6db45f0308a..d896395f647 100644 --- a/source/blender/imbuf/intern/colormanagement.c +++ b/source/blender/imbuf/intern/colormanagement.c @@ -565,6 +565,10 @@ void IMB_colormanagement_init(void) } } + if (config == NULL) { + config = OCIO_getDefaultConfig(); + } + if (config) { OCIO_setCurrentConfig(config); -- cgit v1.2.3