SL-9822 Minimizing viewer resets day editor's values

meow-7.2.2
andreykproductengine 2018-10-05 17:12:58 +03:00
parent 107994a68f
commit d60588ec4f
3 changed files with 11 additions and 1 deletions

View File

@ -89,6 +89,9 @@ public:
void setEditDayCycle(const LLSettingsDay::ptr_t &pday);
void setEditDefaultDayCycle();
LLUUID getEditingAssetId() { return mEditDay ? mEditDay->getAssetId() : LLUUID::null; }
LLUUID getEditingInventoryId() { return mInventoryId; }
BOOL handleKeyUp(KEY key, MASK mask, BOOL called_from_parent) override;

View File

@ -116,6 +116,7 @@ const std::string alt_labels[] = {
LLPanelEnvironmentInfo::LLPanelEnvironmentInfo():
mCurrentEnvironment(),
mDirtyFlag(0),
mEditorLastParcelId(INVALID_PARCEL_ID),
mCrossRegion(false),
mNoSelection(false),
mNoEnvironment(false),
@ -325,11 +326,15 @@ void LLPanelEnvironmentInfo::updateEditFloater(const LLEnvironment::EnvironmentI
else
dayeditor->closeFloater();
}
else
else if (dayeditor->getEditingAssetId() != nextenv->mDayCycle->getAssetId()
|| mEditorLastParcelId != nextenv->mParcelId
|| mEditorLastRegionId != nextenv->mRegionId)
{
// Ignore dirty
// If parcel selection changed whatever we do except saving to inventory with
// old settings will be invalid.
mEditorLastParcelId = nextenv->mParcelId;
mEditorLastRegionId = nextenv->mRegionId;
dayeditor->setEditDayCycle(nextenv->mDayCycle);
}
}

View File

@ -171,6 +171,8 @@ private:
LLHandle<LLFloater> mSettingsFloater;
LLHandle<LLFloater> mEditFloater;
S32 mDirtyFlag;
S32 mEditorLastParcelId;
LLUUID mEditorLastRegionId;
bool mCrossRegion;
bool mNoSelection;
bool mNoEnvironment;