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:
Andrew Lindesay
2020-05-23 21:58:09 +00:00
committed by waddlesplash
parent f0a8640b45
commit 87016f8f49
2 changed files with 6 additions and 9 deletions
+5 -6
View File
@@ -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:
+1 -3
View File
@@ -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;
}