summaryrefslogtreecommitdiff
path: root/indra
diff options
context:
space:
mode:
authorandreykproductengine <andreykproductengine@lindenlab.com>2019-03-28 19:51:08 +0200
committerandreykproductengine <andreykproductengine@lindenlab.com>2019-03-28 19:51:08 +0200
commitc2864468d69d6ef94ba6ec2db23729c490ec8f3d (patch)
treee6549995dbdaf8a38f382fcb563604f3ef32f5a7 /indra
parent2bbb6c7e027ae12d18bef5db2cdc3e7ba41e8630 (diff)
SL-10766 Viewer is crashed after changing "day offset" settings
Diffstat (limited to 'indra')
-rw-r--r--indra/newview/llpanelenvironment.cpp28
1 files changed, 17 insertions, 11 deletions
diff --git a/indra/newview/llpanelenvironment.cpp b/indra/newview/llpanelenvironment.cpp
index b343c913e5..876b965fe9 100644
--- a/indra/newview/llpanelenvironment.cpp
+++ b/indra/newview/llpanelenvironment.cpp
@@ -686,30 +686,36 @@ void LLPanelEnvironmentInfo::readjustAltLabels()
void LLPanelEnvironmentInfo::onSldDayLengthChanged(F32 value)
{
- F32Hours daylength(value);
+ if (mCurrentEnvironment)
+ {
+ F32Hours daylength(value);
- mCurrentEnvironment->mDayLength = daylength;
- setDirtyFlag(DIRTY_FLAG_DAYLENGTH);
+ mCurrentEnvironment->mDayLength = daylength;
+ setDirtyFlag(DIRTY_FLAG_DAYLENGTH);
- udpateApparentTimeOfDay();
+ udpateApparentTimeOfDay();
+ }
}
void LLPanelEnvironmentInfo::onSldDayOffsetChanged(F32 value)
{
- F32Hours dayoffset(value);
+ if (mCurrentEnvironment)
+ {
+ F32Hours dayoffset(value);
- if (dayoffset.value() <= 0.0f)
- dayoffset += F32Hours(24.0);
+ if (dayoffset.value() <= 0.0f)
+ dayoffset += F32Hours(24.0);
- mCurrentEnvironment->mDayOffset = dayoffset;
- setDirtyFlag(DIRTY_FLAG_DAYOFFSET);
+ mCurrentEnvironment->mDayOffset = dayoffset;
+ setDirtyFlag(DIRTY_FLAG_DAYOFFSET);
- udpateApparentTimeOfDay();
+ udpateApparentTimeOfDay();
+ }
}
void LLPanelEnvironmentInfo::onDayLenOffsetMouseUp()
{
- if (getDirtyFlag() & (DIRTY_FLAG_DAYLENGTH | DIRTY_FLAG_DAYOFFSET))
+ if (mCurrentEnvironment && (getDirtyFlag() & (DIRTY_FLAG_DAYLENGTH | DIRTY_FLAG_DAYOFFSET)))
{
clearDirtyFlag(DIRTY_FLAG_DAYOFFSET);
clearDirtyFlag(DIRTY_FLAG_DAYLENGTH);