From 2bba21910692cf32b8ec333be3c4423d1ad18a43 Mon Sep 17 00:00:00 2001 From: DDuarte Date: Tue, 9 Sep 2014 23:11:13 +0100 Subject: Core/Loot: Fix some issues with master loot Thanks to @PortgasDAce for the initial patch Closes #12732 --- src/server/game/Loot/LootMgr.cpp | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'src/server/game/Loot/LootMgr.cpp') diff --git a/src/server/game/Loot/LootMgr.cpp b/src/server/game/Loot/LootMgr.cpp index 270af559f0b..cf50dbcda52 100644 --- a/src/server/game/Loot/LootMgr.cpp +++ b/src/server/game/Loot/LootMgr.cpp @@ -898,8 +898,16 @@ ByteBuffer& operator<<(ByteBuffer& b, LootView const& lv) slot_type = LOOT_SLOT_TYPE_ROLL_ONGOING; break; case MASTER_PERMISSION: - slot_type = LOOT_SLOT_TYPE_MASTER; + { + if (lv.viewer->GetGroup()) + { + if (lv.viewer->GetGroup()->GetMasterLooterGuid() == lv.viewer->GetGUID()) + slot_type = LOOT_SLOT_TYPE_MASTER; + else + slot_type = LOOT_SLOT_TYPE_LOCKED; + } break; + } case RESTRICTED_PERMISSION: slot_type = LOOT_SLOT_TYPE_LOCKED; break; -- cgit v1.2.3 From 9b2737c068d81297a71761294475cd980db17736 Mon Sep 17 00:00:00 2001 From: Duarte Duarte Date: Tue, 9 Sep 2014 23:40:35 +0100 Subject: Core/Loot: Fix a possible unintialized slot_type in LootMgr Noticed by @joschiwald --- src/server/game/Loot/LootMgr.cpp | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) (limited to 'src/server/game/Loot/LootMgr.cpp') diff --git a/src/server/game/Loot/LootMgr.cpp b/src/server/game/Loot/LootMgr.cpp index cf50dbcda52..2d762b569bc 100644 --- a/src/server/game/Loot/LootMgr.cpp +++ b/src/server/game/Loot/LootMgr.cpp @@ -899,13 +899,10 @@ ByteBuffer& operator<<(ByteBuffer& b, LootView const& lv) break; case MASTER_PERMISSION: { - if (lv.viewer->GetGroup()) - { - if (lv.viewer->GetGroup()->GetMasterLooterGuid() == lv.viewer->GetGUID()) - slot_type = LOOT_SLOT_TYPE_MASTER; - else - slot_type = LOOT_SLOT_TYPE_LOCKED; - } + if (lv.viewer->GetGroup() && lv.viewer->GetGroup()->GetMasterLooterGuid() == lv.viewer->GetGUID()) + slot_type = LOOT_SLOT_TYPE_MASTER; + else + slot_type = LOOT_SLOT_TYPE_LOCKED; break; } case RESTRICTED_PERMISSION: -- cgit v1.2.3