From 0ec029274ba544157212c23288e0e1f166f457b9 Mon Sep 17 00:00:00 2001
From: cybermind <iddqd_mail@mail.ru>
Date: Sun, 31 Mar 2013 12:19:47 +0600
Subject: [PATCH] [-] Fixed crash when no file was used for missile

---
 src/missile/missile.cpp | 4 +++-
 src/sound/sound.cpp     | 2 +-
 2 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/src/missile/missile.cpp b/src/missile/missile.cpp
index a4b2ae0de..85386d3e6 100644
--- a/src/missile/missile.cpp
+++ b/src/missile/missile.cpp
@@ -536,7 +536,9 @@ void Missile::DrawMissile(const CViewport &vp) const
 			CLabel(GetGameFont()).DrawClip(screenPixelPos.x, screenPixelPos.y, this->Damage);
 			break;
 		default:
-			this->Type->DrawMissileType(this->SpriteFrame, screenPixelPos);
+			if (Type->G) {
+				this->Type->DrawMissileType(this->SpriteFrame, screenPixelPos);
+			}
 			break;
 	}
 }
diff --git a/src/sound/sound.cpp b/src/sound/sound.cpp
index b7aa8d7ca..0cfda59fd 100644
--- a/src/sound/sound.cpp
+++ b/src/sound/sound.cpp
@@ -303,7 +303,7 @@ void PlayUnitSound(const CUnit &unit, CSound *sound)
 */
 void PlayMissileSound(const Missile &missile, CSound *sound)
 {
-	int stereo = ((missile.position.x + missile.Type->G->Width / 2 -
+	int stereo = ((missile.position.x + (missile.Type->G ? missile.Type->G->Width / 2 : 0) +
 				   UI.SelectedViewport->MapPos.x * PixelTileSize.x) * 256 /
 				  ((UI.SelectedViewport->MapWidth - 1) * PixelTileSize.x)) - 128;
 	clamp(&stereo, -128, 127);