[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [14731] trunk/blender/source/blender/src: was missing depgraph update for centering objects in editmode if they were unselected .

Campbell Barton ideasman42 at gmail.com
Wed May 7 22:34:34 CEST 2008


Revision: 14731
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=14731
Author:   campbellbarton
Date:     2008-05-07 22:34:34 +0200 (Wed, 07 May 2008)

Log Message:
-----------
was missing depgraph update for centering objects in editmode if they were unselected.
ctrl+num keys for switching subsurf didnt work in editmode if the object wasnt selected. changed this to only operate on the editmode object. also 
disallow ctrl+num to change layers for values above 4.

Modified Paths:
--------------
    trunk/blender/source/blender/src/editobject.c
    trunk/blender/source/blender/src/space.c

Modified: trunk/blender/source/blender/src/editobject.c
===================================================================
--- trunk/blender/source/blender/src/editobject.c	2008-05-07 20:24:06 UTC (rev 14730)
+++ trunk/blender/source/blender/src/editobject.c	2008-05-07 20:34:34 UTC (rev 14731)
@@ -1887,6 +1887,7 @@
 			
 			recalc_editnormals();
 			tot_change++;
+			DAG_object_flush_update(G.scene, G.obedit, OB_RECALC_DATA);
 		}
 	}
 	
@@ -3133,9 +3134,15 @@
 		mode= eModifierMode_Render|eModifierMode_Realtime;
 	
 	if(level == -1) {
-		for(base= G.scene->base.first; base; base= base->next)
-			if(((level==-1) && (TESTBASE(base))) || (TESTBASELIB(base)))
-				object_has_subdivision_particles(base->object, &havesubdiv, &havepart, 0);
+		if (G.obedit) {
+			object_has_subdivision_particles(G.obedit, &havesubdiv, &havepart, 0);			
+		} else {
+			for(base= G.scene->base.first; base; base= base->next) {
+				if(((level==-1) && (TESTBASE(base))) || (TESTBASELIB(base))) {
+					object_has_subdivision_particles(base->object, &havesubdiv, &havepart, 0);
+				}
+			}
+		}
 	}
 	else
 		havesubdiv= 1;
@@ -3149,11 +3156,17 @@
 	}
 	else if(havepart)
 		particles= 1;
+
+	if (G.obedit) {	
+		object_flip_subdivison_particles(G.obedit, &set, level, mode, particles, 0);
+	} else {
+		for(base= G.scene->base.first; base; base= base->next) {
+			if(((level==-1) && (TESTBASE(base))) || (TESTBASELIB(base))) {
+				object_flip_subdivison_particles(base->object, &set, level, mode, particles, 0);
+			}
+		}
+	}
 	
-	for(base= G.scene->base.first; base; base= base->next)
-		if(((level==-1) && (TESTBASE(base))) || (TESTBASELIB(base)))
-			object_flip_subdivison_particles(base->object, &set, level, mode, particles, 0);
-	
 	countall();
 	allqueue(REDRAWVIEW3D, 0);
 	allqueue(REDRAWOOPS, 0);

Modified: trunk/blender/source/blender/src/space.c
===================================================================
--- trunk/blender/source/blender/src/space.c	2008-05-07 20:24:06 UTC (rev 14730)
+++ trunk/blender/source/blender/src/space.c	2008-05-07 20:34:34 UTC (rev 14731)
@@ -1745,25 +1745,42 @@
 					if ( (G.obedit) && (G.obedit->type==OB_MESH) )
 						select_faces_by_numverts(5);
 				}
+				
+				else if(G.qual==LR_CTRLKEY) {}
 				else do_layer_buttons(4);
 				break;
 
 			case SIXKEY:
-				do_layer_buttons(5); break;
+				if(G.qual==LR_CTRLKEY) {}
+				else do_layer_buttons(5);
+				break;
 			case SEVENKEY:
-				do_layer_buttons(6); break;
+				if(G.qual==LR_CTRLKEY) {}
+				else do_layer_buttons(6);
+				break;
 			case EIGHTKEY:
-				do_layer_buttons(7); break;
+				if(G.qual==LR_CTRLKEY) {}
+				else do_layer_buttons(7);
+				break;
 			case NINEKEY:
-				do_layer_buttons(8); break;
+				if(G.qual==LR_CTRLKEY) {}
+				else do_layer_buttons(8);
+				break;
 			case ZEROKEY:
-				do_layer_buttons(9); break;
+				if(G.qual==LR_CTRLKEY) {}
+				else do_layer_buttons(9);
+				break;
 			case MINUSKEY:
-				do_layer_buttons(10); break;
+				if(G.qual==LR_CTRLKEY) {}
+				else do_layer_buttons(10);
+				break;
 			case EQUALKEY:
-				do_layer_buttons(11); break;
+				if(G.qual==LR_CTRLKEY) {}
+				else do_layer_buttons(11);
+				break;
 			case ACCENTGRAVEKEY:
-				do_layer_buttons(-1); break;
+				do_layer_buttons(-1);
+				break;
 			
 			case SPACEKEY:
 				if(G.qual == LR_CTRLKEY) {





More information about the Bf-blender-cvs mailing list