From ae796157943294c4ef566dfd7d26b89802ff4571 Mon Sep 17 00:00:00 2001
From: nerodevo <100370411+nerodevo@users.noreply.github.com>
Date: Sat, 13 Apr 2024 06:31:38 -0500
Subject: [PATCH 1/9] Revert "DRTVWR-601: Drop 32-bit Windows build of
llphysicsextension_stub."
This reverts commit d07cd115e3bdef8a2b1d2f6a5a507ddb67ff8cd9.
---
autobuild.xml | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/autobuild.xml b/autobuild.xml
index 6209de2994..d4a0a720c9 100644
--- a/autobuild.xml
+++ b/autobuild.xml
@@ -1652,6 +1652,18 @@
name
linux64
+ windows
+
license
internal
From bb2bf0e8fc7b1244d70bf3ea3959dc7ed503e21f Mon Sep 17 00:00:00 2001
From: Andrey Lihatskiy
Date: Mon, 15 Apr 2024 18:39:23 +0300
Subject: [PATCH 2/9] Revert "SL-20140 Setting shape hand size to 36 won't
save"
This reverts commit 810a3d24c2e3671f926091c062b101bdec6a1517. (secondlife/jira-archive-internal#70482)
---
indra/newview/character/avatar_lad.xml | 17 +++---
indra/newview/llscrollingpanelparam.cpp | 63 ++++++++++++++-------
indra/newview/llscrollingpanelparam.h | 3 +
indra/newview/llscrollingpanelparambase.cpp | 29 +++++-----
indra/newview/llscrollingpanelparambase.h | 7 +--
5 files changed, 72 insertions(+), 47 deletions(-)
diff --git a/indra/newview/character/avatar_lad.xml b/indra/newview/character/avatar_lad.xml
index aef402d4db..2cdd86267e 100644
--- a/indra/newview/character/avatar_lad.xml
+++ b/indra/newview/character/avatar_lad.xml
@@ -2021,7 +2021,7 @@
value_min="-1"
value_max="1">
-
+
-
-
@@ -2041,7 +2042,7 @@
name="mFaceEyeAltRight"
scale="0 0 0"
offset="-.005 0 0" />
-
+
-
@@ -2061,17 +2062,17 @@
name="mFaceEyeLidUpperLeft"
scale="0 0.3 0.7"
offset=" 0 0 0" />
-
+
-
+
-
+
diff --git a/indra/newview/llscrollingpanelparam.cpp b/indra/newview/llscrollingpanelparam.cpp
index efd84eaa6d..bfa453a0ae 100644
--- a/indra/newview/llscrollingpanelparam.cpp
+++ b/indra/newview/llscrollingpanelparam.cpp
@@ -259,15 +259,19 @@ void LLScrollingPanelParam::onHintHeldDown( LLVisualParamHint* hint )
// Make sure we're not taking the slider out of bounds
// (this is where some simple UI limits are stored)
- F32 new_percent = weightToSlider(new_weight);
- if (mSlider->getMinValue() < new_percent
- && new_percent < mSlider->getMaxValue())
+ F32 new_percent = weightToPercent(new_weight);
+ LLSliderCtrl* slider = getChild("param slider");
+ if (slider)
{
- mWearable->setVisualParamWeight( hint->getVisualParam()->getID(), new_weight);
- mWearable->writeToAvatar(gAgentAvatarp);
- gAgentAvatarp->updateVisualParams();
+ if (slider->getMinValue() < new_percent
+ && new_percent < slider->getMaxValue())
+ {
+ mWearable->setVisualParamWeight( hint->getVisualParam()->getID(), new_weight);
+ mWearable->writeToAvatar(gAgentAvatarp);
+ gAgentAvatarp->updateVisualParams();
- mSlider->setValue( weightToSlider( new_weight ) );
+ slider->setValue( weightToPercent( new_weight ) );
+ }
}
}
}
@@ -288,13 +292,17 @@ void LLScrollingPanelParam::onHintMinMouseUp( void* userdata )
F32 range = self->mHintMax->getVisualParamWeight() - self->mHintMin->getVisualParamWeight();
// step a fraction in the negative directiona
F32 new_weight = current_weight - (range / 10.f);
- F32 new_percent = self->weightToSlider(new_weight);
- if (self->mSlider->getMinValue() < new_percent
- && new_percent < self->mSlider->getMaxValue())
+ F32 new_percent = self->weightToPercent(new_weight);
+ LLSliderCtrl* slider = self->getChild("param slider");
+ if (slider)
{
- self->mWearable->setVisualParamWeight(hint->getVisualParam()->getID(), new_weight);
- self->mWearable->writeToAvatar(gAgentAvatarp);
- self->mSlider->setValue( self->weightToSlider( new_weight ) );
+ if (slider->getMinValue() < new_percent
+ && new_percent < slider->getMaxValue())
+ {
+ self->mWearable->setVisualParamWeight(hint->getVisualParam()->getID(), new_weight);
+ self->mWearable->writeToAvatar(gAgentAvatarp);
+ slider->setValue( self->weightToPercent( new_weight ) );
+ }
}
}
@@ -318,16 +326,33 @@ void LLScrollingPanelParam::onHintMaxMouseUp( void* userdata )
F32 range = self->mHintMax->getVisualParamWeight() - self->mHintMin->getVisualParamWeight();
// step a fraction in the negative direction
F32 new_weight = current_weight + (range / 10.f);
- F32 new_percent = self->weightToSlider(new_weight);
- if (self->mSlider->getMinValue() < new_percent
- && new_percent < self->mSlider->getMaxValue())
+ F32 new_percent = self->weightToPercent(new_weight);
+ LLSliderCtrl* slider = self->getChild("param slider");
+ if (slider)
{
- self->mWearable->setVisualParamWeight(hint->getVisualParam()->getID(), new_weight);
- self->mWearable->writeToAvatar(gAgentAvatarp);
- self->mSlider->setValue( self->weightToSlider( new_weight ) );
+ if (slider->getMinValue() < new_percent
+ && new_percent < slider->getMaxValue())
+ {
+ self->mWearable->setVisualParamWeight(hint->getVisualParam()->getID(), new_weight);
+ self->mWearable->writeToAvatar(gAgentAvatarp);
+ slider->setValue( self->weightToPercent( new_weight ) );
+ }
}
}
}
LLVisualParamHint::requestHintUpdates( self->mHintMin, self->mHintMax );
}
+
+
+F32 LLScrollingPanelParam::weightToPercent( F32 weight )
+{
+ LLViewerVisualParam* param = mParam;
+ return (weight - param->getMinWeight()) / (param->getMaxWeight() - param->getMinWeight()) * 100.f;
+}
+
+F32 LLScrollingPanelParam::percentToWeight( F32 percent )
+{
+ LLViewerVisualParam* param = mParam;
+ return percent / 100.f * (param->getMaxWeight() - param->getMinWeight()) + param->getMinWeight();
+}
diff --git a/indra/newview/llscrollingpanelparam.h b/indra/newview/llscrollingpanelparam.h
index dc344486fc..c7a47d5c7a 100644
--- a/indra/newview/llscrollingpanelparam.h
+++ b/indra/newview/llscrollingpanelparam.h
@@ -61,6 +61,9 @@ public:
void onHintMouseDown( LLVisualParamHint* hint );
void onHintHeldDown( LLVisualParamHint* hint );
+ F32 weightToPercent( F32 weight );
+ F32 percentToWeight( F32 percent );
+
public:
// Constants for LLPanelVisualParam
const static F32 PARAM_STEP_TIME_THRESHOLD;
diff --git a/indra/newview/llscrollingpanelparambase.cpp b/indra/newview/llscrollingpanelparambase.cpp
index 2a6c25235d..fe7a362723 100644
--- a/indra/newview/llscrollingpanelparambase.cpp
+++ b/indra/newview/llscrollingpanelparambase.cpp
@@ -43,7 +43,6 @@ LLScrollingPanelParamBase::LLScrollingPanelParamBase( const LLPanel::Params& pan
LLViewerJointMesh* mesh, LLViewerVisualParam* param, BOOL allow_modify, LLWearable* wearable, LLJoint* jointp, BOOL use_hints)
: LLScrollingPanel( panel_params ),
mParam(param),
- mSlider(nullptr),
mAllowModify(allow_modify),
mWearable(wearable)
{
@@ -51,15 +50,13 @@ LLScrollingPanelParamBase::LLScrollingPanelParamBase( const LLPanel::Params& pan
buildFromFile( "panel_scrolling_param.xml");
else
buildFromFile( "panel_scrolling_param_base.xml");
-
- mSlider = getChild("param slider");
- mSlider->setMaxValue(100.f * (mParam->getMaxWeight() - mParam->getMinWeight()));
- mSlider->setValue(weightToSlider(param->getWeight()));
+
+ getChild("param slider")->setValue(weightToPercent(param->getWeight()));
std::string display_name = LLTrans::getString(param->getDisplayName());
- mSlider->setLabelArg("[DESC]", display_name);
- mSlider->setEnabled(mAllowModify);
- mSlider->setCommitCallback(boost::bind(LLScrollingPanelParamBase::onSliderMoved, mSlider, this));
+ getChild("param slider")->setLabelArg("[DESC]", display_name);
+ getChildView("param slider")->setEnabled(mAllowModify);
+ childSetCommitCallback("param slider", LLScrollingPanelParamBase::onSliderMoved, this);
setVisible(FALSE);
setBorderVisible( FALSE );
@@ -80,9 +77,9 @@ void LLScrollingPanelParamBase::updatePanel(BOOL allow_modify)
}
F32 current_weight = mWearable->getVisualParamWeight( param->getID() );
- mSlider->setValue(weightToSlider( current_weight ) );
+ getChild("param slider")->setValue(weightToPercent( current_weight ) );
mAllowModify = allow_modify;
- mSlider->setEnabled(mAllowModify);
+ getChildView("param slider")->setEnabled(mAllowModify);
}
// static
@@ -93,7 +90,7 @@ void LLScrollingPanelParamBase::onSliderMoved(LLUICtrl* ctrl, void* userdata)
LLViewerVisualParam* param = self->mParam;
F32 current_weight = self->mWearable->getVisualParamWeight( param->getID() );
- F32 new_weight = self->sliderToWeight( (F32)slider->getValue().asReal() );
+ F32 new_weight = self->percentToWeight( (F32)slider->getValue().asReal() );
if (current_weight != new_weight )
{
self->mWearable->setVisualParamWeight( param->getID(), new_weight);
@@ -102,12 +99,14 @@ void LLScrollingPanelParamBase::onSliderMoved(LLUICtrl* ctrl, void* userdata)
}
}
-F32 LLScrollingPanelParamBase::weightToSlider(F32 weight)
+F32 LLScrollingPanelParamBase::weightToPercent( F32 weight )
{
- return (weight - mParam->getMinWeight()) * 100.f;
+ LLViewerVisualParam* param = mParam;
+ return (weight - param->getMinWeight()) / (param->getMaxWeight() - param->getMinWeight()) * 100.f;
}
-F32 LLScrollingPanelParamBase::sliderToWeight(F32 slider)
+F32 LLScrollingPanelParamBase::percentToWeight( F32 percent )
{
- return slider / 100.f + mParam->getMinWeight();
+ LLViewerVisualParam* param = mParam;
+ return percent / 100.f * (param->getMaxWeight() - param->getMinWeight()) + param->getMinWeight();
}
diff --git a/indra/newview/llscrollingpanelparambase.h b/indra/newview/llscrollingpanelparambase.h
index e7f88a21bd..9538826251 100644
--- a/indra/newview/llscrollingpanelparambase.h
+++ b/indra/newview/llscrollingpanelparambase.h
@@ -36,7 +36,6 @@ class LLViewerVisualParam;
class LLWearable;
class LLVisualParamHint;
class LLViewerVisualParam;
-class LLSliderCtrl;
class LLJoint;
class LLScrollingPanelParamBase : public LLScrollingPanel
@@ -50,13 +49,11 @@ public:
static void onSliderMoved(LLUICtrl* ctrl, void* userdata);
- F32 weightToSlider(F32 weight);
- F32 sliderToWeight(F32 slider);
+ F32 weightToPercent( F32 weight );
+ F32 percentToWeight( F32 percent );
public:
LLViewerVisualParam* mParam;
- LLSliderCtrl* mSlider;
-
protected:
BOOL mAllowModify;
LLWearable *mWearable;
From b04b4de46510992d6b0b88a529dffec0d235a75a Mon Sep 17 00:00:00 2001
From: nerodevo <100370411+nerodevo@users.noreply.github.com>
Date: Tue, 16 Apr 2024 10:52:24 -0500
Subject: [PATCH 3/9] Change windows to windows64
---
autobuild.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/autobuild.xml b/autobuild.xml
index d4a0a720c9..66fce65da8 100644
--- a/autobuild.xml
+++ b/autobuild.xml
@@ -1652,7 +1652,7 @@
name
linux64
- windows
+ windows64
archive
From d06e0004353576f71fdc4265d68885a2e17b3852 Mon Sep 17 00:00:00 2001
From: nerodevo <100370411+nerodevo@users.noreply.github.com>
Date: Tue, 16 Apr 2024 11:08:23 -0500
Subject: [PATCH 4/9] Change windows to windows64 again
Missed the second change... Here it is.
---
autobuild.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/autobuild.xml b/autobuild.xml
index 66fce65da8..f0961b0557 100644
--- a/autobuild.xml
+++ b/autobuild.xml
@@ -1662,7 +1662,7 @@
http://automated-builds-secondlife-com.s3.amazonaws.com/ct2/60043/564063/llphysicsextensions_stub-1.0.542456-windows-542456.tar.bz2
name
- windows
+ windows64
license
From 5af5329cf97dde8dfcb230f6b946162d8b4a3860 Mon Sep 17 00:00:00 2001
From: Ansariel Hiller
Date: Wed, 17 Apr 2024 17:06:25 +0200
Subject: [PATCH 5/9] Fix typo in settings names (#1257)
---
indra/newview/app_settings/settings.xml | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml
index 5e46b478f9..85f2b2d303 100644
--- a/indra/newview/app_settings/settings.xml
+++ b/indra/newview/app_settings/settings.xml
@@ -8966,7 +8966,7 @@
Value
1.0
- RendeSkyAutoAdjustBlueHorizonScale
+ RenderSkyAutoAdjustBlueHorizonScale
Comment
Blue Horizon Scale value to use when auto-adjusting legacy skies
@@ -8977,7 +8977,7 @@
Value
1.0
- RendeSkyAutoAdjustBlueDensityScale
+ RenderSkyAutoAdjustBlueDensityScale
Comment
Blue Horizon Scale value to use when auto-adjusting legacy skies
From 4379cc64dbdbd488a8ddcc4d21712f9da4cee154 Mon Sep 17 00:00:00 2001
From: Andrey Kleshchev
Date: Wed, 17 Apr 2024 02:49:59 +0300
Subject: [PATCH 6/9] viewer#1143 Crash at LLReflectionMap::autoAdjustOrigin #2
---
indra/newview/llreflectionmap.cpp | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/indra/newview/llreflectionmap.cpp b/indra/newview/llreflectionmap.cpp
index 2e5aaa997d..90a2f30c92 100644
--- a/indra/newview/llreflectionmap.cpp
+++ b/indra/newview/llreflectionmap.cpp
@@ -70,7 +70,8 @@ void LLReflectionMap::autoAdjustOrigin()
{
LL_PROFILE_ZONE_SCOPED_CATEGORY_DISPLAY;
- if (mGroup && !mComplete)
+
+ if (mGroup && !mComplete && !mGroup->hasState(LLViewerOctreeGroup::DEAD))
{
const LLVector4a* bounds = mGroup->getBounds();
auto* node = mGroup->getOctreeNode();
From 4016a086075ac1ba3a1bff8bc06468de654dad67 Mon Sep 17 00:00:00 2001
From: Alexander Gavriliuk
Date: Thu, 18 Apr 2024 23:48:44 +0200
Subject: [PATCH 7/9] secondlife/viewer#1249 Erratic Emoji Picker Behavior
---
indra/newview/llfloateremojipicker.cpp | 8 ++++++++
indra/newview/llfloateremojipicker.h | 1 +
2 files changed, 9 insertions(+)
diff --git a/indra/newview/llfloateremojipicker.cpp b/indra/newview/llfloateremojipicker.cpp
index 51b31a72ca..78b94d1b0c 100644
--- a/indra/newview/llfloateremojipicker.cpp
+++ b/indra/newview/llfloateremojipicker.cpp
@@ -333,6 +333,14 @@ void LLFloaterEmojiPicker::onOpen(const LLSD& key)
gFloaterView->adjustToFitScreen(this, FALSE);
}
+void LLFloaterEmojiPicker::onClose(bool app_quitting)
+{
+ if (!app_quitting)
+ {
+ LLEmojiHelper::instance().hideHelper(nullptr, true);
+ }
+}
+
void LLFloaterEmojiPicker::dirtyRect()
{
super::dirtyRect();
diff --git a/indra/newview/llfloateremojipicker.h b/indra/newview/llfloateremojipicker.h
index 5d0402ca83..e9e01ee5d3 100644
--- a/indra/newview/llfloateremojipicker.h
+++ b/indra/newview/llfloateremojipicker.h
@@ -94,6 +94,7 @@ private:
void unselectGridIcon(LLEmojiGridIcon* icon);
void onOpen(const LLSD& key) override;
+ void onClose(bool app_quitting) override;
virtual BOOL handleKey(KEY key, MASK mask, BOOL called_from_parent) override;
class LLPanel* mGroups { nullptr };
From 5ad488a4a665f715c943004dce42f703204121cd Mon Sep 17 00:00:00 2001
From: Andrey Kleshchev
Date: Fri, 19 Apr 2024 22:40:49 +0300
Subject: [PATCH 8/9] viewer#1290 Fix snapToMessageHeight crash
---
indra/newview/lltoastnotifypanel.cpp | 14 ++++++++++++--
indra/newview/lltoastnotifypanel.h | 1 +
2 files changed, 13 insertions(+), 2 deletions(-)
diff --git a/indra/newview/lltoastnotifypanel.cpp b/indra/newview/lltoastnotifypanel.cpp
index 9db4bc4d3f..fe8312784d 100644
--- a/indra/newview/lltoastnotifypanel.cpp
+++ b/indra/newview/lltoastnotifypanel.cpp
@@ -56,8 +56,9 @@ const std::string LLToastNotifyPanel::sFontScript("SansSerif");
LLToastNotifyPanel::button_click_signal_t LLToastNotifyPanel::sButtonClickSignal;
LLToastNotifyPanel::LLToastNotifyPanel(const LLNotificationPtr& notification, const LLRect& rect, bool show_images)
-: LLCheckBoxToastPanel(notification),
- LLInstanceTracker(notification->getID())
+: LLCheckBoxToastPanel(notification)
+, LLInstanceTracker(notification->getID())
+, mTextBox(NULL)
{
init(rect, show_images);
}
@@ -432,6 +433,15 @@ void LLToastNotifyPanel::init( LLRect rect, bool show_images )
}
}
+void LLToastNotifyPanel::deleteAllChildren()
+{
+ // some visibility changes, re-init and reshape will attempt to
+ // use mTextBox. Null it beforehand to avoid crashes.
+ mTextBox = NULL;
+
+ LLCheckBoxToastPanel::deleteAllChildren();
+}
+
bool LLToastNotifyPanel::isControlPanelEnabled() const
{
bool cp_enabled = mControlPanel->getEnabled();
diff --git a/indra/newview/lltoastnotifypanel.h b/indra/newview/lltoastnotifypanel.h
index 4a6c2ada8a..8cfd0eb447 100644
--- a/indra/newview/lltoastnotifypanel.h
+++ b/indra/newview/lltoastnotifypanel.h
@@ -63,6 +63,7 @@ public:
LLToastNotifyPanel(const LLNotificationPtr& pNotification, const LLRect& rect = LLRect::null, bool show_images = true);
virtual void init( LLRect rect, bool show_images );
+ virtual void deleteAllChildren();
virtual ~LLToastNotifyPanel();
LLPanel * getControlPanel() { return mControlPanel; }
From 09454c53a48e88a9cdd54f68ac507694a766b213 Mon Sep 17 00:00:00 2001
From: Andrey Kleshchev
Date: Sat, 20 Apr 2024 02:54:10 +0300
Subject: [PATCH 9/9] viewer#1290 Fix missing variable reinitializations
---
indra/newview/lltoastnotifypanel.cpp | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/indra/newview/lltoastnotifypanel.cpp b/indra/newview/lltoastnotifypanel.cpp
index fe8312784d..535f150ffa 100644
--- a/indra/newview/lltoastnotifypanel.cpp
+++ b/indra/newview/lltoastnotifypanel.cpp
@@ -436,8 +436,14 @@ void LLToastNotifyPanel::init( LLRect rect, bool show_images )
void LLToastNotifyPanel::deleteAllChildren()
{
// some visibility changes, re-init and reshape will attempt to
- // use mTextBox. Null it beforehand to avoid crashes.
+ // use mTextBox or other variables. Reset to avoid crashes
+ // and other issues.
mTextBox = NULL;
+ mInfoPanel = NULL;
+ mControlPanel = NULL;
+ mNumOptions = 0;
+ mNumButtons = 0;
+ mAddedDefaultBtn = false;
LLCheckBoxToastPanel::deleteAllChildren();
}