[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [45944] trunk/blender/source/blender/ editors/uvedit/uvedit_ops.c: bmesh: fix selection flushing when editing UV' s and sync selection is enabled, and edge mode is in the 3D view.
Campbell Barton
ideasman42 at gmail.com
Tue Apr 24 21:53:01 CEST 2012
Revision: 45944
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=45944
Author: campbellbarton
Date: 2012-04-24 19:53:00 +0000 (Tue, 24 Apr 2012)
Log Message:
-----------
bmesh: fix selection flushing when editing UV's and sync selection is enabled, and edge mode is in the 3D view.
Modified Paths:
--------------
trunk/blender/source/blender/editors/uvedit/uvedit_ops.c
Modified: trunk/blender/source/blender/editors/uvedit/uvedit_ops.c
===================================================================
--- trunk/blender/source/blender/editors/uvedit/uvedit_ops.c 2012-04-24 19:28:18 UTC (rev 45943)
+++ trunk/blender/source/blender/editors/uvedit/uvedit_ops.c 2012-04-24 19:53:00 UTC (rev 45944)
@@ -996,7 +996,8 @@
return 1;
}
-static int select_edgeloop(Scene *scene, Image *ima, BMEditMesh *em, NearestHit *hit, float limit[2], int extend)
+static int select_edgeloop(Scene *scene, Image *ima, BMEditMesh *em, NearestHit *hit,
+ float limit[2], const short extend)
{
BMFace *efa;
BMIter iter, liter;
@@ -1914,7 +1915,7 @@
}
/* de-selecting an edge may deselect a face too - validate */
- if (ts->uv_flag & UV_SYNC_SELECTION) {
+ if (sync) {
if (select == FALSE) {
BM_select_history_validate(em->bm);
}
@@ -1997,19 +1998,32 @@
}
}
-#if 0 /* BM_elem_select_set API handles all of this? */
-
if (sync) {
/* flush for mesh selection */
+
+ /* before bmesh */
+#if 0
if (ts->selectmode != SCE_SELECT_FACE) {
if (flush == 1) EDBM_select_flush(em);
else if (flush == -1) EDBM_deselect_flush(em);
}
- }
#else
- (void)flush; /* flush is otherwise UNUSED */
- (void)sync; /* sync is otherwise UNUSED */
+ if (flush != 0) {
+ if (loop) {
+ /* push vertex -> edge selection */
+ if (select) {
+ EDBM_select_flush(em);
+ }
+ else {
+ EDBM_deselect_flush(em);
+ }
+ }
+ else {
+ EDBM_selectmode_flush(em);
+ }
+ }
#endif
+ }
DAG_id_tag_update(obedit->data, 0);
WM_event_add_notifier(C, NC_GEOM | ND_SELECT, obedit->data);
More information about the Bf-blender-cvs
mailing list