From 7f3d8c99bb14c7b093a5c2419f3e931fef11004e Mon Sep 17 00:00:00 2001 From: jackpoz Date: Sat, 13 Jul 2019 12:10:32 +0200 Subject: Core/Calendar: Fix issue with invite status being set to the wrong invite Consider the case of Player A inviting Player B to a Calendar Event. After Player B clicks on Accepts/Tentative/Reject, the calendar shows that status for Player A instead. --- src/server/game/Calendar/CalendarMgr.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/server/game/Calendar/CalendarMgr.cpp b/src/server/game/Calendar/CalendarMgr.cpp index 1b55e9aaeec..b16579f0a71 100644 --- a/src/server/game/Calendar/CalendarMgr.cpp +++ b/src/server/game/Calendar/CalendarMgr.cpp @@ -33,7 +33,9 @@ _status(CALENDAR_STATUS_INVITED), _rank(CALENDAR_RANK_PLAYER), _text("") { } CalendarInvite::~CalendarInvite() { - sCalendarMgr->FreeInviteId(_inviteId); + // Free _inviteId only if it's a real invite and not just a pre-invite or guild announcement + if (_inviteId != 0 && _eventId != 0) + sCalendarMgr->FreeInviteId(_inviteId); } CalendarEvent::~CalendarEvent() -- cgit v1.2.3