From 26217f9d183e13844409d8b2e3ec90ea027b531f Mon Sep 17 00:00:00 2001 From: dijunkun Date: Fri, 18 Sep 2026 22:40:51 +0800 Subject: [PATCH] [fix] reset mouse input display when restoring initial capture display --- .../gui/features/devices/session_device_manager.cpp | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/apps/desktop/src/gui/features/devices/session_device_manager.cpp b/apps/desktop/src/gui/features/devices/session_device_manager.cpp index 3ffe2667..66fb409c 100644 --- a/apps/desktop/src/gui/features/devices/session_device_manager.cpp +++ b/apps/desktop/src/gui/features/devices/session_device_manager.cpp @@ -644,9 +644,17 @@ int SessionDeviceManager::SwitchDisplay(int display_id) { } void SessionDeviceManager::ResetToInitialDisplay() { - if (screen_capturer_) { - screen_capturer_->ResetToInitialMonitor(); + if (!screen_capturer_) { + return; } + const int ret = screen_capturer_->ResetToInitialMonitor(); + if (ret != 0) { + LOG_WARN("Reset to initial display failed, ret={}", ret); + return; + } + // Capture backends start at display 0. Reset the input mapping as well so + // the next connection cannot show that display while controlling another. + owner_.selected_display_ = 0; } const std::vector &