Merge branch 'DRTVWR-591-maint-X' of https://github.com/secondlife/viewer

# Conflicts:
#	indra/newview/app_settings/settings.xml
master
Ansariel 2024-04-24 19:54:13 +02:00
commit af91e8a412
6 changed files with 42 additions and 3 deletions

View File

@ -1886,6 +1886,18 @@
<key>name</key>
<string>linux64</string>
</map>
<key>windows64</key>
<map>
<key>archive</key>
<map>
<key>hash</key>
<string>2e5f1f7046a49d8b0bc295aa878116bc</string>
<key>url</key>
<string>http://automated-builds-secondlife-com.s3.amazonaws.com/ct2/60043/564063/llphysicsextensions_stub-1.0.542456-windows-542456.tar.bz2</string>
</map>
<key>name</key>
<string>windows64</string>
</map>
</map>
<key>license</key>
<string>internal</string>

View File

@ -346,6 +346,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();

View File

@ -102,6 +102,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 };

View File

@ -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();

View File

@ -60,8 +60,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<LLToastNotifyPanel, LLUUID, LLInstanceTrackerReplaceOnCollision>(notification->getID())
: LLCheckBoxToastPanel(notification)
, LLInstanceTracker<LLToastNotifyPanel, LLUUID, LLInstanceTrackerReplaceOnCollision>(notification->getID())
, mTextBox(NULL)
{
init(rect, show_images);
}
@ -469,6 +470,21 @@ void LLToastNotifyPanel::init( LLRect rect, bool show_images )
}
}
void LLToastNotifyPanel::deleteAllChildren()
{
// some visibility changes, re-init and reshape will attempt to
// 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();
}
bool LLToastNotifyPanel::isControlPanelEnabled() const
{
bool cp_enabled = mControlPanel->getEnabled();

View File

@ -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; }