[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [34332] trunk/blender/source/blender/ editors/mesh: Bugfix #25636
Ton Roosendaal
ton at blender.org
Sat Jan 15 15:07:12 CET 2011
Revision: 34332
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=34332
Author: ton
Date: 2011-01-15 14:07:11 +0000 (Sat, 15 Jan 2011)
Log Message:
-----------
Bugfix #25636
On using loop-selects, the active vertex got cleared, it could still
simply indicate one of the vertices of indicated edge to become active.
That keeps the Ui for vertex-groups drawing correct, for example.
Also made loop-ring select store active edge for tools, like the loop-select.
Modified Paths:
--------------
trunk/blender/source/blender/editors/mesh/editmesh_mods.c
trunk/blender/source/blender/editors/mesh/loopcut.c
Modified: trunk/blender/source/blender/editors/mesh/editmesh_mods.c
===================================================================
--- trunk/blender/source/blender/editors/mesh/editmesh_mods.c 2011-01-15 12:29:22 UTC (rev 34331)
+++ trunk/blender/source/blender/editors/mesh/editmesh_mods.c 2011-01-15 14:07:11 UTC (rev 34332)
@@ -2078,8 +2078,11 @@
// if (EM_texFaceCheck())
/* sets as active, useful for other tools */
- if(select && em->selectmode & SCE_SELECT_EDGE) {
- EM_store_selection(em, eed, EDITEDGE);
+ if(select) {
+ if(em->selectmode & SCE_SELECT_VERTEX)
+ EM_store_selection(em, eed->v1, EDITVERT);
+ if(em->selectmode & SCE_SELECT_EDGE)
+ EM_store_selection(em, eed, EDITEDGE);
}
WM_event_add_notifier(C, NC_GEOM|ND_SELECT, vc.obedit->data);
Modified: trunk/blender/source/blender/editors/mesh/loopcut.c
===================================================================
--- trunk/blender/source/blender/editors/mesh/loopcut.c 2011-01-15 12:29:22 UTC (rev 34331)
+++ trunk/blender/source/blender/editors/mesh/loopcut.c 2011-01-15 14:07:11 UTC (rev 34332)
@@ -272,9 +272,12 @@
int cuts= (lcd->do_cut)? RNA_int_get(op->ptr,"number_cuts"): 0;
if (lcd->eed) {
+ EditMesh *em = BKE_mesh_get_editmesh(lcd->ob->data);
+
edgering_sel(lcd, cuts, 1);
+
if (lcd->do_cut) {
- EditMesh *em = BKE_mesh_get_editmesh(lcd->ob->data);
+
esubdivideflag(lcd->ob, em, SELECT, 0.0f, 0.0f, 0, cuts, 0, SUBDIV_SELECT_LOOPCUT);
/* force edge slide to edge select mode in in face select mode */
@@ -293,6 +296,13 @@
WM_event_add_notifier(C, NC_GEOM|ND_DATA, lcd->ob->data);
}
else {
+
+ /* sets as active, useful for other tools */
+ if(em->selectmode & SCE_SELECT_VERTEX)
+ EM_store_selection(em, lcd->eed->v1, EDITVERT);
+ if(em->selectmode & SCE_SELECT_EDGE)
+ EM_store_selection(em, lcd->eed, EDITEDGE);
+
EM_selectmode_flush(lcd->em);
WM_event_add_notifier(C, NC_GEOM|ND_SELECT, lcd->ob->data);
}
More information about the Bf-blender-cvs
mailing list