From 20e78bb88ebe0a5416f3fb272afe9455aa756869 Mon Sep 17 00:00:00 2001 From: maxim_productengine Date: Wed, 3 Oct 2018 13:33:19 +0300 Subject: SL-9780 FIXED [EEP] Environment gets stuck on region environment after closing Region/Estate floater --- indra/newview/llpanelenvironment.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/indra/newview/llpanelenvironment.cpp b/indra/newview/llpanelenvironment.cpp index ecd67ff8af..4ab09e7118 100644 --- a/indra/newview/llpanelenvironment.cpp +++ b/indra/newview/llpanelenvironment.cpp @@ -170,7 +170,7 @@ void LLPanelEnvironmentInfo::onVisibilityChange(BOOL new_visibility) } gIdleCallbacks.deleteFunction(onIdlePlay, this); - LLFloaterEditExtDayCycle *dayeditor = getEditFloater(); + LLFloaterEditExtDayCycle *dayeditor = getEditFloater(false); if (mCommitConnection.connected()) mCommitConnection.disconnect(); @@ -179,7 +179,10 @@ void LLPanelEnvironmentInfo::onVisibilityChange(BOOL new_visibility) if (dayeditor->isDirty()) dayeditor->refresh(); else + { dayeditor->closeFloater(); + mEditFloater.markDead(); + } } } -- cgit v1.2.3 From 9b1f7bd9d1bfe64ea1243609471e80136d96fc67 Mon Sep 17 00:00:00 2001 From: andreykproductengine Date: Wed, 3 Oct 2018 16:40:04 +0300 Subject: SL-9789 [EEP] Viewer crashes after reloading the same frame --- indra/newview/llfloatereditextdaycycle.cpp | 53 +++++++++++++++--------------- 1 file changed, 26 insertions(+), 27 deletions(-) diff --git a/indra/newview/llfloatereditextdaycycle.cpp b/indra/newview/llfloatereditextdaycycle.cpp index f01159f07c..1d209fe230 100644 --- a/indra/newview/llfloatereditextdaycycle.cpp +++ b/indra/newview/llfloatereditextdaycycle.cpp @@ -1102,13 +1102,6 @@ void LLFloaterEditExtDayCycle::onAssetLoaded(LLUUID asset_id, LLSettingsBase::pt } mExpectingAssetId.setNull(); - if ((mInventoryItem && mInventoryItem->getAssetUUID() != asset_id) - || (!mInventoryItem && LLSettingsDay::GetDefaultAssetId() != asset_id)) - { - LL_WARNS("ENVDAYEDIT") << "Discarding obsolete asset callback" << LL_ENDL; - return; - } - if (!settings || status) { LLSD args; @@ -1537,6 +1530,16 @@ void LLFloaterEditExtDayCycle::onAssetLoadedForFrame(LLUUID asset_id, LLSettings { std::function cb = [this, settings, frame, track]() { + if ((mEditDay->getSettingsNearKeyframe(frame, mCurrentTrack, LLSettingsDay::DEFAULT_FRAME_SLOP_FACTOR)).second) + { + LL_WARNS("ENVDAYEDIT") << "Attempt to add new frame too close to existing frame." << LL_ENDL; + return; + } + if (!mFramesSlider->canAddSliders()) + { + LL_WARNS("ENVDAYEDIT") << "Attempt to add new frame when slider is full." << LL_ENDL; + return; + } mEditDay->setSettingsAtKeyframe(settings, frame, track); reblendSettings(); synchronizeTabs(); @@ -1556,30 +1559,26 @@ void LLFloaterEditExtDayCycle::onAssetLoadedForFrame(LLUUID asset_id, LLSettings inv_item = picker->findItem(asset_id, false, false); } - if (inv_item) + if (inv_item + && mInventoryItem + && mInventoryItem->getPermissions().allowOperationBy(PERM_TRANSFER, gAgent.getID()) + && !inv_item->getPermissions().allowOperationBy(PERM_TRANSFER, gAgent.getID())) { - if (mInventoryItem->getPermissions().allowOperationBy(PERM_TRANSFER, gAgent.getID())) + LLSD args; + + // create and show confirmation textbox + LLNotificationsUtil::add("SettingsMakeNoTrans", args, LLSD(), + [this, cb](const LLSD¬if, const LLSD&resp) { - if (!inv_item->getPermissions().allowOperationBy(PERM_TRANSFER, gAgent.getID())) + S32 opt = LLNotificationsUtil::getSelectedOption(notif, resp); + if (opt == 0) { - LLSD args; - - // create and show confirmation textbox - LLNotificationsUtil::add("SettingsMakeNoTrans", args, LLSD(), - [this, cb](const LLSD¬if, const LLSD&resp) - { - S32 opt = LLNotificationsUtil::getSelectedOption(notif, resp); - if (opt == 0) - { - mMakeNoTrans = true; - mEditDay->setFlag(LLSettingsBase::FLAG_NOTRANS); - cb(); - } - }); - return; + mMakeNoTrans = true; + mEditDay->setFlag(LLSettingsBase::FLAG_NOTRANS); + cb(); } - } - + }); + return; } cb(); -- cgit v1.2.3 From 8acb87aaf32e6f27d2f8caba6178cdd7a80c2086 Mon Sep 17 00:00:00 2001 From: andreykproductengine Date: Thu, 4 Oct 2018 17:00:07 +0300 Subject: SL-9809 [EEP] Environment becomes dark after setting "Glow Size" to the maximum value --- indra/newview/lllegacyatmospherics.cpp | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/indra/newview/lllegacyatmospherics.cpp b/indra/newview/lllegacyatmospherics.cpp index 04623c4452..0c4e5b48e8 100644 --- a/indra/newview/lllegacyatmospherics.cpp +++ b/indra/newview/lllegacyatmospherics.cpp @@ -333,8 +333,17 @@ void LLAtmospherics::calcSkyColorWLVert(LLVector3 & Pn, AtmosphericsVars& vars) // temp2.x is 0 at the sun and increases away from sun temp2.mV[0] = llmax(temp2.mV[0], .001f); // Set a minimum "angle" (smaller glow.y allows tighter, brighter hotspot) - temp2.mV[0] *= glow.mV[0]; + + if (glow.mV[0] > 0) // don't pow(zero,negative value), glow from 0 to 2 + { // Higher glow.x gives dimmer glow (because next step is 1 / "angle") + temp2.mV[0] *= glow.mV[0]; + } + else + { + temp2.mV[0] = F32_MIN; + } + temp2.mV[0] = pow(temp2.mV[0], glow.mV[2]); // glow.z should be negative, so we're doing a sort of (1 / "angle") function -- cgit v1.2.3