diff --git a/client/core/local-proxy/xraycontroller.cpp b/client/core/local-proxy/xraycontroller.cpp index 0f0d948fc..8c2968f1a 100644 --- a/client/core/local-proxy/xraycontroller.cpp +++ b/client/core/local-proxy/xraycontroller.cpp @@ -63,7 +63,12 @@ bool XrayController::stop() ProxyLogger::getInstance().info("Stopping Xray via IPC"); const bool ipcResult = IpcClient::withInterface([](QSharedPointer iface) { - iface->xrayStop(); + auto xrayStop = iface->xrayStop(); + if (!xrayStop.waitForFinished() || !xrayStop.returnValue()) { + ProxyLogger::getInstance().warning("Failed to stop Xray via IPC"); + return false; + } + return true; }, []() { return false;