From 1d317c56b7656611907975efca0ffd2f16f4d1ab Mon Sep 17 00:00:00 2001 From: Relintai Date: Tue, 24 Sep 2019 15:18:35 +0200 Subject: [PATCH] Now entity properly calls unref, on spell cast fails. --- entities/entity.cpp | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/entities/entity.cpp b/entities/entity.cpp index 38904a1..6c2d1d0 100644 --- a/entities/entity.cpp +++ b/entities/entity.cpp @@ -2555,6 +2555,8 @@ void Entity::sfail_cast() { emit_signal("scast_failed", _s_spell_cast_info); + _s_spell_cast_info.unref(); + SEND_RPC(rpc("cfail_cast"), cfail_cast()); } @@ -2582,7 +2584,7 @@ void Entity::sfinish_cast() { emit_signal("scast_finished", _s_spell_cast_info); - _s_spell_cast_info = Ref(NULL); + _s_spell_cast_info.unref(); SEND_RPC(rpc("cfinish_cast"), cfinish_cast()); } @@ -2596,6 +2598,8 @@ void Entity::sinterrupt_cast() { emit_signal("scast_interrupted", _s_spell_cast_info); + _s_spell_cast_info.unref(); + SEND_RPC(rpc("cinterrupt_cast"), cinterrupt_cast()); } @@ -2612,7 +2616,7 @@ void Entity::cfail_cast() { emit_signal("ccast_failed", _c_spell_cast_info); - _c_spell_cast_info = Ref(NULL); + _c_spell_cast_info.unref(); } void Entity::cdelay_cast() { @@ -2625,13 +2629,13 @@ void Entity::cdelay_cast() { void Entity::cfinish_cast() { con_cast_finished(_c_spell_cast_info); emit_signal("ccast_finished", _c_spell_cast_info); - _c_spell_cast_info = Ref(NULL); + _c_spell_cast_info.unref(); } void Entity::cinterrupt_cast() { con_cast_failed(_c_spell_cast_info); emit_signal("ccast_interrupted", _c_spell_cast_info); - _c_spell_cast_info = Ref(NULL); + _c_spell_cast_info.unref(); } //// Cooldowns ////