[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [50846] trunk/blender/source/blender: Fix #32644: ctrl+F11 internal animation player crash
Sergey Sharybin
sergey.vfx at gmail.com
Mon Sep 24 15:48:37 CEST 2012
Revision: 50846
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=50846
Author: nazgul
Date: 2012-09-24 13:48:37 +0000 (Mon, 24 Sep 2012)
Log Message:
-----------
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.
Modified Paths:
--------------
trunk/blender/source/blender/imbuf/IMB_colormanagement.h
trunk/blender/source/blender/imbuf/intern/IMB_colormanagement_intern.h
trunk/blender/source/blender/imbuf/intern/colormanagement.c
trunk/blender/source/blender/imbuf/intern/module.c
trunk/blender/source/blender/windowmanager/intern/wm_init_exit.c
Modified: trunk/blender/source/blender/imbuf/IMB_colormanagement.h
===================================================================
--- trunk/blender/source/blender/imbuf/IMB_colormanagement.h 2012-09-24 13:02:08 UTC (rev 50845)
+++ trunk/blender/source/blender/imbuf/IMB_colormanagement.h 2012-09-24 13:48:37 UTC (rev 50846)
@@ -50,11 +50,6 @@
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);
Modified: trunk/blender/source/blender/imbuf/intern/IMB_colormanagement_intern.h
===================================================================
--- trunk/blender/source/blender/imbuf/intern/IMB_colormanagement_intern.h 2012-09-24 13:02:08 UTC (rev 50845)
+++ trunk/blender/source/blender/imbuf/intern/IMB_colormanagement_intern.h 2012-09-24 13:48:37 UTC (rev 50846)
@@ -67,6 +67,11 @@
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);
Modified: trunk/blender/source/blender/imbuf/intern/colormanagement.c
===================================================================
--- trunk/blender/source/blender/imbuf/intern/colormanagement.c 2012-09-24 13:02:08 UTC (rev 50845)
+++ trunk/blender/source/blender/imbuf/intern/colormanagement.c 2012-09-24 13:48:37 UTC (rev 50846)
@@ -548,7 +548,7 @@
BLI_freelistN(&global_views);
}
-void IMB_colormanagement_init(void)
+void colormanagement_init(void)
{
const char *ocio_env;
const char *configdir;
@@ -585,7 +585,7 @@
BLI_init_srgb_conversion();
}
-void IMB_colormanagement_exit(void)
+void colormanagement_exit(void)
{
colormanage_free_config();
}
Modified: trunk/blender/source/blender/imbuf/intern/module.c
===================================================================
--- trunk/blender/source/blender/imbuf/intern/module.c 2012-09-24 13:02:08 UTC (rev 50845)
+++ trunk/blender/source/blender/imbuf/intern/module.c 2012-09-24 13:48:37 UTC (rev 50846)
@@ -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();
}
Modified: trunk/blender/source/blender/windowmanager/intern/wm_init_exit.c
===================================================================
--- trunk/blender/source/blender/windowmanager/intern/wm_init_exit.c 2012-09-24 13:02:08 UTC (rev 50845)
+++ trunk/blender/source/blender/windowmanager/intern/wm_init_exit.c 2012-09-24 13:48:37 UTC (rev 50846)
@@ -114,8 +114,6 @@
#include "BKE_sound.h"
#include "COM_compositor.h"
-#include "IMB_colormanagement.h"
-
static void wm_init_reports(bContext *C)
{
BKE_reports_init(CTX_wm_reports(C), RPT_STORE);
@@ -144,12 +142,6 @@
ED_spacetypes_init(); /* editors/space_api/spacetype.c */
- /* initialize color management stuff
- * do this before ED_file_init because that function would load images,
- * so at least default byte color space should be already known
- */
- IMB_colormanagement_init();
-
ED_file_init(); /* for fsmenu */
ED_node_init_butfuncs();
@@ -374,8 +366,6 @@
sound_exit();
- IMB_colormanagement_exit();
-
/* first wrap up running stuff, we assume only the active WM is running */
/* modal handlers are on window level freed, others too? */
/* note; same code copied in wm_files.c */
More information about the Bf-blender-cvs
mailing list