[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [43290] trunk/blender/source/blender/ makesrna/intern: Fix: toggling premultiply or color management not updating packed images.

Brecht Van Lommel brechtvanlommel at pandora.be
Wed Jan 11 14:18:25 CET 2012


Revision: 43290
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=43290
Author:   blendix
Date:     2012-01-11 13:18:24 +0000 (Wed, 11 Jan 2012)
Log Message:
-----------
Fix: toggling premultiply or color management not updating packed images.

Modified Paths:
--------------
    trunk/blender/source/blender/makesrna/intern/rna_image.c
    trunk/blender/source/blender/makesrna/intern/rna_scene.c

Modified: trunk/blender/source/blender/makesrna/intern/rna_image.c
===================================================================
--- trunk/blender/source/blender/makesrna/intern/rna_image.c	2012-01-11 13:18:06 UTC (rev 43289)
+++ trunk/blender/source/blender/makesrna/intern/rna_image.c	2012-01-11 13:18:24 UTC (rev 43290)
@@ -107,6 +107,15 @@
 	BKE_image_release_ibuf(ima, lock);
 }
 
+static void rna_Image_free_update(Main *UNUSED(bmain), Scene *UNUSED(scene), PointerRNA *ptr)
+{
+	Image *ima= ptr->id.data;
+	BKE_image_signal(ima, NULL, IMA_SIGNAL_FREE);
+	WM_main_add_notifier(NC_IMAGE|NA_EDITED, &ima->id);
+	DAG_id_tag_update(&ima->id, 0);
+}
+
+
 static void rna_Image_reload_update(Main *UNUSED(bmain), Scene *UNUSED(scene), PointerRNA *ptr)
 {
 	Image *ima= ptr->id.data;
@@ -476,12 +485,12 @@
 	prop= RNA_def_property(srna, "use_premultiply", PROP_BOOLEAN, PROP_NONE);
 	RNA_def_property_boolean_sdna(prop, NULL, "flag", IMA_DO_PREMUL);
 	RNA_def_property_ui_text(prop, "Premultiply", "Convert RGB from key alpha to premultiplied alpha");
-	RNA_def_property_update(prop, NC_IMAGE|ND_DISPLAY, "rna_Image_reload_update");
+	RNA_def_property_update(prop, NC_IMAGE|ND_DISPLAY, "rna_Image_free_update");
 	
 	prop= RNA_def_property(srna, "use_color_unpremultiply", PROP_BOOLEAN, PROP_NONE);
 	RNA_def_property_boolean_sdna(prop, NULL, "flag", IMA_CM_PREDIVIDE);
 	RNA_def_property_ui_text(prop, "Color Unpremultiply", "For premultiplied alpha images, do color space conversion on colors without alpha, to avoid fringing for images with light backgrounds");
-	RNA_def_property_update(prop, NC_IMAGE|ND_DISPLAY, "rna_Image_reload_update");
+	RNA_def_property_update(prop, NC_IMAGE|ND_DISPLAY, "rna_Image_free_update");
 
 	prop= RNA_def_property(srna, "is_dirty", PROP_BOOLEAN, PROP_NONE);
 	RNA_def_property_boolean_funcs(prop, "rna_Image_dirty_get", NULL);

Modified: trunk/blender/source/blender/makesrna/intern/rna_scene.c
===================================================================
--- trunk/blender/source/blender/makesrna/intern/rna_scene.c	2012-01-11 13:18:06 UTC (rev 43289)
+++ trunk/blender/source/blender/makesrna/intern/rna_scene.c	2012-01-11 13:18:24 UTC (rev 43290)
@@ -999,7 +999,7 @@
 				WM_main_add_notifier(NC_NODE|NA_EDITED, node);
 				
 				if (node->type == CMP_NODE_IMAGE)
-					BKE_image_signal((Image *)node->id, NULL, IMA_SIGNAL_RELOAD);
+					BKE_image_signal((Image *)node->id, NULL, IMA_SIGNAL_FREE);
 			}
 		}
 	}




More information about the Bf-blender-cvs mailing list