Merge pull request #5276 from sahilyeole/master
Improved fix for connection refused on restart/logout lightdm
This commit is contained in:
commit
d3b305ced3
@ -124,24 +124,12 @@ fn line_values(indices: &[usize], line: &str) -> Vec<String> {
|
|||||||
|
|
||||||
#[inline]
|
#[inline]
|
||||||
pub fn get_values_of_seat0(indices: &[usize]) -> Vec<String> {
|
pub fn get_values_of_seat0(indices: &[usize]) -> Vec<String> {
|
||||||
_get_values_of_seat0_tries(indices, true, 20)
|
_get_values_of_seat0(indices, true)
|
||||||
}
|
}
|
||||||
|
|
||||||
#[inline]
|
#[inline]
|
||||||
pub fn get_values_of_seat0_with_gdm_wayland(indices: &[usize]) -> Vec<String> {
|
pub fn get_values_of_seat0_with_gdm_wayland(indices: &[usize]) -> Vec<String> {
|
||||||
_get_values_of_seat0_tries(indices, false, 20)
|
_get_values_of_seat0(indices, false)
|
||||||
}
|
|
||||||
|
|
||||||
fn _get_values_of_seat0_tries(indices: &[usize], ignore_gdm_wayland: bool, attempts: usize) -> Vec<String> {
|
|
||||||
for _ in 0..attempts{
|
|
||||||
let value = _get_values_of_seat0(indices, ignore_gdm_wayland);
|
|
||||||
if value != line_values(indices, "") {
|
|
||||||
return value;
|
|
||||||
}
|
|
||||||
// Wait for 300ms and try again
|
|
||||||
std::thread::sleep(std::time::Duration::from_millis(300));
|
|
||||||
}
|
|
||||||
line_values(indices, "")
|
|
||||||
}
|
}
|
||||||
|
|
||||||
fn _get_values_of_seat0(indices: &[usize], ignore_gdm_wayland: bool) -> Vec<String> {
|
fn _get_values_of_seat0(indices: &[usize], ignore_gdm_wayland: bool) -> Vec<String> {
|
||||||
|
@ -1073,11 +1073,13 @@ mod desktop {
|
|||||||
}
|
}
|
||||||
|
|
||||||
pub fn refresh(&mut self) {
|
pub fn refresh(&mut self) {
|
||||||
|
let seat0_values = get_values_of_seat0(&[0, 1, 2]);
|
||||||
if !self.sid.is_empty() && is_active(&self.sid) {
|
if !self.sid.is_empty() && is_active(&self.sid) {
|
||||||
return;
|
if self.sid == seat0_values[0] {
|
||||||
|
return;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
let seat0_values = get_values_of_seat0(&[0, 1, 2]);
|
|
||||||
if seat0_values[0].is_empty() {
|
if seat0_values[0].is_empty() {
|
||||||
*self = Self::default();
|
*self = Self::default();
|
||||||
self.is_rustdesk_subprocess = false;
|
self.is_rustdesk_subprocess = false;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user