diff options
author | Campbell Barton <ideasman42@gmail.com> | 2008-03-08 01:01:52 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2008-03-08 01:01:52 +0300 |
commit | ff2cf426219bf0b2d245156e81bffc6a703bb73e (patch) | |
tree | 7c17da5b2aef75523c0bf567c69fe111c4a9d17c /source | |
parent | 5b3dc15880b698a53f4e87c9efe2bb35139aaf25 (diff) |
bugfix for [#8433] Retopo doesn't work with AutoMerge Editing.
Disable retopo while snapping, then run after. This means automerge happens first which is more useful.
Diffstat (limited to 'source')
-rw-r--r-- | source/blender/src/filesel.c | 2 | ||||
-rw-r--r-- | source/blender/src/transform_conversions.c | 8 | ||||
-rw-r--r-- | source/blender/src/transform_generics.c | 5 |
3 files changed, 10 insertions, 5 deletions
diff --git a/source/blender/src/filesel.c b/source/blender/src/filesel.c index ffd6574d781..089e37ce51e 100644 --- a/source/blender/src/filesel.c +++ b/source/blender/src/filesel.c @@ -1041,7 +1041,7 @@ void drawfilespace(ScrArea *sa, void *spacedata) else loadbutton= 0; uiBlockBeginAlign(block); - uiDefBut(block, TEX, B_FS_DIRNAME,"", textrct.xmin + (strp?20:0), filebuty2, textrct.xmax-textrct.xmin-loadbutton - (strp?20:0), 21, sfile->dir, 0.0, (float)FILE_MAXDIR-1, 0, 0, "Directory, enter a directory and press enter to create it"); /* Directory input */ + uiDefBut(block, TEX, B_FS_DIRNAME,"", textrct.xmin + (strp?20:0), filebuty2, textrct.xmax-textrct.xmin-loadbutton - (strp?20:0), 21, sfile->dir, 0.0, (float)FILE_MAXDIR-1, 0, 0, "Directory, enter a directory and press enter to create it, Substitute ~ for home"); /* Directory input */ if(loadbutton) { uiSetCurFont(block, UI_HELV); uiDefBut(block, BUT, B_FS_LOAD, sfile->title, textrct.xmax-loadbutton, filebuty2, loadbutton, 21, sfile->dir, 0.0, (float)FILE_MAXFILE-1, 0, 0, ""); diff --git a/source/blender/src/transform_conversions.c b/source/blender/src/transform_conversions.c index b27eae5d716..afd799ed8b8 100644 --- a/source/blender/src/transform_conversions.c +++ b/source/blender/src/transform_conversions.c @@ -3417,9 +3417,13 @@ void special_aftertrans_update(TransInfo *t) short redrawipo=0, resetslowpar=1; int cancelled= (t->state == TRANS_CANCEL); - if (t->spacetype==SPACE_VIEW3D) + if (t->spacetype==SPACE_VIEW3D) { EM_automerge(1); - + /* when snapping, delay retopo until after automerge */ + if (G.qual & LR_CTRLKEY) { + retopo_do_all(); + } + } if (t->spacetype == SPACE_ACTION) { void *data; short datatype; diff --git a/source/blender/src/transform_generics.c b/source/blender/src/transform_generics.c index 1f6d8ecf7af..47a7bd5299f 100644 --- a/source/blender/src/transform_generics.c +++ b/source/blender/src/transform_generics.c @@ -378,8 +378,9 @@ void recalcData(TransInfo *t) if (G.sima->flag & SI_LIVE_UNWRAP) unwrap_lscm_live_re_solve(); } else { - - retopo_do_all(); + /* Only retopo if not snapping, Note, this is the only case of G.qual being used, but we have no T_SHIFT_MOD - Campbell */ + if ((G.qual & LR_CTRLKEY)==0) + retopo_do_all(); /* mirror modifier clipping? */ if(t->state != TRANS_CANCEL) |