diff options
author | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2008-03-14 00:14:11 +0300 |
---|---|---|
committer | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2008-03-14 00:14:11 +0300 |
commit | 6e24c23176f23f3544638c700506bcfb11f7932e (patch) | |
tree | e3cca32e1a72626cb7236782d052b976f9a3f9eb /source/blender/src/editmesh_tools.c | |
parent | 15215493bf9d1d08e650109e6eb6189fc76e289e (diff) |
Fix for bug #5641: edge slide doesn't work straight after remove
doubles. Also fixed some 64bit warnings in this file.
Diffstat (limited to 'source/blender/src/editmesh_tools.c')
-rw-r--r-- | source/blender/src/editmesh_tools.c | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/source/blender/src/editmesh_tools.c b/source/blender/src/editmesh_tools.c index 19b6ed287f9..b0d280f463c 100644 --- a/source/blender/src/editmesh_tools.c +++ b/source/blender/src/editmesh_tools.c @@ -327,8 +327,12 @@ int removedoublesflag(short flag, short automerge, float limit) /* return amoun if(eed->v1->f & 128) eed->v1 = eed->v1->tmp.v; if(eed->v2->f & 128) eed->v2 = eed->v2->tmp.v; e1= addedgelist(eed->v1, eed->v2, eed); - - if(e1) e1->f2= 1; + + if(e1) { + e1->f2= 1; + if(eed->f & SELECT) + e1->f |= SELECT; + } if(e1!=eed) free_editedge(eed); } } @@ -6438,11 +6442,11 @@ void pathselect(void) pnindex = ((PathNode*)s->tmp.p)->u; cost[pnindex] = 0; - BLI_heap_insert(heap, 0.0f, (void*)pnindex); + BLI_heap_insert(heap, 0.0f, SET_INT_IN_POINTER(pnindex)); while( !BLI_heap_empty(heap) ){ - pnindex = (int)BLI_heap_popmin(heap); + pnindex = GET_INT_FROM_POINTER(BLI_heap_popmin(heap)); currpn = &(Q[pnindex]); if(currpn == (PathNode*)t->tmp.p) /*target has been reached....*/ @@ -6454,7 +6458,7 @@ void pathselect(void) cost[currpe->v] = cost[currpn->u] + currpe->w; previous[currpe->v] = currpn->u; Q[currpe->v].visited = 1; - BLI_heap_insert(heap, cost[currpe->v], (void*)currpe->v); + BLI_heap_insert(heap, cost[currpe->v], SET_INT_IN_POINTER(currpe->v)); } } } |