HaikuDepot: Single Package Crash
In single package mode there was a crash owing to the status bar not being present. This may as well be added because it provides some feedback that the application is actually doing something. The behaviour of this is not ideal because the feedback could be better, but it will resolve the crash issue this ticket is raising. Resolves #15964 Change-Id: I603a7b163139859f0c46a35ead0809e5d82e0f8d Reviewed-on: https://review.haiku-os.org/c/haiku/+/2791 Reviewed-by: waddlesplash <[email protected]>
This commit is contained in:
committed by
waddlesplash
parent
f0a8640b45
commit
87016f8f49
@@ -236,11 +236,12 @@ MainWindow::MainWindow(const BMessage& settings, const PackageInfoRef& package)
|
||||
debugger("unable to create the process coordinator semaphore");
|
||||
|
||||
fFilterView = new FilterView();
|
||||
fPackageListView = new PackageListView(fModel.Lock());
|
||||
fPackageInfoView = new PackageInfoView(fModel.Lock(), this);
|
||||
fWorkStatusView = new WorkStatusView("work status");
|
||||
|
||||
BLayoutBuilder::Group<>(this, B_VERTICAL)
|
||||
.Add(fPackageInfoView)
|
||||
.Add(fWorkStatusView)
|
||||
.SetInsets(0, B_USE_WINDOW_INSETS, 0, 0)
|
||||
;
|
||||
|
||||
@@ -494,7 +495,7 @@ MainWindow::MessageReceived(BMessage* message)
|
||||
fModel.SetPackageState(ref, ref->State());
|
||||
}
|
||||
_AddRemovePackageFromLists(ref);
|
||||
if (!fSinglePackageMode && (changes & PKG_CHANGED_STATE) != 0
|
||||
if ((changes & PKG_CHANGED_STATE) != 0
|
||||
&& fCoordinator == NULL) {
|
||||
fWorkStatusView->PackageStatusChanged(ref);
|
||||
}
|
||||
@@ -516,14 +517,12 @@ MainWindow::MessageReceived(BMessage* message)
|
||||
status_t status = message->FindString("reason", &reason);
|
||||
if (status != B_OK)
|
||||
break;
|
||||
if (!fSinglePackageMode)
|
||||
fWorkStatusView->SetBusy(reason);
|
||||
fWorkStatusView->SetBusy(reason);
|
||||
break;
|
||||
}
|
||||
|
||||
case MSG_PACKAGE_WORKER_IDLE:
|
||||
if (!fSinglePackageMode)
|
||||
fWorkStatusView->SetIdle();
|
||||
fWorkStatusView->SetIdle();
|
||||
break;
|
||||
|
||||
case MSG_USER_USAGE_CONDITIONS_NOT_LATEST:
|
||||
|
||||
@@ -500,7 +500,6 @@ public:
|
||||
} else {
|
||||
AdoptActions(package);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
void AdoptActions(const PackageInfo& package)
|
||||
@@ -1365,9 +1364,8 @@ PackageInfoView::MessageReceived(BMessage* message)
|
||||
fTitleView->SetPackage(*package.Get());
|
||||
}
|
||||
|
||||
if ((changes & PKG_CHANGED_STATE) != 0) {
|
||||
if ((changes & PKG_CHANGED_STATE) != 0)
|
||||
fPackageActionView->SetPackage(*package.Get());
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user