diff options
author | Ton Roosendaal <ton@blender.org> | 2006-06-30 20:07:50 +0400 |
---|---|---|
committer | Ton Roosendaal <ton@blender.org> | 2006-06-30 20:07:50 +0400 |
commit | 8a6ead5f9550d7d0c9fb7580fc1351c816d57283 (patch) | |
tree | c07bf951b7943394e8749ffdcb3c4b627bcef661 /source/blender/blenlib | |
parent | b0a3566409fc25ea978fb4272ce4670bfab4c845 (diff) |
Bugfix #4544
Another fix in scanfill. A really old one... probably over 5 years.
Fill crashed when there were loose edges that were zero sized.
Diffstat (limited to 'source/blender/blenlib')
-rw-r--r-- | source/blender/blenlib/intern/scanfill.c | 24 |
1 files changed, 13 insertions, 11 deletions
diff --git a/source/blender/blenlib/intern/scanfill.c b/source/blender/blenlib/intern/scanfill.c index 1fd7e939cff..3c0770e5e07 100644 --- a/source/blender/blenlib/intern/scanfill.c +++ b/source/blender/blenlib/intern/scanfill.c @@ -547,7 +547,7 @@ static void scanfill(PolyFill *pf, int mat_nr) } else { eed->v2->f= 255; - eed->v2->tmp.v = eed->v1; + eed->v2->tmp.v = eed->v1->tmp.v; } } } @@ -580,16 +580,18 @@ static void scanfill(PolyFill *pf, int mat_nr) nexted= eed->next; eed->f= 0; BLI_remlink(&filledgebase,eed); - if(eed->v1->f==255) { - v1= eed->v1; - while((eed->v1->f == 255) && (eed->v1->tmp.v != v1)) - eed->v1 = eed->v1->tmp.v; - } - if(eed->v2->f==255) { - v2= eed->v2; - while((eed->v2->f == 255) && (eed->v2->tmp.v != v2)) - eed->v2 = eed->v2->tmp.v; - } +/* commented all of this out, this I have no idea for what it is for, probably from ancient past */ +/* it does crash blender, since it uses mixed original and new vertices (ton) */ +// if(eed->v1->f==255) { +// v1= eed->v1; +// while((eed->v1->f == 255) && (eed->v1->tmp.v != v1)) +// eed->v1 = eed->v1->tmp.v; +// } +// if(eed->v2->f==255) { +// v2= eed->v2; +// while((eed->v2->f == 255) && (eed->v2->tmp.v != v2)) +// eed->v2 = eed->v2->tmp.v; +// } if(eed->v1!=eed->v2) addedgetoscanlist(eed,verts); eed= nexted; |