aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjackpoz <giacomopoz@gmail.com>2019-07-13 12:10:32 +0200
committerjackpoz <giacomopoz@gmail.com>2019-07-13 12:10:32 +0200
commit7f3d8c99bb14c7b093a5c2419f3e931fef11004e (patch)
tree5e0981b64c923ed1dd34105027bcfbb22f051bb6
parent57070192561b6f385e4c465d397feafe85df2413 (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.
-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 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()