[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [60429] trunk/blender/source/blender/ editors: fix [#36861] In face select masking circle select selects all when out of focus.

Campbell Barton ideasman42 at gmail.com
Mon Sep 30 09:58:39 CEST 2013


Revision: 60429
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=60429
Author:   campbellbarton
Date:     2013-09-30 07:58:38 +0000 (Mon, 30 Sep 2013)
Log Message:
-----------
fix [#36861] In face select masking circle select selects all when out of focus.

Modified Paths:
--------------
    trunk/blender/source/blender/editors/mesh/editmesh_select.c
    trunk/blender/source/blender/editors/space_view3d/view3d_select.c

Modified: trunk/blender/source/blender/editors/mesh/editmesh_select.c
===================================================================
--- trunk/blender/source/blender/editors/mesh/editmesh_select.c	2013-09-30 05:50:41 UTC (rev 60428)
+++ trunk/blender/source/blender/editors/mesh/editmesh_select.c	2013-09-30 07:58:38 UTC (rev 60429)
@@ -266,6 +266,7 @@
 
 int EDBM_backbuf_check(unsigned int index)
 {
+	BLI_assert(selbuf != NULL);
 	if (selbuf == NULL) return 1;
 	if (index > 0 && index <= bm_vertoffs)
 		return selbuf[index];

Modified: trunk/blender/source/blender/editors/space_view3d/view3d_select.c
===================================================================
--- trunk/blender/source/blender/editors/space_view3d/view3d_select.c	2013-09-30 05:50:41 UTC (rev 60428)
+++ trunk/blender/source/blender/editors/space_view3d/view3d_select.c	2013-09-30 07:58:38 UTC (rev 60429)
@@ -2406,12 +2406,12 @@
 {
 	Object *ob = vc->obact;
 	Mesh *me = ob ? ob->data : NULL;
-	/* int bbsel; */ /* UNUSED */
+	bool bbsel;
 
-	if (me) {
-		bm_vertoffs = me->totpoly + 1; /* max index array */
+	bm_vertoffs = me->totpoly + 1; /* max index array */
 
-		/* bbsel = */ /* UNUSED */ EDBM_backbuf_circle_init(vc, mval[0], mval[1], (short)(rad + 1.0f));
+	bbsel = EDBM_backbuf_circle_init(vc, mval[0], mval[1], (short)(rad + 1.0f));
+	if (bbsel) {
 		edbm_backbuf_check_and_select_tfaces(me, select);
 		EDBM_backbuf_free();
 		paintface_flush_flags(ob);
@@ -2431,15 +2431,17 @@
 	const int use_zbuf = (vc->v3d->flag & V3D_ZBUF_SELECT);
 	Object *ob = vc->obact;
 	Mesh *me = ob->data;
-	/* int bbsel; */ /* UNUSED */
+	bool bbsel;
 	/* CircleSelectUserData data = {NULL}; */ /* UNUSED */
 
 	if (use_zbuf) {
 		bm_vertoffs = me->totvert + 1; /* max index array */
 
-		/* bbsel = */ /* UNUSED */ EDBM_backbuf_circle_init(vc, mval[0], mval[1], (short)(rad + 1.0f));
-		edbm_backbuf_check_and_select_verts_obmode(me, select);
-		EDBM_backbuf_free();
+		bbsel = EDBM_backbuf_circle_init(vc, mval[0], mval[1], (short)(rad + 1.0f));
+		if (bbsel) {
+			edbm_backbuf_check_and_select_verts_obmode(me, select);
+			EDBM_backbuf_free();
+		}
 	}
 	else {
 		CircleSelectUserData data;




More information about the Bf-blender-cvs mailing list