BShelf: Fix crash in the case that view is NULL.

Also correct some formatting.
Fixes #12584.
This commit is contained in:
Augustin Cavalier
2016-01-12 14:30:13 -05:00
parent 03b1819c04
commit e2dfcf7094
+14 -13
View File
@@ -1498,14 +1498,15 @@ BShelf::_GetProperty(BMessage *msg, BMessage *reply)
for (int32 i = 0; i < CountReplicants(); i++) { for (int32 i = 0; i < CountReplicants(); i++) {
BView *view = NULL; BView *view = NULL;
ReplicantAt(i, &view, &ID, &err); ReplicantAt(i, &view, &ID, &err);
if (err == B_OK) { if (err != B_OK || view == NULL)
if (view->Name() != NULL && continue;
strlen(view->Name()) == strlen(name) && !strcmp(view->Name(), name)) { if (view->Name() != NULL &&
replicant = view; strlen(view->Name()) == strlen(name) &&
break; !strcmp(view->Name(), name)) {
} replicant = view;
err = B_NAME_NOT_FOUND; break;
} }
err = B_NAME_NOT_FOUND;
} }
break; break;
} }
@@ -1516,13 +1517,13 @@ BShelf::_GetProperty(BMessage *msg, BMessage *reply)
for (int32 i = 0; i < CountReplicants(); i++) { for (int32 i = 0; i < CountReplicants(); i++) {
BView *view = NULL; BView *view = NULL;
ReplicantAt(i, &view, &ID, &err); ReplicantAt(i, &view, &ID, &err);
if (err == B_OK) { if (err != B_OK || view == NULL)
if (ID == id) { continue;
replicant = view; if (ID == id) {
break; replicant = view;
} break;
err = B_NAME_NOT_FOUND;
} }
err = B_NAME_NOT_FOUND;
} }
break; break;
} }