From 3e4b839bbffc1ee6a8db5dc1d69c90f531fa14f9 Mon Sep 17 00:00:00 2001 From: "Samuel D. Crow" Date: Wed, 30 Nov 2022 22:30:34 -0600 Subject: [PATCH] PowerStatus: Abort cleanly after battery not detected. fixes #18113 Change-Id: Id346807cea95fc4814f261cc0203fa6f8e4ee132 Reviewed-on: https://review.haiku-os.org/c/haiku/+/5873 Reviewed-by: Adrien Destugues Tested-by: Commit checker robot --- src/apps/powerstatus/PowerStatus.cpp | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/src/apps/powerstatus/PowerStatus.cpp b/src/apps/powerstatus/PowerStatus.cpp index be193ada61..46c785474b 100644 --- a/src/apps/powerstatus/PowerStatus.cpp +++ b/src/apps/powerstatus/PowerStatus.cpp @@ -77,21 +77,17 @@ PowerStatus::ReadyToRun() bool isInstalled = false; bool isDeskbarRunning = true; - PowerStatusDriverInterface* interface; - interface = new ACPIDriverInterface; - if (interface->Connect() != B_OK) { - delete interface; - interface = new APMDriverInterface; - if (interface->Connect() != B_OK) { - BAlert* alert = new BAlert("", + if (ACPIDriverInterface().Connect() != B_OK) { + if (APMDriverInterface().Connect() != B_OK) { + BAlert* alert = new BAlert("", B_TRANSLATE("No supported battery detected. PowerStatus " "cannot be used on your system."), B_TRANSLATE("Too bad!"), NULL, NULL, B_WIDTH_AS_USUAL, B_WARNING_ALERT); alert->Go(); Quit(); + return; } } - delete interface; { // if the Deskbar is not alive at this point, it might be after having