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:
authorSergey Sharybin <sergey.vfx@gmail.com>2012-09-24 17:48:37 +0400
committerSergey Sharybin <sergey.vfx@gmail.com>2012-09-24 17:48:37 +0400
commit2953b6ab5c757a3fa084b8e53894682e2c585856 (patch)
tree2cb3b56407204e3f977b0ac66435077fe92a61eb /source/blender/imbuf
parentc12d16cf4bf21964fb2e50e9334416d571b8ca3a (diff)
Fix #32644: ctrl+F11 internal animation player crash
Crash was caused by missed color management initialization -- it was happening too late. Move it to generic ImBuf init/exit functions, so now color management is properly initializing when animation player is launched.
Diffstat (limited to 'source/blender/imbuf')
-rw-r--r--source/blender/imbuf/IMB_colormanagement.h5
-rw-r--r--source/blender/imbuf/intern/IMB_colormanagement_intern.h5
-rw-r--r--source/blender/imbuf/intern/colormanagement.c4
-rw-r--r--source/blender/imbuf/intern/module.c3
4 files changed, 10 insertions, 7 deletions
diff --git a/source/blender/imbuf/IMB_colormanagement.h b/source/blender/imbuf/IMB_colormanagement.h
index 7126d1bcc8b..f6aaae716a8 100644
--- a/source/blender/imbuf/IMB_colormanagement.h
+++ b/source/blender/imbuf/IMB_colormanagement.h
@@ -50,11 +50,6 @@ struct ImageFormatData;
struct ColorSpace;
struct ColorManagedDisplay;
-/* ** Initialization / De-initialization ** */
-
-void IMB_colormanagement_init(void);
-void IMB_colormanagement_exit(void);
-
/* ** Generic functions ** */
void IMB_colormanagement_check_file_config(struct Main *bmain);
diff --git a/source/blender/imbuf/intern/IMB_colormanagement_intern.h b/source/blender/imbuf/intern/IMB_colormanagement_intern.h
index 059bdee00eb..648dd735bbe 100644
--- a/source/blender/imbuf/intern/IMB_colormanagement_intern.h
+++ b/source/blender/imbuf/intern/IMB_colormanagement_intern.h
@@ -67,6 +67,11 @@ typedef struct ColorManagedView {
char name[64];
} ColorManagedView;
+/* ** Initialization / De-initialization ** */
+
+void colormanagement_init(void);
+void colormanagement_exit(void);
+
void colormanage_cache_free(struct ImBuf *ibuf);
struct ColorManagedDisplay *colormanage_display_get_default(void);
diff --git a/source/blender/imbuf/intern/colormanagement.c b/source/blender/imbuf/intern/colormanagement.c
index 18a03c859e9..91eb1f5153e 100644
--- a/source/blender/imbuf/intern/colormanagement.c
+++ b/source/blender/imbuf/intern/colormanagement.c
@@ -548,7 +548,7 @@ static void colormanage_free_config(void)
BLI_freelistN(&global_views);
}
-void IMB_colormanagement_init(void)
+void colormanagement_init(void)
{
const char *ocio_env;
const char *configdir;
@@ -585,7 +585,7 @@ void IMB_colormanagement_init(void)
BLI_init_srgb_conversion();
}
-void IMB_colormanagement_exit(void)
+void colormanagement_exit(void)
{
colormanage_free_config();
}
diff --git a/source/blender/imbuf/intern/module.c b/source/blender/imbuf/intern/module.c
index 55a29333620..9141dad6f9c 100644
--- a/source/blender/imbuf/intern/module.c
+++ b/source/blender/imbuf/intern/module.c
@@ -28,16 +28,19 @@
#include <stddef.h>
#include "IMB_imbuf.h"
#include "IMB_filetype.h"
+#include "IMB_colormanagement_intern.h"
void IMB_init(void)
{
imb_filetypes_init();
imb_tile_cache_init();
+ colormanagement_init();
}
void IMB_exit(void)
{
imb_tile_cache_exit();
imb_filetypes_exit();
+ colormanagement_exit();
}