]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/commitdiff
Ent_Remove: delete skeletonobjects if there are any
authorRudolf Polzer <divverent@xonotic.org>
Wed, 5 Dec 2012 05:33:47 +0000 (06:33 +0100)
committerRudolf Polzer <divverent@xonotic.org>
Wed, 5 Dec 2012 05:34:16 +0000 (06:34 +0100)
This fixes the memory leak CSAD had.

qcsrc/client/Main.qc
qcsrc/client/player_skeleton.qc

index c7a66a8680271478e17323116cc577a02fec1272..7145becc073c6fd83dcf46221e8e55d26d9b27ce 100644 (file)
@@ -791,6 +791,12 @@ void Ent_Remove()
        if(self.entremove)
                self.entremove();
 
+       if(self.skeletonindex)
+       {
+               skel_delete(self.skeletonindex);
+               self.skeletonindex = 0;
+       }
+
        self.enttype = 0;
        self.classname = "";
        self.draw = menu_sub_null;
index 6dd895a6ad0ddae2612b8ae891f2accc8a4791ad..48fb8a34b7769a6cbfe0a503e41fafe408c8d4e5 100644 (file)
@@ -50,7 +50,6 @@ void skeleton_from_frames(entity e)
                if(m)
                {
                        e.skeletonindex = skel_create(m);
-                       // FIXME LEAKED if player is removed
                        skeleton_identifybones(e);
                }
        }