Index: source/blender/python/api2_2x/Window.c =================================================================== --- source/blender/python/api2_2x/Window.c (revision 10916) +++ source/blender/python/api2_2x/Window.c (working copy) @@ -1038,7 +1038,7 @@ printf("Doing WINIID NOT!!!\n"); /* set scene and viewport */ G.scene->lay = layer; - if (G.vd) { + if ((G.vd) && (G.vd->scenelock)) { G.vd->lay = layer; while( bit < 20 ) { @@ -1069,15 +1069,17 @@ "The window matching the winid has no 3d viewport" ); vd= (View3D *) sl; - vd->lay = layer; + if(vd->scenelock) { + vd->lay = layer; - for(bit= 0; bit < 20; bit++) { - val = 1 << bit; - if( layer & val ) { - vd->layact = val; - break; - } - } + for(bit= 0; bit < 20; bit++) { + val = 1 << bit; + if( layer & val ) { + vd->layact = val; + break; + } + } + } winid = -1; /* so we know its done */ break;