fix: skip dead windows in floating set_output
This commit is contained in:
parent
f95b62635d
commit
31f317d16b
1 changed files with 5 additions and 1 deletions
|
|
@ -295,6 +295,7 @@ impl FloatingLayout {
|
||||||
for mapped in self
|
for mapped in self
|
||||||
.space
|
.space
|
||||||
.elements()
|
.elements()
|
||||||
|
.filter(|w| w.alive())
|
||||||
.cloned()
|
.cloned()
|
||||||
.collect::<Vec<_>>()
|
.collect::<Vec<_>>()
|
||||||
.into_iter()
|
.into_iter()
|
||||||
|
|
@ -309,7 +310,10 @@ impl FloatingLayout {
|
||||||
None,
|
None,
|
||||||
);
|
);
|
||||||
} else {
|
} else {
|
||||||
let geometry = self.space.element_geometry(&mapped).unwrap().to_f64();
|
let Some(geometry) = self.space.element_geometry(&mapped) else {
|
||||||
|
continue;
|
||||||
|
};
|
||||||
|
let geometry = geometry.to_f64();
|
||||||
let new_loc = (
|
let new_loc = (
|
||||||
((geometry.loc.x - old_output_geometry.loc.x).max(0.)
|
((geometry.loc.x - old_output_geometry.loc.x).max(0.)
|
||||||
/ old_output_geometry.size.w
|
/ old_output_geometry.size.w
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue