diff --git a/interface/src/avatar/MyAvatar.cpp b/interface/src/avatar/MyAvatar.cpp index d2a9e798f8..ba4d48fd3f 100755 --- a/interface/src/avatar/MyAvatar.cpp +++ b/interface/src/avatar/MyAvatar.cpp @@ -959,6 +959,18 @@ void MyAvatar::restoreRoleAnimation(const QString& role) { _skeletonModel->getRig().restoreRoleAnimation(role); } +void MyAvatar::saveAvatarUrl() { + Settings settings; + settings.beginGroup("Avatar"); + if (qApp->getSaveAvatarOverrideUrl() || !qApp->getAvatarOverrideUrl().isValid() ) { + settings.setValue("fullAvatarURL", + _fullAvatarURLFromPreferences == AvatarData::defaultFullAvatarModelUrl() ? + "" : + _fullAvatarURLFromPreferences.toString()); + } + settings.endGroup(); +} + void MyAvatar::saveData() { Settings settings; settings.beginGroup("Avatar"); @@ -1452,6 +1464,7 @@ void MyAvatar::setSkeletonModelURL(const QUrl& skeletonModelURL) { _skeletonModel->setVisibleInScene(true, qApp->getMain3DScene(), render::ItemKey::TAG_BITS_NONE); _headBoneSet.clear(); _cauterizationNeedsUpdate = true; + saveAvatarUrl(); emit skeletonChanged(); } diff --git a/interface/src/avatar/MyAvatar.h b/interface/src/avatar/MyAvatar.h index 97e82b87f5..124902a1b1 100644 --- a/interface/src/avatar/MyAvatar.h +++ b/interface/src/avatar/MyAvatar.h @@ -646,6 +646,7 @@ private: void simulate(float deltaTime); void updateFromTrackers(float deltaTime); + void saveAvatarUrl(); virtual void render(RenderArgs* renderArgs) override; virtual bool shouldRenderHead(const RenderArgs* renderArgs) const override; void setShouldRenderLocally(bool shouldRender) { _shouldRender = shouldRender; setEnableMeshVisible(shouldRender); }