From e224366ce6e6cf56547adaf6cb4d06ee744d856f Mon Sep 17 00:00:00 2001
From: Allanis <allanis@saracraft.net>
Date: Fri, 7 Mar 2014 19:49:13 +0000
Subject: [PATCH] [Add] Clean up pilot hooks when freeing pilot. [Remove]
 Removed unused jump hook for player that collided with pilot hook.

---
 src/pilot.c  | 8 ++++++++
 src/player.c | 1 -
 2 files changed, 8 insertions(+), 1 deletion(-)

diff --git a/src/pilot.c b/src/pilot.c
index 4ddb2c5..96315f1 100644
--- a/src/pilot.c
+++ b/src/pilot.c
@@ -1474,6 +1474,14 @@ Pilot* pilot_copy(Pilot* src) {
  *    @param p Pilot to free.
  */
 void pilot_free(Pilot* p) {
+  int i;
+
+  /* Clear up pilot hooks. */
+  for(i = 0; i < PILOT_HOOKS; i++)
+    if(p->hook_type[i] != PILOT_HOOK_NONE)
+      hook_rm(p->hook[i]);
+
+  /* Clean up data. */
   if(p->ai != NULL)
     ai_destroy(p); /* Must be destroyed first if applicable. */
   if(player == p) player = NULL;
diff --git a/src/player.c b/src/player.c
index 98c31e2..84a217c 100644
--- a/src/player.c
+++ b/src/player.c
@@ -1895,7 +1895,6 @@ void player_brokeHyperspace(void) {
   }
   
   /* Run the jump hooks. */
-  hooks_run("jump");
   hooks_run("enter");
 
   player_message("BANG!");