[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [50878] trunk/blender/source/blender: Color Management: float generated images had is_data flag set incorrect

Sergey Sharybin sergey.vfx at gmail.com
Tue Sep 25 10:42:24 CEST 2012


Revision: 50878
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=50878
Author:   nazgul
Date:     2012-09-25 08:42:24 +0000 (Tue, 25 Sep 2012)
Log Message:
-----------
Color Management: float generated images had is_data flag set incorrect

Modified Paths:
--------------
    trunk/blender/source/blender/blenkernel/intern/image.c
    trunk/blender/source/blender/imbuf/IMB_colormanagement.h
    trunk/blender/source/blender/imbuf/intern/colormanagement.c

Modified: trunk/blender/source/blender/blenkernel/intern/image.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/image.c	2012-09-25 08:02:05 UTC (rev 50877)
+++ trunk/blender/source/blender/blenkernel/intern/image.c	2012-09-25 08:42:24 UTC (rev 50878)
@@ -619,6 +619,8 @@
 
 			BLI_strncpy(colorspace_settings->name, colorspace, sizeof(colorspace_settings->name));
 		}
+
+		IMB_colormanagement_check_is_data(ibuf, colorspace_settings->name);
 	}
 	else {
 		ibuf = IMB_allocImBuf(width, height, depth, IB_rect);

Modified: trunk/blender/source/blender/imbuf/IMB_colormanagement.h
===================================================================
--- trunk/blender/source/blender/imbuf/IMB_colormanagement.h	2012-09-25 08:02:05 UTC (rev 50877)
+++ trunk/blender/source/blender/imbuf/IMB_colormanagement.h	2012-09-25 08:42:24 UTC (rev 50878)
@@ -58,6 +58,7 @@
                                            struct ColorManagedViewSettings *view_settings);
 
 const char *IMB_colormanagement_role_colorspace_name_get(int role);
+void IMB_colormanagement_check_is_data(struct ImBuf *ibuf, const char *name);
 void IMB_colormanagement_assign_rect_colorspace(struct ImBuf *ibuf, const char *name);
 
 /* ** Color space transformation functions ** */

Modified: trunk/blender/source/blender/imbuf/intern/colormanagement.c
===================================================================
--- trunk/blender/source/blender/imbuf/intern/colormanagement.c	2012-09-25 08:02:05 UTC (rev 50877)
+++ trunk/blender/source/blender/imbuf/intern/colormanagement.c	2012-09-25 08:42:24 UTC (rev 50878)
@@ -1071,17 +1071,26 @@
 	return NULL;
 }
 
+void IMB_colormanagement_check_is_data(ImBuf *ibuf, const char *name)
+{
+	ColorSpace *colorspace = colormanage_colorspace_get_named(name);
+
+	if (colorspace->is_data)
+		ibuf->colormanage_flag |= IMB_COLORMANAGE_IS_DATA;
+	else
+		ibuf->colormanage_flag &= ~IMB_COLORMANAGE_IS_DATA;
+}
+
 void IMB_colormanagement_assign_rect_colorspace(ImBuf *ibuf, const char *name)
 {
 	ColorSpace *colorspace = colormanage_colorspace_get_named(name);
-	if (colorspace) {
-		ibuf->rect_colorspace = colorspace;
 
-		if (colorspace->is_data)
-			ibuf->colormanage_flag |= IMB_COLORMANAGE_IS_DATA;
-		else
-			ibuf->colormanage_flag &= ~IMB_COLORMANAGE_IS_DATA;
-	}
+	ibuf->rect_colorspace = colorspace;
+
+	if (colorspace->is_data)
+		ibuf->colormanage_flag |= IMB_COLORMANAGE_IS_DATA;
+	else
+		ibuf->colormanage_flag &= ~IMB_COLORMANAGE_IS_DATA;
 }
 
 /*********************** Threaded display buffer transform routines *************************/




More information about the Bf-blender-cvs mailing list