diff options
author | Sergey Sharybin <sergey.vfx@gmail.com> | 2012-09-24 17:48:37 +0400 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2012-09-24 17:48:37 +0400 |
commit | 2953b6ab5c757a3fa084b8e53894682e2c585856 (patch) | |
tree | 2cb3b56407204e3f977b0ac66435077fe92a61eb /source/blender/imbuf | |
parent | c12d16cf4bf21964fb2e50e9334416d571b8ca3a (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.h | 5 | ||||
-rw-r--r-- | source/blender/imbuf/intern/IMB_colormanagement_intern.h | 5 | ||||
-rw-r--r-- | source/blender/imbuf/intern/colormanagement.c | 4 | ||||
-rw-r--r-- | source/blender/imbuf/intern/module.c | 3 |
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(); } |