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:
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user