Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Poirier <theeth@yahoo.com>2010-01-12 22:44:23 +0300
committerMartin Poirier <theeth@yahoo.com>2010-01-12 22:44:23 +0300
commit000dcc7ad767511baec0e88b4e88b24c5667ef7e (patch)
treea872471fc34d348b8017b778b567801ff4616cbf /source/blender/editors/transform
parentb58a14fe93a38c51231dd9f4df008480520430bc (diff)
[#19960] When Loop Cutting, no Edge Sliding in Face Select Mode, but works in other Select Modes
Force edge select (internally) when running edge slide.
Diffstat (limited to 'source/blender/editors/transform')
-rw-r--r--source/blender/editors/transform/transform_conversions.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/source/blender/editors/transform/transform_conversions.c b/source/blender/editors/transform/transform_conversions.c
index 5484e3cd8bf..49e7f040390 100644
--- a/source/blender/editors/transform/transform_conversions.c
+++ b/source/blender/editors/transform/transform_conversions.c
@@ -2139,14 +2139,20 @@ static void createTransEditVerts(bContext *C, TransInfo *t)
int count=0, countsel=0, a, totleft;
int propmode = t->flag & T_PROP_EDIT;
int mirror = 0;
+ short selectmode = ts->selectmode;
if (t->flag & T_MIRROR)
{
mirror = 1;
}
+ /* edge slide forces edge select */
+ if (t->mode == TFM_EDGE_SLIDE) {
+ selectmode = SCE_SELECT_EDGE;
+ }
+
// transform now requires awareness for select mode, so we tag the f1 flags in verts
- if(ts->selectmode & SCE_SELECT_VERTEX) {
+ if(selectmode & SCE_SELECT_VERTEX) {
for(eve= em->verts.first; eve; eve= eve->next) {
if(eve->h==0 && (eve->f & SELECT))
eve->f1= SELECT;
@@ -2154,7 +2160,7 @@ static void createTransEditVerts(bContext *C, TransInfo *t)
eve->f1= 0;
}
}
- else if(ts->selectmode & SCE_SELECT_EDGE) {
+ else if(selectmode & SCE_SELECT_EDGE) {
EditEdge *eed;
for(eve= em->verts.first; eve; eve= eve->next) eve->f1= 0;
for(eed= em->edges.first; eed; eed= eed->next) {