Fixed CID 321, 868: check item for NULL and delete recource leak

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27453 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Fredrik Modeen
2008-09-12 14:15:47 +00:00
parent ee652e3aab
commit f1ca556caf
2 changed files with 15 additions and 8 deletions
@@ -703,6 +703,7 @@ ApplicationTypeWindow::_Save()
SupportedTypeItem* item = dynamic_cast<SupportedTypeItem*>( SupportedTypeItem* item = dynamic_cast<SupportedTypeItem*>(
fTypeListView->ItemAt(i)); fTypeListView->ItemAt(i));
if (item != NULL)
supportedTypes.AddString("types", item->Type()); supportedTypes.AddString("types", item->Type());
} }
@@ -735,6 +736,7 @@ ApplicationTypeWindow::_Save()
SupportedTypeItem* item = dynamic_cast<SupportedTypeItem*>( SupportedTypeItem* item = dynamic_cast<SupportedTypeItem*>(
fTypeListView->ItemAt(i)); fTypeListView->ItemAt(i));
if (item != NULL)
item->Icon().CopyTo(info, item->Type(), true); item->Icon().CopyTo(info, item->Type(), true);
} }
} }
+6 -1
View File
@@ -591,10 +591,15 @@ IconView::MessageReceived(BMessage* message)
if (large != NULL || mini != NULL || (data != NULL && size > 0)) if (large != NULL || mini != NULL || (data != NULL && size > 0))
_SetIcon(large, mini, data, size); _SetIcon(large, mini, data, size);
else {
entry_ref ref; entry_ref ref;
if (message->FindRef("refs", &ref) == B_OK) if (message->FindRef("refs", &ref) == B_OK)
_SetIcon(&ref); _SetIcon(&ref);
}
delete(large);
delete(mini);
delete(data);
return; return;
} }