aboutsummaryrefslogtreecommitdiff
path: root/src/server
diff options
context:
space:
mode:
authorjackpoz <giacomopoz@gmail.com>2019-07-13 12:10:32 +0200
committerShauren <shauren.trinity@gmail.com>2021-12-16 00:15:48 +0100
commit71b2f8c6ab26ef7683100fdf288813e87f6bbf73 (patch)
tree47f98d96e4688eaec244392cc359d6d0e3293244 /src/server
parent1b7a1c51aed401d71d22ef4043ca0579e35f5c92 (diff)
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. (cherry picked from commit 7f3d8c99bb14c7b093a5c2419f3e931fef11004e)
Diffstat (limited to 'src/server')
-rw-r--r--src/server/game/Calendar/CalendarMgr.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/server/game/Calendar/CalendarMgr.cpp b/src/server/game/Calendar/CalendarMgr.cpp
index e89c8443df0..4a2d31803fb 100644
--- a/src/server/game/Calendar/CalendarMgr.cpp
+++ b/src/server/game/Calendar/CalendarMgr.cpp
@@ -32,7 +32,9 @@ _status(CALENDAR_STATUS_INVITED), _rank(CALENDAR_RANK_PLAYER), _note("") { }
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()