Checks AddItem() success, as hinted by Stippi 5 (!) weeks ago.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39268 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -246,8 +246,10 @@ TeamsListView::MessageReceived(BMessage* message)
|
||||
|
||||
TeamListItem* item = new(std::nothrow) TeamListItem(team);
|
||||
if (item != NULL) {
|
||||
AddItem(item);
|
||||
SortItems(&TeamListItem::Compare);
|
||||
if (!AddItem(item))
|
||||
delete item;
|
||||
else
|
||||
SortItems(&TeamListItem::Compare);
|
||||
}
|
||||
break;
|
||||
}
|
||||
@@ -295,7 +297,11 @@ TeamsListView::_InitList()
|
||||
team_info tmi;
|
||||
|
||||
while (get_next_team_info(&tmi_cookie, &tmi) == B_OK) {
|
||||
TeamListItem* item = new TeamListItem(tmi);
|
||||
TeamListItem* item = new(std::nothrow) TeamListItem(tmi);
|
||||
if (!item) {
|
||||
// Memory issue. Bail out.
|
||||
break;
|
||||
}
|
||||
|
||||
if (tmi.team == B_SYSTEM_TEAM ||
|
||||
tmi.team == fThisTeam) {
|
||||
@@ -303,7 +309,9 @@ TeamsListView::_InitList()
|
||||
item->SetEnabled(false);
|
||||
}
|
||||
|
||||
AddItem(item);
|
||||
if (!AddItem(item))
|
||||
delete item;
|
||||
|
||||
}
|
||||
|
||||
// SortItems(&TeamListItem::Compare);
|
||||
@@ -332,10 +340,17 @@ TeamsListView::_UpdateList()
|
||||
// Team not found in previously known teams list: insert a new item
|
||||
TeamListItem* newItem = new(std::nothrow) TeamListItem(tmi);
|
||||
if (newItem != NULL) {
|
||||
bool added;
|
||||
|
||||
if (!item) // No item found with bigger team id: append at end
|
||||
AddItem(newItem);
|
||||
added = AddItem(newItem);
|
||||
else
|
||||
AddItem(newItem, index);
|
||||
added = AddItem(newItem, index);
|
||||
|
||||
if (!added) {
|
||||
// AddItem() failed! Memory Issue?
|
||||
delete newItem;
|
||||
}
|
||||
}
|
||||
}
|
||||
index++; // Move list sync head.
|
||||
|
||||
Reference in New Issue
Block a user