summaryrefslogtreecommitdiff
path: root/src/managers/ANRManager.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/managers/ANRManager.cpp')
-rw-r--r--src/managers/ANRManager.cpp9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/managers/ANRManager.cpp b/src/managers/ANRManager.cpp
index 69d127a7..48b9a6db 100644
--- a/src/managers/ANRManager.cpp
+++ b/src/managers/ANRManager.cpp
@@ -169,7 +169,14 @@ void CANRManager::SANRData::runDialog(const std::string& title, const std::strin
appClass.empty() ? "unknown" : appClass),
std::vector<std::string>{"Terminate", "Wait"});
- dialogBox->open([dialogWmPID, this](std::string result) {
+ dialogBox->open()->then([dialogWmPID, this](SP<CPromiseResult<std::string>> r) {
+ if (r->hasError()) {
+ Debug::log(ERR, "CANRManager::SANRData::runDialog: error spawning dialog");
+ return;
+ }
+
+ const auto& result = r->result();
+
if (result.starts_with("Terminate"))
::kill(dialogWmPID, SIGKILL);
else if (result.starts_with("Wait"))