PackageInstaller: More robust way to select destination...
... after file panel is cancelled.
This commit is contained in:
@@ -281,11 +281,18 @@ PackageView::MessageReceived(BMessage* message)
|
|||||||
}
|
}
|
||||||
case B_CANCEL:
|
case B_CANCEL:
|
||||||
{
|
{
|
||||||
// File panel aborted, select first item
|
// File panel aborted, select first suitable item
|
||||||
BMenuItem* item = fDestination->ItemAt(0);
|
for (int32 i = 0; i < fDestination->CountItems(); i++) {
|
||||||
if (item != NULL && item->Message() != NULL) {
|
BMenuItem* item = fDestination->ItemAt(i);
|
||||||
item->SetMarked(true);
|
BMessage* message = item->Message();
|
||||||
Window()->PostMessage(item->Message(), this);
|
if (message == NULL)
|
||||||
|
continue;
|
||||||
|
BString path;
|
||||||
|
if (message->FindString("path", &path) == B_OK) {
|
||||||
|
fCurrentPath.SetTo(path.String());
|
||||||
|
item->SetMarked(true);
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user