From: ian Date: Sun, 26 Jun 2005 00:50:47 +0000 (+0000) Subject: fix not to generate "%L segmentpart" lines twice each X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ijackson/git?a=commitdiff_plain;h=fec8b95d4b35bc602f7ceafcae430d4fe824d2ea;p=trains.git fix not to generate "%L segmentpart" lines twice each --- diff --git a/layout/layout b/layout/layout index 2a52ac5..0a1f6fa 100755 --- a/layout/layout +++ b/layout/layout @@ -628,10 +628,11 @@ sub parametric__o_pt ($) { our $segused_incurrent; our $segused_currentpt; our $segmentpart_counter=0; +our $segused_restorecounter; sub segment_used__print ($) { my ($pt) = @_; - if ($segused_incurrent > 0) { + if ($segused_incurrent > 0 && $segused_restorecounter==1) { o("%L segmentpart ". $segmentpart_counter++." ". $ctx->{Layer}{Level}.$ctx->{Layer}{Kind}." ". @@ -660,13 +661,14 @@ sub segment_used__len ($$) { } sub segment_state_save () { - return [ $segused_incurrent, $segused_currentpt, + return [ 0, $segused_incurrent, $segused_currentpt, $segmentpart_counter, @segments ]; } sub segment_state_restore ($) { my ($r) = @_; - ($segused_incurrent, $segused_currentpt, + ($segused_restorecounter, $segused_incurrent, $segused_currentpt, $segmentpart_counter, @segments) = @$r; + $r->[0]++; } sub segment_used_begin ($) {