diff -r d8c37b383028 indra/newview/llparticipantlist.cpp --- a/indra/newview/llparticipantlist.cpp Mon Jul 18 15:41:14 2011 -0400 +++ b/indra/newview/llparticipantlist.cpp Thu Jul 21 16:57:46 2011 +0300 @@ -798,11 +798,19 @@ bool LLParticipantList::LLParticipantListMenu::isGroupModerator() { - // Agent is in Group Call + if (!mParent.mSpeakerMgr) + { + llwarns << "Speaker manager is missing" << llendl; + return false; + } + + // Is session a group call/chat? if(gAgent.isInGroup(mParent.mSpeakerMgr->getSessionID())) { - // Agent is Moderator - return mParent.mSpeakerMgr->findSpeaker(gAgentID)->mIsModerator; + LLSpeaker* speaker = mParent.mSpeakerMgr->findSpeaker(gAgentID).get(); + + // Is agent a moderator? + return speaker && speaker->mIsModerator; } return false; }