From fb379f6c00984e3fe06416dd3e40b224544c18ce Mon Sep 17 00:00:00 2001 From: David Rowe Date: Tue, 2 Jun 2015 08:37:45 -0700 Subject: [PATCH] Fix crash when setting avatar body with Preferences dialog closed --- interface/src/ui/AvatarAppearanceDialog.cpp | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/interface/src/ui/AvatarAppearanceDialog.cpp b/interface/src/ui/AvatarAppearanceDialog.cpp index ceaaf140c4..3ab99c141d 100644 --- a/interface/src/ui/AvatarAppearanceDialog.cpp +++ b/interface/src/ui/AvatarAppearanceDialog.cpp @@ -82,7 +82,10 @@ void AvatarAppearanceDialog::setUseFullAvatar(bool useFullAvatar) { ui.useFullAvatar->setChecked(_useFullAvatar); ui.useSeparateBodyAndHead->setChecked(!_useFullAvatar); - DependencyManager::get()->getPreferencesDialog()->avatarDescriptionChanged(); + QPointer prefs = DependencyManager::get()->getPreferencesDialog(); + if (prefs) { // Preferences dialog may have been closed + prefs->avatarDescriptionChanged(); + } } void AvatarAppearanceDialog::headURLChanged(const QString& newValue, const QString& modelName) { @@ -106,7 +109,10 @@ void AvatarAppearanceDialog::fullAvatarURLChanged(const QString& newValue, const void AvatarAppearanceDialog::accept() { saveAvatarAppearance(); - DependencyManager::get()->getPreferencesDialog()->avatarDescriptionChanged(); + QPointer prefs = DependencyManager::get()->getPreferencesDialog(); + if (prefs) { // Preferences dialog may have been closed + prefs->avatarDescriptionChanged(); + } close(); delete _marketplaceWindow;