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,7 +703,8 @@ ApplicationTypeWindow::_Save()
SupportedTypeItem* item = dynamic_cast<SupportedTypeItem*>(
fTypeListView->ItemAt(i));
supportedTypes.AddString("types", item->Type());
if (item != NULL)
supportedTypes.AddString("types", item->Type());
}
version_info versionInfo;
@@ -735,7 +736,8 @@ ApplicationTypeWindow::_Save()
SupportedTypeItem* item = dynamic_cast<SupportedTypeItem*>(
fTypeListView->ItemAt(i));
item->Icon().CopyTo(info, item->Type(), true);
if (item != NULL)
item->Icon().CopyTo(info, item->Type(), true);
}
}
+11 -6
View File
@@ -574,8 +574,8 @@ IconView::MessageReceived(BMessage* message)
if (message->WasDropped() && message->ReturnAddress() != BMessenger(this)
&& AcceptsDrag(message)) {
// set icon from message
BBitmap* mini = NULL;
BBitmap* large = NULL;
BBitmap *mini = NULL;
BBitmap *large = NULL;
const uint8* data = NULL;
ssize_t size = 0;
@@ -591,10 +591,15 @@ IconView::MessageReceived(BMessage* message)
if (large != NULL || mini != NULL || (data != NULL && size > 0))
_SetIcon(large, mini, data, size);
entry_ref ref;
if (message->FindRef("refs", &ref) == B_OK)
_SetIcon(&ref);
else {
entry_ref ref;
if (message->FindRef("refs", &ref) == B_OK)
_SetIcon(&ref);
}
delete(large);
delete(mini);
delete(data);
return;
}