diff options
author | simon <none@none> | 2014-04-09 17:08:13 -0700 |
---|---|---|
committer | simon <none@none> | 2014-04-09 17:08:13 -0700 |
commit | 8e2ec19637f145f4b090562f4f3525a3c1357e0b (patch) | |
tree | 79a9be12bdde4954de1c72f94aab0f43d7879b1b | |
parent | 33e28d6223e4f27c9b8e5a563e749979dad3a1fd (diff) | |
parent | 6a50342c6a4b6f65659719af7580a8cb34e28bf7 (diff) |
Merge downstream code
-rwxr-xr-x | indra/newview/llchannelmanager.cpp | 50 |
1 files changed, 23 insertions, 27 deletions
diff --git a/indra/newview/llchannelmanager.cpp b/indra/newview/llchannelmanager.cpp index fa23251d95..8b2d9e639f 100755 --- a/indra/newview/llchannelmanager.cpp +++ b/indra/newview/llchannelmanager.cpp @@ -113,33 +113,29 @@ void LLChannelManager::onLoginCompleted() } else { - // TODO: Seems this code leads to MAINT-3536 new crash in XML_ParserFree. - // Need to investigate this and fix possible problems with notifications in startup time - // Viewer can normally receive and show of postponed notifications about purchasing in marketplace on startup time. - // Other types of postponed notifications did not tested. - //// create a channel for the StartUp Toast - //LLScreenChannelBase::Params p; - //p.id = LLUUID(gSavedSettings.getString("StartUpChannelUUID")); - //p.channel_align = CA_RIGHT; - //mStartUpChannel = createChannel(p); - - //if(!mStartUpChannel) - //{ - // onStartUpToastClose(); - //} - //else - //{ - // gViewerWindow->getRootView()->addChild(mStartUpChannel); - - // // init channel's position and size - // S32 channel_right_bound = gViewerWindow->getWorldViewRectScaled().mRight - gSavedSettings.getS32("NotificationChannelRightMargin"); - // S32 channel_width = gSavedSettings.getS32("NotifyBoxWidth"); - // mStartUpChannel->init(channel_right_bound - channel_width, channel_right_bound); - // mStartUpChannel->setMouseDownCallback(boost::bind(&LLNotificationWellWindow::onStartUpToastClick, LLNotificationWellWindow::getInstance(), _2, _3, _4)); - - // mStartUpChannel->setCommitCallback(boost::bind(&LLChannelManager::onStartUpToastClose, this)); - // mStartUpChannel->createStartUpToast(away_notifications, gSavedSettings.getS32("StartUpToastLifeTime")); - //} + // create a channel for the StartUp Toast + LLScreenChannelBase::Params p; + p.id = LLUUID(gSavedSettings.getString("StartUpChannelUUID")); + p.channel_align = CA_RIGHT; + mStartUpChannel = createChannel(p); + + if(!mStartUpChannel) + { + onStartUpToastClose(); + } + else + { + gViewerWindow->getRootView()->addChild(mStartUpChannel); + + // init channel's position and size + S32 channel_right_bound = gViewerWindow->getWorldViewRectScaled().mRight - gSavedSettings.getS32("NotificationChannelRightMargin"); + S32 channel_width = gSavedSettings.getS32("NotifyBoxWidth"); + mStartUpChannel->init(channel_right_bound - channel_width, channel_right_bound); + mStartUpChannel->setMouseDownCallback(boost::bind(&LLNotificationWellWindow::onStartUpToastClick, LLNotificationWellWindow::getInstance(), _2, _3, _4)); + + mStartUpChannel->setCommitCallback(boost::bind(&LLChannelManager::onStartUpToastClose, this)); + mStartUpChannel->createStartUpToast(away_notifications, gSavedSettings.getS32("StartUpToastLifeTime")); + } } LLPersistentNotificationStorage::getInstance()->loadNotifications(); |