fix plugout virtual monitor
Signed-off-by: fufesou <shuanglongchen@yeah.net>
This commit is contained in:
parent
8a9af3a755
commit
84ab9ba48e
@ -927,7 +927,9 @@ fn try_get_displays() -> ResultType<Vec<Display>> {
|
|||||||
}
|
}
|
||||||
} else if displays.len() > 1 {
|
} else if displays.len() > 1 {
|
||||||
// If more than one displays exists, close RustDeskVirtualDisplay
|
// 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)
|
Ok(displays)
|
||||||
}
|
}
|
||||||
|
@ -59,12 +59,15 @@ pub fn plug_in_headless() -> ResultType<()> {
|
|||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn plug_out_headless() {
|
pub fn plug_out_headless() -> bool {
|
||||||
let mut manager = VIRTUAL_DISPLAY_MANAGER.lock().unwrap();
|
let mut manager = VIRTUAL_DISPLAY_MANAGER.lock().unwrap();
|
||||||
if let Some(index) = manager.headless_index.take() {
|
if let Some(index) = manager.headless_index.take() {
|
||||||
if let Err(e) = virtual_display::plug_out_monitor(index) {
|
if let Err(e) = virtual_display::plug_out_monitor(index) {
|
||||||
log::error!("Plug out monitor failed {}", e);
|
log::error!("Plug out monitor failed {}", e);
|
||||||
}
|
}
|
||||||
|
true
|
||||||
|
} else {
|
||||||
|
false
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user