Move sRGB conversion initialization to init_exit routines
authorSergey Sharybin <sergey.vfx@gmail.com>
Fri, 27 Jul 2012 14:53:57 +0000 (14:53 +0000)
committerSergey Sharybin <sergey.vfx@gmail.com>
Fri, 27 Jul 2012 14:53:57 +0000 (14:53 +0000)
It was a threading issue in color management project which potentially
could happen in trunk as well.

source/blender/imbuf/intern/divers.c
source/blender/windowmanager/intern/wm_init_exit.c

index 1b68c520336e93b7112b00e9280911e4490b418b..d46bf4fca4d5afdc52cd18ca5288b948e49c087c 100644 (file)
@@ -199,7 +199,6 @@ void IMB_buffer_byte_from_float(uchar *rect_to, const float *rect_from,
        BLI_assert(profile_to != IB_PROFILE_NONE);
        BLI_assert(profile_from != IB_PROFILE_NONE);
 
-       BLI_init_srgb_conversion();
        if (dither)
                di = create_dither_context(width, dither);
 
@@ -335,8 +334,6 @@ void IMB_buffer_float_from_byte(float *rect_to, const uchar *rect_from,
        BLI_assert(profile_to != IB_PROFILE_NONE);
        BLI_assert(profile_from != IB_PROFILE_NONE);
 
-       BLI_init_srgb_conversion();
-
        /* RGBA input */
        for (y = 0; y < height; y++) {
                const uchar *from = rect_from + stride_from * y * 4;
index 91942a232e16aec8c6721e60b7283cbee842340d..6297c3373356b16fbe933b3237aba24e16abe9ae 100644 (file)
@@ -66,6 +66,7 @@
 #include "BKE_tracking.h" /* free tracking clipboard */
 
 #include "BLI_listbase.h"
+#include "BLI_math_color.h"
 #include "BLI_string.h"
 #include "BLI_utildefines.h"
 
@@ -145,6 +146,10 @@ void WM_init(bContext *C, int argc, const char **argv)
        
        BLF_init(11, U.dpi); /* Please update source/gamengine/GamePlayer/GPG_ghost.cpp if you change this */
        BLF_lang_init();
+
+       /* initialize color stuff */
+       BLI_init_srgb_conversion();
+
        /* get the default database, plus a wm */
        WM_read_homefile(C, NULL, G.factory_startup);