Added new type-safe cast functions.
This, when properly used, should get rid of most memory corruption issues, currently, casting types C-style with no checks leads to some abstract crashing. Functionality is same as with dynamic_cast<>, but with no RTTI check - so when casting into invalid type you will receive NULL, and most probably crash. At the same time, i took the liberty to convert most Player* casts to ToPlayer(). Still needs crapload of casts being moved to new facility. --HG-- branch : trunk
This commit is contained in:
@@ -125,7 +125,7 @@ void WorldSession::HandleQuestgiverAcceptQuestOpcode( WorldPacket & recv_data )
|
||||
// no or incorrect quest giver
|
||||
if(!pObject
|
||||
|| (pObject->GetTypeId() != TYPEID_PLAYER && !pObject->hasQuest(quest))
|
||||
|| (pObject->GetTypeId() == TYPEID_PLAYER && !((Player*)pObject)->CanShareQuest(quest))
|
||||
|| (pObject->GetTypeId() == TYPEID_PLAYER && !pObject->ToPlayer()->CanShareQuest(quest))
|
||||
)
|
||||
{
|
||||
_player->PlayerTalkClass->CloseGossip();
|
||||
|
||||
Reference in New Issue
Block a user