[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [26435] trunk/blender/source/blender/ editors/space_view3d/view3d_header.c: [#20550] Workflow Odity For Objects On Layers Not Being Viewed

Campbell Barton ideasman42 at gmail.com
Sat Jan 30 16:23:17 CET 2010


Revision: 26435
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=26435
Author:   campbellbarton
Date:     2010-01-30 16:23:17 +0100 (Sat, 30 Jan 2010)

Log Message:
-----------
[#20550] Workflow Odity For Objects On Layers Not Being Viewed
always keep the first editmode objects layer enabled in cases where switching hides the editmode object.

Modified Paths:
--------------
    trunk/blender/source/blender/editors/space_view3d/view3d_header.c

Modified: trunk/blender/source/blender/editors/space_view3d/view3d_header.c
===================================================================
--- trunk/blender/source/blender/editors/space_view3d/view3d_header.c	2010-01-30 14:48:46 UTC (rev 26434)
+++ trunk/blender/source/blender/editors/space_view3d/view3d_header.c	2010-01-30 15:23:17 UTC (rev 26435)
@@ -187,6 +187,7 @@
 			v3d->layact= 1;
 	}
 	else {
+		int bit;
 		nr--;
 
 		if(RNA_boolean_get(op->ptr, "extend")) {
@@ -194,21 +195,30 @@
 				v3d->lay &= ~(1<<nr);
 			else
 				v3d->lay |= (1<<nr);
-		} else
+		} else {
 			v3d->lay = (1<<nr);
+
+			/* sanity check - when in editmode disallow switching the editmode layer off since its confusing
+			 * an alternative would be to always draw the editmode object. */
+			if(scene->obedit && (scene->obedit->lay & v3d->lay)==0) {
+				for(bit=0; bit<32; bit++) {
+					if(scene->obedit->lay & (1<<bit)) {
+						v3d->lay |= 1<<bit;
+						break;
+					}
+				}
+			}
+		}
 		
 		/* set active layer, ensure to always have one */
 		if(v3d->lay & (1<<nr))
 		   v3d->layact= 1<<nr;
 		else if((v3d->lay & v3d->layact)==0) {
-			int bit= 0;
-
-			while(bit<32) {
+			for(bit=0; bit<32; bit++) {
 				if(v3d->lay & (1<<bit)) {
 					v3d->layact= 1<<bit;
 					break;
 				}
-				bit++;
 			}
 		}
 	}





More information about the Bf-blender-cvs mailing list