From 3836ce9ba6872555494e434878fdc6f489a5f1d6 Mon Sep 17 00:00:00 2001 From: thickbrick Date: Tue, 5 Apr 2011 23:11:32 +0300 Subject: Fix #846: Crash when double-clicking system tree --- linden/indra/newview/lltoolpie.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'linden') diff --git a/linden/indra/newview/lltoolpie.cpp b/linden/indra/newview/lltoolpie.cpp index b7d762c..dbb5b63 100644 --- a/linden/indra/newview/lltoolpie.cpp +++ b/linden/indra/newview/lltoolpie.cpp @@ -802,8 +802,8 @@ BOOL LLToolPie::handleDoubleClick(S32 x, S32 y, MASK mask) } const LLTextureEntry* tep = object->getTE(mPick.mObjectFace); - viewer_media_t media_impl = LLViewerMedia::getMediaImplFromTextureID(tep->getID()); - if (tep && media_impl.notNull() && media_impl->hasMedia()) + viewer_media_t media_impl = tep ? LLViewerMedia::getMediaImplFromTextureID(tep->getID()) : NULL; + if (media_impl.notNull() && media_impl->hasMedia()) { LL_DEBUGS("DoubleClicks") << "Double clicked running parcel media" << LL_ENDL; return FALSE; -- cgit v1.1 From 5c9c5ecd774dc31c9b0afd64b63d574b698cc428 Mon Sep 17 00:00:00 2001 From: thickbrick Date: Tue, 5 Apr 2011 23:16:20 +0300 Subject: Fix #851: Crash in LLViewerObject::getBoundingBoxAgent Add some null guards, taken from Snowglobe 2. --- linden/indra/newview/llviewerobject.cpp | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'linden') diff --git a/linden/indra/newview/llviewerobject.cpp b/linden/indra/newview/llviewerobject.cpp index 65c1d11..9d69be5 100644 --- a/linden/indra/newview/llviewerobject.cpp +++ b/linden/indra/newview/llviewerobject.cpp @@ -4012,9 +4012,15 @@ LLBBox LLViewerObject::getBoundingBoxAgent() const { LLVector3 position_agent; LLQuaternion rot; + LLViewerObject* avatar_parent = NULL; LLViewerObject* root_edit = (LLViewerObject*)getRootEdit(); - LLViewerObject* avatar_parent = (LLViewerObject*)root_edit->getParent(); - if (avatar_parent && avatar_parent->isAvatar() && root_edit->mDrawable.notNull()) + if (root_edit) + { + avatar_parent = (LLViewerObject*)root_edit->getParent(); + } + + if (avatar_parent && avatar_parent->isAvatar() && + root_edit && root_edit->mDrawable.notNull() && root_edit->mDrawable->getXform()->getParent()) { LLXform* parent_xform = root_edit->mDrawable->getXform()->getParent(); position_agent = (getPositionEdit() * parent_xform->getWorldRotation()) + parent_xform->getWorldPosition(); -- cgit v1.1