# HG changeset patch
# User sheepluva
# Date 1418668664 -3600
# Node ID 7111b4a46b5c20bb3a51df6f895f9e80f556e021
# Parent  cc3dea58794d66b0df811f28b6788dcd5dc90684
fix for Issue 855: Failure to teleport rarely makes engine crash

diff -r cc3dea58794d -r 7111b4a46b5c hedgewars/uGearsHandlersMess.pas
--- a/hedgewars/uGearsHandlersMess.pas	Mon Dec 15 16:11:18 2014 +0100
+++ b/hedgewars/uGearsHandlersMess.pas	Mon Dec 15 19:37:44 2014 +0100
@@ -2660,12 +2660,13 @@
         HHGear^.Message := HHGear^.Message and (not gmAttack);
         HHGear^.State := HHGear^.State and (not gstAttacking);
         HHGear^.State := HHGear^.State or gstHHChooseTarget;
-        DeleteGear(Gear);
         isCursorVisible := true;
         warn:= AddVisualGear(Gear^.Target.X, oy, vgtNoPlaceWarn, 0, true);
         if warn <> nil then
             warn^.Tex := GetPlaceCollisionTex(lx, ty, sprHHTelepMask, 0);
-        PlaySound(sndDenied)
+        DeleteGear(Gear);
+        PlaySound(sndDenied);
+        exit
         end
     else
         begin