fix: panics on output removal
Despawning the output when its global was removed proved to be overzealous, as the Dispatch of `zxdg_output_v1` still needed it for cleanup. Instead, only the `OutputScaleFactor` element is removed, and every surface entity with an `OnOutput` referencing the removed output, so scaling events sent to surfaces on non-existent outputs did not panic or use the provided scale as if an output still existed for it.
This commit is contained in:
parent
0947c4685f
commit
e6dd3c05c0
3 changed files with 36 additions and 13 deletions
|
|
@ -983,7 +983,7 @@ impl Event for client::wl_touch::Event {
|
|||
}
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone)]
|
||||
#[derive(Copy, Clone, PartialEq, Eq)]
|
||||
pub(super) struct OnOutput(pub Entity);
|
||||
struct OutputName(String);
|
||||
fn get_output_name(output: Option<&OnOutput>, world: &World) -> Option<String> {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue