Merged in SL-13265 "Empty leaf" crash safeguards

master
Andrey Kleshchev 2020-05-18 18:01:22 +00:00
commit 2b8d3dc6fd
19 changed files with 13 additions and 28 deletions

View File

@ -30,12 +30,6 @@
#include "llhandle.h"
#include "llaccountingcost.h"
#include "httpcommon.h"
#include "llcoros.h"
#include "lleventcoro.h"
#include "httprequest.h"
#include "httpheaders.h"
#include "httpoptions.h"
//===============================================================================
// An interface class for panels which display the parcel accounting information.

View File

@ -47,20 +47,15 @@ extern const BOOL ANIMATE;
extern const U8 AGENT_STATE_TYPING; // Typing indication
extern const U8 AGENT_STATE_EDITING; // Set when agent has objects selected
class LLChat;
class LLViewerRegion;
class LLMotion;
class LLToolset;
class LLMessageSystem;
class LLPermissions;
class LLHost;
class LLFriendObserver;
class LLPickInfo;
class LLViewerObject;
class LLAgentDropGroupViewerNode;
class LLAgentAccess;
class LLSLURL;
class LLPauseRequestHandle;
class LLUIColor;
class LLTeleportRequest;
@ -91,8 +86,6 @@ struct LLGroupData
class LLAgentListener;
class LLAgentImpl;
//------------------------------------------------------------------------
// LLAgent
//------------------------------------------------------------------------

View File

@ -31,7 +31,6 @@
#include <map>
#include <set>
#include <string>
#include "llhttpretrypolicy.h"
#include "llviewerinventory.h"
#include "llcorehttputil.h"
#include "llcoproceduremanager.h"

View File

@ -30,8 +30,6 @@
#include "llsingleton.h"
class LLViewerInventoryItem;
//--------------------------------------------------------------------------------
// LLAttachmentsMgr
//

View File

@ -31,7 +31,6 @@
#include "lliconctrl.h"
#include "llavatarpropertiesprocessor.h"
#include "llviewermenu.h"
class LLAvatarName;

View File

@ -30,7 +30,6 @@
#include <boost/signals2.hpp>
#include "llpanel.h"
#include "lloutputmonitorctrl.h"
#include "llbutton.h"
#include "lltextbox.h"
#include "llstyle.h"
@ -38,6 +37,7 @@
#include "llcallingcard.h" // for LLFriendObserver
class LLAvatarIconCtrl;
class LLOutputMonitorCtrl;
class LLAvatarName;
class LLIconCtrl;

View File

@ -57,7 +57,6 @@
#include "llinventorymodel.h"
#include "llmultigesture.h"
#include "llui.h"
#include "llviewermenu.h"
#include "lluictrlfactory.h"
//

View File

@ -64,6 +64,7 @@
#include "llstring.h"
#include "llurlaction.h"
#include "llviewercontrol.h"
#include "llviewermenu.h"
#include "llviewerobjectlist.h"
static LLDefaultChildRegistry::Register<LLChatHistory> r("chat_history");

View File

@ -27,6 +27,7 @@
#include "llviewerprecompiledheaders.h"
#include "llchatitemscontainerctrl.h"
#include "llchatmsgbox.h"
#include "lltextbox.h"
#include "llavataractions.h"

View File

@ -28,12 +28,13 @@
#define LL_LLCHATITEMSCONTAINERCTRL_H_
#include "llchat.h"
#include "llchatmsgbox.h"
#include "llpanel.h"
#include "llscrollbar.h"
#include "llviewerchat.h"
#include "lltoastpanel.h"
class LLChatMsgBox;
typedef enum e_show_item_header
{
CHATITEMHEADER_SHOW_ONLY_NAME = 0,

View File

@ -36,6 +36,7 @@
#include "llsingleton.h"
#include "llsyswellwindow.h"
#include "llfloaternotificationstabbed.h"
#include "llviewermenu.h"
static LLDefaultChildRegistry::Register<LLChicletPanel> t1("chiclet_panel");
static LLDefaultChildRegistry::Register<LLNotificationChiclet> t2("chiclet_notification");

View File

@ -36,7 +36,6 @@
// Classes
//
class LLColor4;
class LLFloaterColorPicker;
class LLColorSwatchCtrl
: public LLUICtrl

View File

@ -29,14 +29,11 @@
#include "llinventory.h"
#include "llviewerobject.h"
#include "llvoinventorylistener.h"
#include "lluuid.h"
#include "llfloater.h"
#include "llscrolllistctrl.h"
#include "llviewerinventory.h"
#include "llevents.h"
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

View File

@ -34,6 +34,7 @@
#include "lloutputmonitorctrl.h"
class LLTextBox;
class LLFloater;
class LLFloaterIMContainer;
class LLConversationViewSession;
class LLConversationViewParticipant;

View File

@ -38,7 +38,6 @@
#include "lldrawable.h"
#include "lldrawpoolbump.h"
#include "llface.h"
#include "llvolume.h"
#include "llmeshrepository.h"
#include "llsky.h"
#include "llviewercamera.h"

View File

@ -54,6 +54,7 @@
#include "llcallbacklist.h"
#include "llworld.h"
#include "llsdserialize.h"
#include "llviewermenu.h" // is_agent_mappable
#include "llviewerobjectlist.h"
#include "boost/foreach.hpp"

View File

@ -34,6 +34,7 @@
class LLSpinCtrl;
class LLSnapshotLivePreview;
class LLToolset;
class LLFloaterSnapshotBase : public LLFloater
{

View File

@ -44,6 +44,7 @@
#include "llavatariconctrl.h"
#include "llfloaterreg.h"
#include "llnotificationsutil.h"
#include "llviewermenu.h" // is_agent_mappable
#include "llvoiceclient.h"
#include "lltextbox.h"
#include "lltrans.h"

View File

@ -3123,13 +3123,13 @@ void renderRaycast(LLDrawable* drawablep)
LLGLEnable blend(GL_BLEND);
gGL.diffuseColor4f(0,1,1,0.5f);
if (drawablep->getVOVolume())
LLVOVolume* vobj = drawablep->getVOVolume();
if (vobj && !vobj->isDead())
{
//glPolygonMode(GL_FRONT_AND_BACK, GL_LINE);
//pushVerts(drawablep->getFace(gDebugRaycastFaceHit), LLVertexBuffer::MAP_VERTEX);
//glPolygonMode(GL_FRONT_AND_BACK, GL_FILL);
LLVOVolume* vobj = drawablep->getVOVolume();
LLVolume* volume = vobj->getVolume();
bool transform = true;
@ -3358,7 +3358,7 @@ public:
for (OctreeNode::const_element_iter i = branch->getDataBegin(); i != branch->getDataEnd(); ++i)
{
LLDrawable* drawable = (LLDrawable*)(*i)->getDrawable();
if(!drawable)
if(!drawable || drawable->isDead())
{
continue;
}