diff -r bde3e43d7b27 -r b30b8d39d662 hedgewars/uGearsHandlersMess.pas --- a/hedgewars/uGearsHandlersMess.pas Tue Nov 11 21:55:38 2014 +0100 +++ b/hedgewars/uGearsHandlersMess.pas Tue Nov 11 23:57:46 2014 +0300 @@ -1828,7 +1828,7 @@ particle: PVisualGear; dxdy: hwFloat; begin - if (Gear^.dY.QWordValue = 0) and (Gear^.dY.QWordValue = 0) and (TestCollisionYwithGear(Gear, 1) = 0) then + if (Gear^.dX.QWordValue = 0) and (Gear^.dY.QWordValue = 0) and (TestCollisionYwithGear(Gear, 1) = 0) then SetLittle(Gear^.dY); Gear^.State := Gear^.State or gstAnimation; if Gear^.Health < cBarrelHealth then Gear^.State:= Gear^.State and (not gstFrozen); @@ -4036,7 +4036,7 @@ or (iterator^.Y > Gear^.Y + r) then continue; - hasdxy := (((iterator^.dX.QWordValue <> 0) or (iterator^.dY.QWordValue <> 0)) or ((iterator^.State or gstMoving) = 0)); + hasdxy := (((iterator^.dX.QWordValue <> 0) or (iterator^.dY.QWordValue <> 0)) or ((iterator^.State and gstMoving) = 0)); // in case the object is not moving, let's asume it's falling towards the portal if not hasdxy then