summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lib/evendoors/board.rb10
1 files changed, 6 insertions, 4 deletions
diff --git a/lib/evendoors/board.rb b/lib/evendoors/board.rb
index e8c5053..aacb78c 100644
--- a/lib/evendoors/board.rb
+++ b/lib/evendoors/board.rb
@@ -26,10 +26,12 @@ module EvenDoors
#
def process_p p
@viewer.receive_p p if @viewer
- p2 = @spots[p.link_value] ||= p
- return if p2==p
- p,p2 = p2,p if p.action==EvenDoors::ACT_FOLLOW
- p.merge! p2
+ if p.action!=EvenDoors::ACT_ERROR
+ p2 = @spots[p.link_value] ||= p
+ return if p2==p
+ p,p2 = p2,p if p.action==EvenDoors::ACT_FOLLOW
+ p.merge! p2
+ end
@saved = p
receive_p p
if not @saved.nil?