[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [60875] tags/blender-2.69-release/blender: svn merge ^/trunk/blender -c60755 -c60766 -c60792 -c60796

Campbell Barton ideasman42 at gmail.com
Mon Oct 21 05:39:26 CEST 2013


Revision: 60875
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=60875
Author:   campbellbarton
Date:     2013-10-21 03:39:26 +0000 (Mon, 21 Oct 2013)
Log Message:
-----------
svn merge ^/trunk/blender -c60755 -c60766 -c60792 -c60796

Modified Paths:
--------------
    tags/blender-2.69-release/blender/source/blender/bmesh/operators/bmo_utils.c
    tags/blender-2.69-release/blender/source/blender/bmesh/tools/bmesh_bisect_plane.c
    tags/blender-2.69-release/blender/source/blender/editors/space_view3d/view3d_select.c
    tags/blender-2.69-release/blender/source/blender/editors/space_view3d/view3d_view.c

Property Changed:
----------------
    tags/blender-2.69-release/blender/


Property changes on: tags/blender-2.69-release/blender
___________________________________________________________________
Modified: svn:mergeinfo
   - /branches/ge_dev:58091-58422
/branches/ge_harmony:42255,42279-42282,42286,42302,42338,42349,42616,42620,42698-42699,42739,42753,42773-42774,42832,44568,44597-44598,44793-44794
/branches/soc-2011-cucumber:37517,38166-38167,38177,38179-38180,38187,38242,38384,38387,38403-38404,38407,38968,38970,38973,39045,40845,42997-42998,43439
/branches/soc-2011-tomato:42376,42378-42379,42383,42385,42395,42397-42400,42407,42411,42418,42443-42444,42446,42467,42472,42486,42650-42652,42654-42655,42709-42710,42733-42734,42801,43872,44130,44141,44147-44149,44151-44152,44229-44230,45623-45625,46037,48089,48092,48551-48552,48679,48790,48792-48793,49076,49087,49292,49294,49466,49894,50052,50126,52854-52856,54573,58822,58989
/branches/soc-2013-depsgraph_mt:57516,57900,57939-57940,57945,57958-57961,58151,58155-58156,58169,58277-58279,58282-58283,58711,58787,58789,58796,59086-59087,59163,59166,59170,59181,59259-59260,60105
/branches/soc-2013-dingto:57424,57487,57507,57525,57599,57670,57918-57919,57981,58091,58245,58253,58587,58772,58774-58775,58828,58835,59032,59214,59220,59251,59601
/branches/soc-2013-rigid_body_sim:60311
/tags/blender-2.67b-release/blender:57122
/trunk/blender:60592-60596,60599,60605,60626,60630,60635,60639,60644,60649,60673-60675,60680,60682-60683,60685,60689,60695,60703,60707-60709,60712,60723-60724,60731,60740,60742-60743,60747,60749,60752,60755,60760,60814,60848
   + /branches/ge_dev:58091-58422
/branches/ge_harmony:42255,42279-42282,42286,42302,42338,42349,42616,42620,42698-42699,42739,42753,42773-42774,42832,44568,44597-44598,44793-44794
/branches/soc-2011-cucumber:37517,38166-38167,38177,38179-38180,38187,38242,38384,38387,38403-38404,38407,38968,38970,38973,39045,40845,42997-42998,43439
/branches/soc-2011-tomato:42376,42378-42379,42383,42385,42395,42397-42400,42407,42411,42418,42443-42444,42446,42467,42472,42486,42650-42652,42654-42655,42709-42710,42733-42734,42801,43872,44130,44141,44147-44149,44151-44152,44229-44230,45623-45625,46037,48089,48092,48551-48552,48679,48790,48792-48793,49076,49087,49292,49294,49466,49894,50052,50126,52854-52856,54573,58822,58989
/branches/soc-2013-depsgraph_mt:57516,57900,57939-57940,57945,57958-57961,58151,58155-58156,58169,58277-58279,58282-58283,58711,58787,58789,58796,59086-59087,59163,59166,59170,59181,59259-59260,60105
/branches/soc-2013-dingto:57424,57487,57507,57525,57599,57670,57918-57919,57981,58091,58245,58253,58587,58772,58774-58775,58828,58835,59032,59214,59220,59251,59601
/branches/soc-2013-rigid_body_sim:60311
/tags/blender-2.67b-release/blender:57122
/trunk/blender:60592-60596,60599,60605,60626,60630,60635,60639,60644,60649,60673-60675,60680,60682-60683,60685,60689,60695,60703,60707-60709,60712,60723-60724,60731,60740,60742-60743,60747,60749,60752,60755,60760,60766,60792,60796,60814,60848

Modified: tags/blender-2.69-release/blender/source/blender/bmesh/operators/bmo_utils.c
===================================================================
--- tags/blender-2.69-release/blender/source/blender/bmesh/operators/bmo_utils.c	2013-10-20 20:14:39 UTC (rev 60874)
+++ tags/blender-2.69-release/blender/source/blender/bmesh/operators/bmo_utils.c	2013-10-21 03:39:26 UTC (rev 60875)
@@ -146,19 +146,23 @@
 				    BMO_elem_flag_test(bm, fb, FACE_TAINT) == false)
 				{
 
+					/* don't touch again (faces will be freed so run before rotating the edge) */
+					BMO_elem_flag_enable(bm, fa, FACE_TAINT);
+					BMO_elem_flag_enable(bm, fb, FACE_TAINT);
+
 					if (!(e2 = BM_edge_rotate(bm, e, use_ccw, check_flag))) {
+
+						BMO_elem_flag_disable(bm, fa, FACE_TAINT);
+						BMO_elem_flag_disable(bm, fb, FACE_TAINT);
 #if 0
 						BMO_error_raise(bm, op, BMERR_INVALID_SELECTION, "Could not rotate edge");
 						return;
 #endif
+
 						continue;
 					}
 
 					BMO_elem_flag_enable(bm, e2, EDGE_OUT);
-
-					/* don't touch again */
-					BMO_elem_flag_enable(bm, fa, FACE_TAINT);
-					BMO_elem_flag_enable(bm, fb, FACE_TAINT);
 				}
 			}
 		}

Modified: tags/blender-2.69-release/blender/source/blender/bmesh/tools/bmesh_bisect_plane.c
===================================================================
--- tags/blender-2.69-release/blender/source/blender/bmesh/tools/bmesh_bisect_plane.c	2013-10-20 20:14:39 UTC (rev 60874)
+++ tags/blender-2.69-release/blender/source/blender/bmesh/tools/bmesh_bisect_plane.c	2013-10-21 03:39:26 UTC (rev 60875)
@@ -372,7 +372,7 @@
 			BM_VERT_DIR(v_new) = 0;
 			BM_VERT_DIST(v_new) = 0.0f;
 		}
-		else {
+		else if (side[0] == 0 || side[1] == 0) {
 			/* check if either edge verts are aligned,
 			 * if so - tag and push all faces that use it into the stack */
 			unsigned int j;
@@ -394,6 +394,13 @@
 					}
 				}
 			}
+
+			/* if both verts are on the center - tag it */
+			if (oflag_center) {
+				if (side[0] == 0 && side[1] == 0) {
+					BMO_elem_flag_enable(bm, e, oflag_center);
+				}
+			}
 		}
 	}
 

Modified: tags/blender-2.69-release/blender/source/blender/editors/space_view3d/view3d_select.c
===================================================================
--- tags/blender-2.69-release/blender/source/blender/editors/space_view3d/view3d_select.c	2013-10-20 20:14:39 UTC (rev 60874)
+++ tags/blender-2.69-release/blender/source/blender/editors/space_view3d/view3d_select.c	2013-10-21 03:39:26 UTC (rev 60875)
@@ -1374,13 +1374,15 @@
 }
 
 /* mval is region coords */
-static bool mouse_select(bContext *C, const int mval[2], bool extend, bool deselect, bool toggle, bool obcenter, short enumerate)
+static bool mouse_select(bContext *C, const int mval[2],
+                         bool extend, bool deselect, bool toggle, bool obcenter, bool enumerate, bool object)
 {
 	ViewContext vc;
 	ARegion *ar = CTX_wm_region(C);
 	View3D *v3d = CTX_wm_view3d(C);
 	Scene *scene = CTX_data_scene(C);
 	Base *base, *startbase = NULL, *basact = NULL, *oldbasact = NULL;
+	bool is_obedit;
 	float dist = 100.0f;
 	int retval = false;
 	short hits;
@@ -1389,6 +1391,12 @@
 	
 	/* setup view context for argument to callbacks */
 	view3d_set_viewcontext(C, &vc);
+
+	is_obedit = (vc.obedit != NULL);
+	if (object) {
+		/* signal for view3d_opengl_select to skip editmode objects */
+		vc.obedit = NULL;
+	}
 	
 	/* always start list from basact in wire mode */
 	startbase =  FIRSTBASE;
@@ -1564,7 +1572,7 @@
 				ED_base_object_select(basact, BA_SELECT);
 			}
 
-			if (oldbasact != basact) {
+			if ((oldbasact != basact) && (is_obedit == false)) {
 				ED_base_object_activate(C, basact); /* adds notifier */
 			}
 		}
@@ -2256,7 +2264,7 @@
 	else if (paint_vertsel_test(obact))
 		retval = mouse_weight_paint_vertex_select(C, location, extend, deselect, toggle, obact);
 	else
-		retval = mouse_select(C, location, extend, deselect, toggle, center, enumerate);
+		retval = mouse_select(C, location, extend, deselect, toggle, center, enumerate, object);
 
 	/* passthrough allows tweaks
 	 * FINISHED to signal one operator worked

Modified: tags/blender-2.69-release/blender/source/blender/editors/space_view3d/view3d_view.c
===================================================================
--- tags/blender-2.69-release/blender/source/blender/editors/space_view3d/view3d_view.c	2013-10-20 20:14:39 UTC (rev 60874)
+++ tags/blender-2.69-release/blender/source/blender/editors/space_view3d/view3d_view.c	2013-10-21 03:39:26 UTC (rev 60875)
@@ -876,10 +876,12 @@
 	}
 }
 
-/* IGLuint-> GLuint */
-/* Warning: be sure to account for a negative return value
- *   This is an error, "Too many objects in select buffer"
- *   and no action should be taken (can crash blender) if this happens
+/**
+ * \warning be sure to account for a negative return value
+ * This is an error, "Too many objects in select buffer"
+ * and no action should be taken (can crash blender) if this happens
+ *
+ * \note (vc->obedit == NULL) can be set to explicitly skip edit-object selection.
  */
 short view3d_opengl_select(ViewContext *vc, unsigned int *buffer, unsigned int bufsize, rcti *input)
 {
@@ -890,6 +892,7 @@
 	short code, hits;
 	char dt;
 	short dtx;
+	const bool use_obedit_skip = (scene->obedit != NULL) && (vc->obedit == NULL);
 	
 	G.f |= G_PICKSEL;
 	
@@ -937,8 +940,11 @@
 		for (base = scene->base.first; base; base = base->next) {
 			if (base->lay & v3d->lay) {
 				
-				if (base->object->restrictflag & OB_RESTRICT_SELECT)
+				if ((base->object->restrictflag & OB_RESTRICT_SELECT) ||
+				    (use_obedit_skip && (scene->obedit->data == base->object->data)))
+				{
 					base->selcol = 0;
+				}
 				else {
 					base->selcol = code;
 					glLoadName(code);




More information about the Bf-blender-cvs mailing list