From d0b7a983d145845aa0ecca9c0201ff168006eff8 Mon Sep 17 00:00:00 2001 From: Lirusaito Date: Mon, 21 Jan 2019 23:38:06 -0500 Subject: [PATCH] Fix an edge case where the radar could now crash loop, woops. Thanks to Deltek and Router Gray for reporting and testing! <3 --- indra/newview/llfloateravatarlist.cpp | 2 +- indra/newview/llfloateravatarlist.h | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/indra/newview/llfloateravatarlist.cpp b/indra/newview/llfloateravatarlist.cpp index 7c1c0e096..c1cb88026 100644 --- a/indra/newview/llfloateravatarlist.cpp +++ b/indra/newview/llfloateravatarlist.cpp @@ -147,7 +147,7 @@ LLAvatarListEntry::LLAvatarListEntry(const LLUUID& id, const std::string& name, LLAvatarListEntry::~LLAvatarListEntry() { static LLCachedControl radar_alert_flood_leaving(gSavedSettings, "RadarAlertFloodLeaving"); - bool cleanup = LLFloaterAvatarList::instance().isCleanup(); + bool cleanup = LLFloaterAvatarList::isCleanup(); if (radar_alert_flood_leaving || !cleanup) { setPosition(mPosition, F32_MIN, false, cleanup); // Dead and gone diff --git a/indra/newview/llfloateravatarlist.h b/indra/newview/llfloateravatarlist.h index 0da776495..9aa278d83 100644 --- a/indra/newview/llfloateravatarlist.h +++ b/indra/newview/llfloateravatarlist.h @@ -328,7 +328,11 @@ public: */ void expireAvatarList(const std::list& ids); void updateAvatarSorting(); - bool isCleanup() const { return mCleanup; } + static bool isCleanup() + { + const auto& inst = getIfExists(); + return inst && inst->mCleanup; + } private: void setFocusAvatarInternal(const LLUUID& id);