fix plugout virtual monitor

Signed-off-by: fufesou <shuanglongchen@yeah.net>
This commit is contained in:
fufesou 2023-04-28 13:19:48 +08:00
parent 8a9af3a755
commit 84ab9ba48e
2 changed files with 7 additions and 2 deletions

View File

@ -927,7 +927,9 @@ fn try_get_displays() -> ResultType<Vec<Display>> {
}
} else if displays.len() > 1 {
// If more than one displays exists, close RustDeskVirtualDisplay
let _res = virtual_display_manager::plug_in_headless();
if virtual_display_manager::plug_out_headless() {
displays = Display::all()?;
}
}
Ok(displays)
}

View File

@ -59,12 +59,15 @@ pub fn plug_in_headless() -> ResultType<()> {
Ok(())
}
pub fn plug_out_headless() {
pub fn plug_out_headless() -> bool {
let mut manager = VIRTUAL_DISPLAY_MANAGER.lock().unwrap();
if let Some(index) = manager.headless_index.take() {
if let Err(e) = virtual_display::plug_out_monitor(index) {
log::error!("Plug out monitor failed {}", e);
}
true
} else {
false
}
}