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:
Diffstat (limited to 'source/blender/blenlib/intern/scanfill.c')
-rw-r--r--source/blender/blenlib/intern/scanfill.c14
1 files changed, 9 insertions, 5 deletions
diff --git a/source/blender/blenlib/intern/scanfill.c b/source/blender/blenlib/intern/scanfill.c
index 4ce718aeb16..32afaba2b5c 100644
--- a/source/blender/blenlib/intern/scanfill.c
+++ b/source/blender/blenlib/intern/scanfill.c
@@ -423,12 +423,16 @@ static void testvertexnearedge(ScanFillContext *sf_ctx)
for (eve = sf_ctx->fillvertbase.first; eve; eve = eve->next) {
if (eve->h == 1) {
- /* find the edge which has vertex eve */
- ed1 = sf_ctx->filledgebase.first;
- while (ed1) {
- if (ed1->v1 == eve || ed1->v2 == eve) break;
- ed1 = ed1->next;
+ /* find the edge which has vertex eve,
+ * note: we _know_ this will crash if 'ed1' becomes NULL
+ * but this will never happen. */
+ for (ed1 = sf_ctx->filledgebase.first;
+ !(ed1->v1 == eve || ed1->v2 == eve);
+ ed1 = ed1->next)
+ {
+ /* do nothing */
}
+
if (ed1->v1 == eve) {
ed1->v1 = ed1->v2;
ed1->v2 = eve;