diff options
author | Martin Poirier <theeth@yahoo.com> | 2007-11-26 04:52:48 +0300 |
---|---|---|
committer | Martin Poirier <theeth@yahoo.com> | 2007-11-26 04:52:48 +0300 |
commit | 121dab1bcd9467bd8e11d0a82e83a1621758fd8e (patch) | |
tree | 65e16dcee40385dd5c92878fdda6ce0ca28fce02 /source/blender/src/transform_conversions.c | |
parent | a29f08272808dd0a6101943abe1f90e7718de48e (diff) |
Fixes for some long standing transform bugs.
- [#6112] is this an extrusion bug?
When extruding, x-mirror was giving weird behavior since the extruded vertice could match with their non-extruded counterpart on the other side.
The solution is to disable x-mirror (with a transform context flag, like disabling PET) in that case.
- External constraint setup calls (BIF_*) didn't setup some internal structs properly.
For the user, this resulted in some transform (extrude particularly) showing a full 3d vector in the header instead of a scalar along the constraint axis (this messed up num input a bit too, you could type values in unused axis).
Diffstat (limited to 'source/blender/src/transform_conversions.c')
-rw-r--r-- | source/blender/src/transform_conversions.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/source/blender/src/transform_conversions.c b/source/blender/src/transform_conversions.c index 879577927ae..7a9a69f2acb 100644 --- a/source/blender/src/transform_conversions.c +++ b/source/blender/src/transform_conversions.c @@ -1689,7 +1689,12 @@ static void createTransEditVerts(TransInfo *t) float mtx[3][3], smtx[3][3], (*defmats)[3][3] = NULL, (*defcos)[3] = NULL; int count=0, countsel=0, a, totleft; int propmode = t->flag & T_PROP_EDIT; - int mirror= (G.scene->toolsettings->editbutflag & B_MESH_X_MIRROR); + int mirror = 0; + + if ((t->context & CTX_NO_MIRROR) == 0 || (G.scene->toolsettings->editbutflag & B_MESH_X_MIRROR)) + { + mirror = 1; + } // transform now requires awareness for select mode, so we tag the f1 flags in verts if(G.scene->selectmode & SCE_SELECT_VERTEX) { |