diff options
| author | Andrey Kleshchev <andreykproductengine@lindenlab.com> | 2021-06-30 17:34:30 +0300 | 
|---|---|---|
| committer | Andrey Kleshchev <andreykproductengine@lindenlab.com> | 2021-06-30 17:34:39 +0300 | 
| commit | b15f30a9ce6f7ac7057a9daf7a4072426baf25d9 (patch) | |
| tree | 65bf3e222c96f1e4d41c07971f9b90de48cb4c07 | |
| parent | 7956f7bfd3343d90db6e6efc127996a3846a6891 (diff) | |
SL-15501 Viewer crash with unprotected use of std::vector::front()
| -rw-r--r-- | indra/newview/llappearancemgr.cpp | 11 | 
1 files changed, 11 insertions, 0 deletions
diff --git a/indra/newview/llappearancemgr.cpp b/indra/newview/llappearancemgr.cpp index 31b5cf9aaa..fd712ea5d0 100644 --- a/indra/newview/llappearancemgr.cpp +++ b/indra/newview/llappearancemgr.cpp @@ -4267,6 +4267,17 @@ public:  	}  	virtual void done()  	{ +        if (mComplete.size() <= 0) +        { +            // Ex: timeout +            LL_WARNS() << "Failed to load data. Removing observer " << LL_ENDL; +            gInventory.removeObserver(this); +            doOnIdleOneTime(mCallable); + +            delete this; +            return; +        } +  		// What we do here is get the complete information on the  		// items in the requested category, and set up an observer  		// that will wait for that to happen.  | 
