MAINT-1642 FIXED Viewer crashes on double-click on RegionCapabilityRequestError in Notifications Console
parent
4eeff34c65
commit
fd2a114d4b
|
|
@ -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;
|
||||
|
|
|
|||
Loading…
Reference in New Issue