[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [24850] trunk/blender/source/blender/ editors: Made select operator return FINISHED only when it did something ( only PASSTHROUGH otherwise)

Martin Poirier theeth at yahoo.com
Tue Nov 24 05:59:53 CET 2009


Revision: 24850
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=24850
Author:   theeth
Date:     2009-11-24 05:59:52 +0100 (Tue, 24 Nov 2009)

Log Message:
-----------
Made select operator return FINISHED only when it did something (only PASSTHROUGH otherwise)

Modified Paths:
--------------
    trunk/blender/source/blender/editors/armature/editarmature.c
    trunk/blender/source/blender/editors/curve/editcurve.c
    trunk/blender/source/blender/editors/include/ED_armature.h
    trunk/blender/source/blender/editors/include/ED_curve.h
    trunk/blender/source/blender/editors/include/ED_mball.h
    trunk/blender/source/blender/editors/include/ED_mesh.h
    trunk/blender/source/blender/editors/include/ED_object.h
    trunk/blender/source/blender/editors/mesh/editmesh_mods.c
    trunk/blender/source/blender/editors/metaball/mball_edit.c
    trunk/blender/source/blender/editors/object/object_lattice.c
    trunk/blender/source/blender/editors/space_view3d/view3d_select.c

Modified: trunk/blender/source/blender/editors/armature/editarmature.c
===================================================================
--- trunk/blender/source/blender/editors/armature/editarmature.c	2009-11-24 04:30:24 UTC (rev 24849)
+++ trunk/blender/source/blender/editors/armature/editarmature.c	2009-11-24 04:59:52 UTC (rev 24850)
@@ -1875,7 +1875,7 @@
 
 
 /* context: editmode armature in view3d */
-void mouse_armature(bContext *C, short mval[2], int extend)
+int mouse_armature(bContext *C, short mval[2], int extend)
 {
 	Object *obedit= CTX_data_edit_object(C);
 	bArmature *arm= obedit->data;
@@ -1946,7 +1946,10 @@
 		}
 		
 		WM_event_add_notifier(C, NC_OBJECT|ND_BONE_SELECT, vc.obedit);
+		return 1;
 	}
+
+	return 0;
 }
 
 void ED_armature_edit_free(struct Object *ob)

Modified: trunk/blender/source/blender/editors/curve/editcurve.c
===================================================================
--- trunk/blender/source/blender/editors/curve/editcurve.c	2009-11-24 04:30:24 UTC (rev 24849)
+++ trunk/blender/source/blender/editors/curve/editcurve.c	2009-11-24 04:59:52 UTC (rev 24850)
@@ -3055,7 +3055,7 @@
 
 /***************** pick select from 3d view **********************/
 
-void mouse_nurb(bContext *C, short mval[2], int extend)
+int mouse_nurb(bContext *C, short mval[2], int extend)
 {
 	Object *obedit= CTX_data_edit_object(C); 
 	Curve *cu= obedit->data;
@@ -3111,12 +3111,15 @@
 
 		}
 
+		if(nu!=get_actNurb(obedit))
+			set_actNurb(obedit, nu);
+
+		WM_event_add_notifier(C, NC_GEOM|ND_SELECT, obedit->data);
+
+		return 1;
 	}
-
-	WM_event_add_notifier(C, NC_GEOM|ND_SELECT, obedit->data);
 	
-	if(nu!=get_actNurb(obedit))
-		set_actNurb(obedit, nu);
+	return 0;
 }
 
 /******************** spin operator ***********************/

Modified: trunk/blender/source/blender/editors/include/ED_armature.h
===================================================================
--- trunk/blender/source/blender/editors/include/ED_armature.h	2009-11-24 04:30:24 UTC (rev 24849)
+++ trunk/blender/source/blender/editors/include/ED_armature.h	2009-11-24 04:59:52 UTC (rev 24850)
@@ -107,7 +107,7 @@
 
 int ED_do_pose_selectbuffer(struct Scene *scene, struct Base *base, unsigned int *buffer, 
 							short hits, short extend);
-void mouse_armature(struct bContext *C, short mval[2], int extend);
+int mouse_armature(struct bContext *C, short mval[2], int extend);
 int join_armature_exec(struct bContext *C, struct wmOperator *op);
 struct Bone *get_indexed_bone (struct Object *ob, int index);
 float ED_rollBoneToVector(EditBone *bone, float new_up_axis[3]);

Modified: trunk/blender/source/blender/editors/include/ED_curve.h
===================================================================
--- trunk/blender/source/blender/editors/include/ED_curve.h	2009-11-24 04:30:24 UTC (rev 24849)
+++ trunk/blender/source/blender/editors/include/ED_curve.h	2009-11-24 04:59:52 UTC (rev 24850)
@@ -50,7 +50,7 @@
 void	make_editNurb	(struct Object *obedit);
 void	free_editNurb	(struct Object *obedit);
 
-void	mouse_nurb		(struct bContext *C, short mval[2], int extend);
+int 	mouse_nurb		(struct bContext *C, short mval[2], int extend);
 
 struct Nurb *add_nurbs_primitive(struct bContext *C, int type, int newname);
 

Modified: trunk/blender/source/blender/editors/include/ED_mball.h
===================================================================
--- trunk/blender/source/blender/editors/include/ED_mball.h	2009-11-24 04:30:24 UTC (rev 24849)
+++ trunk/blender/source/blender/editors/include/ED_mball.h	2009-11-24 04:59:52 UTC (rev 24850)
@@ -35,7 +35,7 @@
 
 struct MetaElem *add_metaball_primitive(struct bContext *C, int type, int newname);
 
-void mouse_mball(struct bContext *C, short mval[2], int extend);
+int mouse_mball(struct bContext *C, short mval[2], int extend);
 
 void free_editMball(struct Object *obedit);
 void make_editMball(struct Object *obedit);

Modified: trunk/blender/source/blender/editors/include/ED_mesh.h
===================================================================
--- trunk/blender/source/blender/editors/include/ED_mesh.h	2009-11-24 04:30:24 UTC (rev 24849)
+++ trunk/blender/source/blender/editors/include/ED_mesh.h	2009-11-24 04:59:52 UTC (rev 24850)
@@ -149,7 +149,7 @@
 extern unsigned int em_vertoffs, em_solidoffs, em_wireoffs;
 
 void		EM_cache_x_mirror_vert(struct Object *ob, struct EditMesh *em);
-void		mouse_mesh(struct bContext *C, short mval[2], short extend);
+int			mouse_mesh(struct bContext *C, short mval[2], short extend);
 int			EM_check_backbuf(unsigned int index);
 int			EM_mask_init_backbuf_border(struct ViewContext *vc, short mcords[][2], short tot, short xmin, short ymin, short xmax, short ymax);
 void		EM_free_backbuf(void);

Modified: trunk/blender/source/blender/editors/include/ED_object.h
===================================================================
--- trunk/blender/source/blender/editors/include/ED_object.h	2009-11-24 04:30:24 UTC (rev 24849)
+++ trunk/blender/source/blender/editors/include/ED_object.h	2009-11-24 04:59:52 UTC (rev 24850)
@@ -102,7 +102,7 @@
 void ED_object_constraint_dependency_update(struct Scene *scene, struct Object *ob);
 
 /* object_lattice.c */
-void mouse_lattice(struct bContext *C, short mval[2], int extend);
+int  mouse_lattice(struct bContext *C, short mval[2], int extend);
 void undo_push_lattice(struct bContext *C, char *name);
 
 /* object_shapekey.c */

Modified: trunk/blender/source/blender/editors/mesh/editmesh_mods.c
===================================================================
--- trunk/blender/source/blender/editors/mesh/editmesh_mods.c	2009-11-24 04:30:24 UTC (rev 24849)
+++ trunk/blender/source/blender/editors/mesh/editmesh_mods.c	2009-11-24 04:59:52 UTC (rev 24850)
@@ -2222,7 +2222,7 @@
 
 /* here actual select happens */
 /* gets called via generic mouse select operator */
-void mouse_mesh(bContext *C, short mval[2], short extend)
+int mouse_mesh(bContext *C, short mval[2], short extend)
 {
 	ViewContext vc;
 	EditVert *eve;
@@ -2281,10 +2281,13 @@
 			vc.em->mat_nr= efa->mat_nr;
 //			BIF_preview_changed(ID_MA);
 		}
+
+		WM_event_add_notifier(C, NC_GEOM|ND_SELECT, vc.obedit->data);
+
+		return 1;
 	}
-
-	WM_event_add_notifier(C, NC_GEOM|ND_SELECT, vc.obedit->data);
 	
+	return 0;
 }
 
 /* *********** select linked ************* */

Modified: trunk/blender/source/blender/editors/metaball/mball_edit.c
===================================================================
--- trunk/blender/source/blender/editors/metaball/mball_edit.c	2009-11-24 04:30:24 UTC (rev 24849)
+++ trunk/blender/source/blender/editors/metaball/mball_edit.c	2009-11-24 04:59:52 UTC (rev 24850)
@@ -517,7 +517,7 @@
 
 /* Select MetaElement with mouse click (user can select radius circle or
  * stiffness circle) */
-void mouse_mball(bContext *C, short mval[2], int extend)
+int mouse_mball(bContext *C, short mval[2], int extend)
 {
 	static MetaElem *startelem=NULL;
 	Object *obedit= CTX_data_edit_object(C);
@@ -588,8 +588,12 @@
 			mb->lastelem= act;
 			
 			WM_event_add_notifier(C, NC_GEOM|ND_SELECT, mb);
+
+			return 1;
 		}
 	}
+
+	return 0;
 }
 
 

Modified: trunk/blender/source/blender/editors/object/object_lattice.c
===================================================================
--- trunk/blender/source/blender/editors/object/object_lattice.c	2009-11-24 04:30:24 UTC (rev 24849)
+++ trunk/blender/source/blender/editors/object/object_lattice.c	2009-11-24 04:59:52 UTC (rev 24850)
@@ -298,7 +298,7 @@
 	return data.bp;
 }
 
-void mouse_lattice(bContext *C, short mval[2], int extend)
+int mouse_lattice(bContext *C, short mval[2], int extend)
 {
 	ViewContext vc;
 	BPoint *bp= NULL;
@@ -315,7 +315,11 @@
 			bp->f1 ^= SELECT; /* swap */
 
 		WM_event_add_notifier(C, NC_GEOM|ND_SELECT, vc.obedit->data);
+
+		return 1;
 	}
+
+	return 0;
 }
 
 /******************************** Undo *************************/

Modified: trunk/blender/source/blender/editors/space_view3d/view3d_select.c
===================================================================
--- trunk/blender/source/blender/editors/space_view3d/view3d_select.c	2009-11-24 04:30:24 UTC (rev 24849)
+++ trunk/blender/source/blender/editors/space_view3d/view3d_select.c	2009-11-24 04:59:52 UTC (rev 24850)
@@ -999,7 +999,7 @@
 
 
 /* mval is region coords */
-static void mouse_select(bContext *C, short *mval, short extend, short obcenter, short enumerate)
+static int mouse_select(bContext *C, short *mval, short extend, short obcenter, short enumerate)
 {
 	ViewContext vc;
 	ARegion *ar= CTX_wm_region(C);
@@ -1007,6 +1007,7 @@
 	Scene *scene= CTX_data_scene(C);
 	Base *base, *startbase=NULL, *basact=NULL, *oldbasact=NULL;
 	int temp, a, dist=100;
+	int retval = 0;
 	short hits;
 	
 	/* setup view context for argument to callbacks */
@@ -1153,6 +1154,7 @@
 					basact->flag|= SELECT;
 					basact->object->flag= basact->flag;
 					
+					retval = 1;
 					WM_event_add_notifier(C, NC_OBJECT|ND_BONE_SELECT, basact->object);
 					WM_event_add_notifier(C, NC_OBJECT|ND_BONE_ACTIVE, basact->object);
 					
@@ -1172,6 +1174,7 @@
 	
 	/* so, do we have something selected? */
 	if(basact) {
+		retval = 1;
 		
 		if(vc.obedit) {
 			/* only do select */
@@ -1205,6 +1208,8 @@
 			WM_event_add_notifier(C, NC_SCENE|ND_OB_SELECT, scene);
 		}
 	}
+
+	return retval;
 }
 
 /* ********************  border and circle ************************************** */
@@ -1611,31 +1616,37 @@
 	short extend= RNA_boolean_get(op->ptr, "extend");
 	short center= RNA_boolean_get(op->ptr, "center");
 	short enumerate= RNA_boolean_get(op->ptr, "enumerate");
+	int	retval = 0;
 
 	view3d_operator_needs_opengl(C);
 	
 	if(obedit) {
 		if(obedit->type==OB_MESH)
-			mouse_mesh(C, event->mval, extend);
+			retval = mouse_mesh(C, event->mval, extend);
 		else if(obedit->type==OB_ARMATURE)
-			mouse_armature(C, event->mval, extend);
+			retval = mouse_armature(C, event->mval, extend);
 		else if(obedit->type==OB_LATTICE)
-			mouse_lattice(C, event->mval, extend);
+			retval = mouse_lattice(C, event->mval, extend);
 		else if(ELEM(obedit->type, OB_CURVE, OB_SURF))
-			mouse_nurb(C, event->mval, extend);
+			retval = mouse_nurb(C, event->mval, extend);
 		else if(obedit->type==OB_MBALL)
-			mouse_mball(C, event->mval, extend);
+			retval = mouse_mball(C, event->mval, extend);
 			
 	}
 	else if(obact && obact->mode & OB_MODE_PARTICLE_EDIT)
-		PE_mouse_particles(C, event->mval, extend);
+		return PE_mouse_particles(C, event->mval, extend);

@@ Diff output truncated at 10240 characters. @@




More information about the Bf-blender-cvs mailing list