summaryrefslogtreecommitdiff
path: root/indra/newview/llfloaternotificationsconsole.cpp
diff options
context:
space:
mode:
authorMonty Brandenberg <monty@lindenlab.com>2014-09-22 18:51:19 -0400
committerMonty Brandenberg <monty@lindenlab.com>2014-09-22 18:51:19 -0400
commit620817c1c3368d73f1b47b1593a0bcbcf567e297 (patch)
treee37b76dc8d154ab661ab23e6be2b6b098f97e4b2 /indra/newview/llfloaternotificationsconsole.cpp
parent329608d24668b044e16b54ff7a7d0ac592b2b88d (diff)
parent8897e7ca24533e0093825346391f5fa9a37f2427 (diff)
Merge. Refresh from viewer-drano-http-4 after release of 3.7.16.
Diffstat (limited to 'indra/newview/llfloaternotificationsconsole.cpp')
-rwxr-xr-xindra/newview/llfloaternotificationsconsole.cpp17
1 files changed, 16 insertions, 1 deletions
diff --git a/indra/newview/llfloaternotificationsconsole.cpp b/indra/newview/llfloaternotificationsconsole.cpp
index c21e4ff7e8..fd03efa061 100755
--- a/indra/newview/llfloaternotificationsconsole.cpp
+++ b/indra/newview/llfloaternotificationsconsole.cpp
@@ -41,6 +41,7 @@ class LLNotificationChannelPanel : public LLLayoutPanel
{
public:
LLNotificationChannelPanel(const Params& p);
+ ~LLNotificationChannelPanel();
BOOL postBuild();
private:
@@ -57,6 +58,20 @@ LLNotificationChannelPanel::LLNotificationChannelPanel(const LLNotificationChann
buildFromFile( "panel_notifications_channel.xml");
}
+LLNotificationChannelPanel::~LLNotificationChannelPanel()
+{
+ // Userdata for all records is a LLNotification* we need to clean up
+ std::vector<LLScrollListItem*> data_list = getChild<LLScrollListCtrl>("notifications_list")->getAllData();
+ std::vector<LLScrollListItem*>::iterator data_itor;
+ for (data_itor = data_list.begin(); data_itor != data_list.end(); ++data_itor)
+ {
+ LLScrollListItem* item = *data_itor;
+ LLNotification* notification = (LLNotification*)item->getUserdata();
+ delete notification;
+ notification = NULL;
+ }
+}
+
BOOL LLNotificationChannelPanel::postBuild()
{
LLButton* header_button = getChild<LLButton>("header");
@@ -124,7 +139,7 @@ bool LLNotificationChannelPanel::update(const LLSD& payload)
row["columns"][2]["type"] = "date";
LLScrollListItem* sli = getChild<LLScrollListCtrl>("notifications_list")->addElement(row);
- sli->setUserdata(&(*notification));
+ sli->setUserdata(new LLNotification(notification->asLLSD()));
}
return false;