diff options
| author | Maxim Nikolenko <maximnproductengine@lindenlab.com> | 2026-03-19 18:51:14 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-03-19 18:51:14 +0200 |
| commit | 0aa33a144d392c16eaa419ffefa7c98af2e37834 (patch) | |
| tree | 8ec983d05314eeede410402f34c262a4ab959a4b | |
| parent | 05c8cd82dc7a0bb900e837e932ab6f619fc20fe0 (diff) | |
#5454 fix not showing Friend requests during start up notification
| -rw-r--r-- | indra/newview/llchannelmanager.cpp | 1 | ||||
| -rw-r--r-- | indra/newview/llchannelmanager.h | 3 | ||||
| -rw-r--r-- | indra/newview/llimprocessing.cpp | 1 | ||||
| -rw-r--r-- | indra/newview/llnotificationofferhandler.cpp | 7 |
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); + } } |
