[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [35150] trunk/blender/source/blender/ editors/space_image/image_ops.c: bugfix #26211
M.G. Kishalmi
lmg at kishalmi.net
Fri Feb 25 12:00:38 CET 2011
Revision: 35150
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=35150
Author: lmg
Date: 2011-02-25 11:00:38 +0000 (Fri, 25 Feb 2011)
Log Message:
-----------
bugfix #26211
render-result doesn't get an ibuf with BKE_image_get_ibuf
added a poll method to grey-out entries if !ibuf for now.
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 2011-02-25 10:58:04 UTC (rev 35149)
+++ trunk/blender/source/blender/editors/space_image/image_ops.c 2011-02-25 11:00:38 UTC (rev 35150)
@@ -1347,14 +1347,28 @@
/********************* invert operators *********************/
-static int image_invert_exec(bContext *C, wmOperator *op) {
+static int image_invert_poll(bContext *C)
+{
Image *ima= CTX_data_edit_image(C);
ImBuf *ibuf= BKE_image_get_ibuf(ima, NULL);
+ if( ibuf != NULL )
+ return 1;
+ return 0;
+}
+
+static int image_invert_exec(bContext *C, wmOperator *op)
+{
+ Image *ima= CTX_data_edit_image(C);
+ ImBuf *ibuf= BKE_image_get_ibuf(ima, NULL);
+
// flags indicate if this channel should be inverted
short r,g,b,a;
int i, dirty = 0;
+ if( ibuf == NULL) // TODO: this should actually never happen, but does for render-results -> cleanup
+ return OPERATOR_CANCELLED;
+
r = RNA_boolean_get(op->ptr, "invert_r");
g = RNA_boolean_get(op->ptr, "invert_g");
b = RNA_boolean_get(op->ptr, "invert_b");
@@ -1394,13 +1408,15 @@
}
-void IMAGE_OT_invert(wmOperatorType *ot) {
+void IMAGE_OT_invert(wmOperatorType *ot)
+{
/* identifiers */
ot->name= "Invert Channels";
ot->idname= "IMAGE_OT_invert";
/* api callbacks */
ot->exec= image_invert_exec;
+ ot->poll= image_invert_poll;
/* properties */
RNA_def_boolean(ot->srna, "invert_r", 0, "Red", "Invert Red Channel");
More information about the Bf-blender-cvs
mailing list