FIRE-20152; Call FSAvatarRenderPersistence::saveAvatarRenderSettings during LLAppViewer::cleanup and not when the crt calls the destructors of static objects.
parent
c8c1f7c550
commit
803c5e4349
|
|
@ -36,7 +36,6 @@ FSAvatarRenderPersistence::FSAvatarRenderPersistence()
|
|||
|
||||
FSAvatarRenderPersistence::~FSAvatarRenderPersistence()
|
||||
{
|
||||
saveAvatarRenderSettings();
|
||||
}
|
||||
|
||||
void FSAvatarRenderPersistence::init()
|
||||
|
|
|
|||
|
|
@ -40,6 +40,8 @@ friend class FSPanelPreferenceBackup;
|
|||
|
||||
public:
|
||||
void init();
|
||||
void saveAvatarRenderSettings();
|
||||
|
||||
LLVOAvatar::VisualMuteSettings getAvatarRenderSettings(const LLUUID& avatar_id);
|
||||
void setAvatarRenderSettings(const LLUUID& avatar_id, LLVOAvatar::VisualMuteSettings render_settings);
|
||||
|
||||
|
|
@ -57,7 +59,6 @@ private:
|
|||
virtual ~FSAvatarRenderPersistence();
|
||||
|
||||
void loadAvatarRenderSettings();
|
||||
void saveAvatarRenderSettings();
|
||||
|
||||
avatar_render_setting_t mAvatarRenderMap;
|
||||
|
||||
|
|
|
|||
|
|
@ -257,6 +257,8 @@
|
|||
#if HAS_GROWL
|
||||
#include "growlmanager.h"
|
||||
#endif
|
||||
#include "fsavatarrenderpersistence.h"
|
||||
|
||||
// *FIX: These extern globals should be cleaned up.
|
||||
// The globals either represent state/config/resource-storage of either
|
||||
// this app, or another 'component' of the viewer. App globals should be
|
||||
|
|
@ -2040,6 +2042,12 @@ bool LLAppViewer::cleanup()
|
|||
LLPhysicsExtensions::quitSystem();
|
||||
#endif // </FS:ND>
|
||||
|
||||
// <FS:ND> FIRE-20152; save avatar render settings during cleanup, not in the dtor of the static instance.
|
||||
// Otherwise the save will happen during crt termination when most of the viewers infrastructure is in a non deterministic state
|
||||
if( FSAvatarRenderPersistence::instanceExists() )
|
||||
FSAvatarRenderPersistence::getInstance()->saveAvatarRenderSettings();
|
||||
// </FS:ND>
|
||||
|
||||
// Must clean up texture references before viewer window is destroyed.
|
||||
if(LLHUDManager::instanceExists())
|
||||
{
|
||||
|
|
|
|||
Loading…
Reference in New Issue