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:
authorCampbell Barton <ideasman42@gmail.com>2013-07-22 14:44:24 +0400
committerCampbell Barton <ideasman42@gmail.com>2013-07-22 14:44:24 +0400
commit9634f8f1151740609230c24761ac20fdfe1a9168 (patch)
tree201b9b684a779a00a5ae58a7b89cdfc042c254b8 /source/blender/editors/mesh/editmesh_utils.c
parente8b02626f2a52a7e6d032e0e63a5321100bc2bf6 (diff)
transform was flushing the selection (inline), now skip this and use the selection as-is.
flush the selection on entering editmode instead (since the selection mode can be changed with another mesh). is other tools leave the selection incorrectly flushed, those will need to be fixed so transform works as expected.
Diffstat (limited to 'source/blender/editors/mesh/editmesh_utils.c')
-rw-r--r--source/blender/editors/mesh/editmesh_utils.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/source/blender/editors/mesh/editmesh_utils.c b/source/blender/editors/mesh/editmesh_utils.c
index 63b44fb30d4..f64ea569100 100644
--- a/source/blender/editors/mesh/editmesh_utils.c
+++ b/source/blender/editors/mesh/editmesh_utils.c
@@ -341,7 +341,7 @@ void EDBM_selectmode_to_scene(bContext *C)
WM_event_add_notifier(C, NC_SCENE | ND_TOOLSETTINGS, scene);
}
-void EDBM_mesh_make(ToolSettings *ts, Scene *UNUSED(scene), Object *ob)
+void EDBM_mesh_make(ToolSettings *ts, Object *ob)
{
Mesh *me = ob->data;
BMesh *bm;
@@ -368,8 +368,10 @@ void EDBM_mesh_make(ToolSettings *ts, Scene *UNUSED(scene), Object *ob)
me->edit_btmesh->selectmode = me->edit_btmesh->bm->selectmode = ts->selectmode;
me->edit_btmesh->mat_nr = (ob->actcol > 0) ? ob->actcol - 1 : 0;
-
me->edit_btmesh->ob = ob;
+
+ /* we need to flush selection because the mode may have changed from when last in editmode */
+ EDBM_selectmode_flush(me->edit_btmesh);
}
void EDBM_mesh_load(Object *ob)