[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [50933] trunk/blender/source/blender/ editors/space_image/image_ops.c: fix/workaround [#32679] Save a Copy during F12 Cycles Render produces black image

Campbell Barton ideasman42 at gmail.com
Fri Sep 28 03:16:33 CEST 2012


Revision: 50933
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=50933
Author:   campbellbarton
Date:     2012-09-28 01:16:26 +0000 (Fri, 28 Sep 2012)
Log Message:
-----------
fix/workaround [#32679] Save a Copy during F12 Cycles Render produces black image

image-save now poll's for rendering while saving an image, this can't easily work in a reliable way (buffers are being written to), so disable and set the poll fail message so the tooltip explains why this tools disabled.

Modified Paths:
--------------
    trunk/blender/source/blender/editors/space_image/image_ops.c

Modified: trunk/blender/source/blender/editors/space_image/image_ops.c
===================================================================
--- trunk/blender/source/blender/editors/space_image/image_ops.c	2012-09-27 17:42:09 UTC (rev 50932)
+++ trunk/blender/source/blender/editors/space_image/image_ops.c	2012-09-28 01:16:26 UTC (rev 50933)
@@ -1424,6 +1424,24 @@
 	uiDefAutoButsRNA(layout, &ptr, image_save_as_draw_check_prop, '\0');
 }
 
+static int image_save_as_poll(bContext *C)
+{
+	if (space_image_buffer_exists_poll(C)) {
+		if (G.is_rendering) {
+			/* no need to NULL check here */
+			SpaceImage *sima = CTX_wm_space_image(C);
+			Image *ima = ED_space_image(sima);
+
+			if ((ima->source == IMA_SRC_VIEWER)) {
+				CTX_wm_operator_poll_msg_set(C, "can't save image while rendering");
+				return FALSE;
+			}
+		}
+		return TRUE;
+	}
+	return FALSE;
+}
+
 void IMAGE_OT_save_as(wmOperatorType *ot)
 {
 //	PropertyRNA *prop;
@@ -1439,7 +1457,7 @@
 	ot->invoke = image_save_as_invoke;
 	ot->cancel = image_save_as_cancel;
 	ot->ui = image_save_as_draw;
-	ot->poll = space_image_buffer_exists_poll;
+	ot->poll = image_save_as_poll;
 
 	/* flags */
 	ot->flag = OPTYPE_REGISTER | OPTYPE_UNDO;




More information about the Bf-blender-cvs mailing list