[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [18765] branches/blender2.5/blender/source /blender: 2.5

Ton Roosendaal ton at blender.org
Sat Jan 31 11:00:14 CET 2009


Revision: 18765
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=18765
Author:   ton
Date:     2009-01-31 11:00:08 +0100 (Sat, 31 Jan 2009)

Log Message:
-----------
2.5

- Made standard border operator calls bail out on zero sized borders
- Fixed compile warning in call to BKE_animsys_evaluate_animdata()

Modified Paths:
--------------
    branches/blender2.5/blender/source/blender/blenkernel/intern/action.c
    branches/blender2.5/blender/source/blender/windowmanager/intern/wm_operators.c

Modified: branches/blender2.5/blender/source/blender/blenkernel/intern/action.c
===================================================================
--- branches/blender2.5/blender/source/blender/blenkernel/intern/action.c	2009-01-31 09:58:38 UTC (rev 18764)
+++ branches/blender2.5/blender/source/blender/blenkernel/intern/action.c	2009-01-31 10:00:08 UTC (rev 18765)
@@ -710,7 +710,7 @@
 	adt.action= act;
 	
 	/* execute effects of Action on to workob (or it's PoseChannels) */
-	BKE_animsys_evaluate_animdata(workob, &adt, cframe, ADT_RECALC_ANIM);
+	BKE_animsys_evaluate_animdata(&workob->id, &adt, cframe, ADT_RECALC_ANIM);
 }
 
 /* ********** NLA with non-poses works with ipo channels ********** */

Modified: branches/blender2.5/blender/source/blender/windowmanager/intern/wm_operators.c
===================================================================
--- branches/blender2.5/blender/source/blender/windowmanager/intern/wm_operators.c	2009-01-31 09:58:38 UTC (rev 18764)
+++ branches/blender2.5/blender/source/blender/windowmanager/intern/wm_operators.c	2009-01-31 10:00:08 UTC (rev 18765)
@@ -519,7 +519,7 @@
    It stores 4 values (xmin, xmax, ymin, ymax) and event it ended with (event_type)
 */
 
-static void border_apply(bContext *C, wmOperator *op, int event_type)
+static int border_apply(bContext *C, wmOperator *op, int event_type)
 {
 	wmGesture *gesture= op->customdata;
 	rcti *rect= gesture->customdata;
@@ -529,15 +529,20 @@
 	if(rect->ymin > rect->ymax)
 		SWAP(int, rect->ymin, rect->ymax);
 	
-	/* operator arguments and storage. */
-	RNA_int_set(op->ptr, "xmin", rect->xmin);
-	RNA_int_set(op->ptr, "ymin", rect->ymin);
-	RNA_int_set(op->ptr, "xmax", rect->xmax);
-	RNA_int_set(op->ptr, "ymax", rect->ymax);
-	if( RNA_struct_find_property(op->ptr, "event_type") )
-		RNA_int_set(op->ptr, "event_type", event_type);
-	
-	op->type->exec(C, op);
+	if(rect->xmin==rect->xmax || rect->ymin==rect->ymax)
+		return 0;
+	else {
+		
+		/* operator arguments and storage. */
+		RNA_int_set(op->ptr, "xmin", rect->xmin);
+		RNA_int_set(op->ptr, "ymin", rect->ymin);
+		RNA_int_set(op->ptr, "xmax", rect->xmax);
+		RNA_int_set(op->ptr, "ymax", rect->ymax);
+		if( RNA_struct_find_property(op->ptr, "event_type") )
+			RNA_int_set(op->ptr, "event_type", event_type);
+		
+		op->type->exec(C, op);
+	}
 }
 
 static void wm_gesture_end(bContext *C, wmOperator *op)
@@ -597,9 +602,12 @@
 				}
 			}
 			else {
-				border_apply(C, op, event->type);
+				if(border_apply(C, op, event->type)) {
+					wm_gesture_end(C, op);
+					return OPERATOR_FINISHED;
+				}
 				wm_gesture_end(C, op);
-				return OPERATOR_FINISHED;
+				return OPERATOR_CANCELLED;
 			}
 			break;
 		case ESCKEY:





More information about the Bf-blender-cvs mailing list