diff --git a/server/gameserver/buff/callfunc.cc b/server/gameserver/buff/callfunc.cc index 3bd0a72d..ce847948 100644 --- a/server/gameserver/buff/callfunc.cc +++ b/server/gameserver/buff/callfunc.cc @@ -1093,7 +1093,9 @@ void CallFuncBuff::RangeHoldBuff() auto clear_func = [this, context, check_timer] () mutable { - owner->room->xtimer.Delete(check_timer); + if (!check_timer.expired()) { + owner->room->xtimer.Delete(check_timer); + } for (auto& pair : context->in_human_infos) { for (int buff_uniid : pair.second.buff_uniids) { if (pair.second.c.Get()) {