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.
This commit is contained in:
Campbell Barton
2008-05-07 20:34:34 +00:00
parent 3527c10065
commit 48f6c5b05f
2 changed files with 45 additions and 15 deletions

View File

@@ -1887,6 +1887,7 @@ void docenter(int centermode)
recalc_editnormals();
tot_change++;
DAG_object_flush_update(G.scene, G.obedit, OB_RECALC_DATA);
}
}
@@ -3133,9 +3134,15 @@ void flip_subdivison(int level)
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,10 +3156,16 @@ void flip_subdivison(int level)
}
else if(havepart)
particles= 1;
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);
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);
}
}
}
countall();
allqueue(REDRAWVIEW3D, 0);

View File

@@ -1745,25 +1745,42 @@ static void winqreadview3dspace(ScrArea *sa, void *spacedata, BWinEvent *evt)
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) {