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:
authorTon Roosendaal <ton@blender.org>2006-06-30 20:07:50 +0400
committerTon Roosendaal <ton@blender.org>2006-06-30 20:07:50 +0400
commit8a6ead5f9550d7d0c9fb7580fc1351c816d57283 (patch)
treec07bf951b7943394e8749ffdcb3c4b627bcef661 /source/blender/blenlib
parentb0a3566409fc25ea978fb4272ce4670bfab4c845 (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.c24
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;