Ticket #2654: relationeditor-infiniteloop2.diff
| File relationeditor-infiniteloop2.diff, 1.8 KB (added by , 17 years ago) |
|---|
-
src/org/openstreetmap/josm/gui/dialogs/relation/GenericRelationEditor.java
340 340 RelationMember m = em; 341 341 RelationMember way1 = null; 342 342 RelationMember way2 = null; 343 while (m != null) { 343 int depth = 0; 344 345 while (m != null && depth < 10) { 344 346 if (m.member instanceof Way) { 345 347 way1 = m; 346 348 break; 347 349 } else if (m.member instanceof Relation) { 350 if (m.member == this.relation) 351 break; 348 352 m = ((Relation)m.member).lastMember(); 353 depth++; 349 354 } else { 350 355 break; 351 356 } … … 354 359 int next = i+1; 355 360 while (next < clone.members.size()) { 356 361 m = clone.members.get(next++); 357 while (m != null) { 362 depth = 0; 363 while (m != null && depth < 10) { 358 364 if (m.member instanceof Way) { 359 365 way2 = m; 360 366 break; 361 367 } else if (m.member instanceof Relation) { 368 if (m.member == this.relation) 369 break; 362 370 m = ((Relation)(m.member)).firstMember(); 371 depth++; 363 372 } else { 364 373 break; 365 374 }
