summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMaxim Nikolenko <maximnproductengine@lindenlab.com>2026-03-19 18:51:14 +0200
committerGitHub <noreply@github.com>2026-03-19 18:51:14 +0200
commit0aa33a144d392c16eaa419ffefa7c98af2e37834 (patch)
tree8ec983d05314eeede410402f34c262a4ab959a4b
parent05c8cd82dc7a0bb900e837e932ab6f619fc20fe0 (diff)
#5454 fix not showing Friend requests during start up notification
-rw-r--r--indra/newview/llchannelmanager.cpp1
-rw-r--r--indra/newview/llchannelmanager.h3
-rw-r--r--indra/newview/llimprocessing.cpp1
-rw-r--r--indra/newview/llnotificationofferhandler.cpp7
4 files changed, 12 insertions, 0 deletions
diff --git a/indra/newview/llchannelmanager.cpp b/indra/newview/llchannelmanager.cpp
index 454991ab83..27e5263967 100644
--- a/indra/newview/llchannelmanager.cpp
+++ b/indra/newview/llchannelmanager.cpp
@@ -140,6 +140,7 @@ void LLChannelManager::onLoginCompleted()
}
else
{
+ mStartUpToastInited = true;
gViewerWindow->getRootView()->addChild(mStartUpChannel);
// init channel's position and size
diff --git a/indra/newview/llchannelmanager.h b/indra/newview/llchannelmanager.h
index 4db7f32b10..75b3060e66 100644
--- a/indra/newview/llchannelmanager.h
+++ b/indra/newview/llchannelmanager.h
@@ -104,12 +104,15 @@ public:
*/
static LLNotificationsUI::LLScreenChannel* getNotificationScreenChannel();
+ bool getStartUpToastInited() const { return mStartUpToastInited; }
+
std::vector<ChannelElem>& getChannelList() { return mChannelList;}
private:
LLScreenChannel* createChannel(LLScreenChannelBase::Params& p);
LLScreenChannel* mStartUpChannel;
+ bool mStartUpToastInited{false};
std::vector<ChannelElem> mChannelList;
};
diff --git a/indra/newview/llimprocessing.cpp b/indra/newview/llimprocessing.cpp
index 779ed725ac..b1e42e11fb 100644
--- a/indra/newview/llimprocessing.cpp
+++ b/indra/newview/llimprocessing.cpp
@@ -1485,6 +1485,7 @@ void LLIMProcessing::processNewMessage(LLUUID from_id,
LLNotification::Params params("OfferFriendship");
params.substitutions = args;
params.payload = payload;
+ params.offer_from_agent = true;
LLPostponedNotification::add<LLPostponedOfferNotification>(params, from_id, false);
}
}
diff --git a/indra/newview/llnotificationofferhandler.cpp b/indra/newview/llnotificationofferhandler.cpp
index b65da28bda..27ef28f32a 100644
--- a/indra/newview/llnotificationofferhandler.cpp
+++ b/indra/newview/llnotificationofferhandler.cpp
@@ -36,6 +36,7 @@
#include "llscriptfloater.h"
#include "llimview.h"
#include "llnotificationsutil.h"
+#include "llchannelmanager.h"
#include <boost/regex.hpp>
@@ -135,7 +136,13 @@ bool LLOfferHandler::processNotification(const LLNotificationPtr& notification,
LLScreenChannel* channel = dynamic_cast<LLScreenChannel*>(mChannel.get());
if(channel)
+ {
+ if (LLChannelManager::getInstance()->getStartUpToastInited() && notification->getOfferFromAgent())
+ {
+ LLChannelManager::getInstance()->onStartUpToastClose();
+ }
channel->addToast(p);
+ }
}