On Wayland, ensure initial resize delivery
While we correctly configure the sizes, we also need to actually resize the frame on initial configure and send geometry. Fixes #3277.
This commit is contained in:
parent
a676d0018b
commit
8b5c84f404
1 changed files with 10 additions and 6 deletions
|
|
@ -357,13 +357,17 @@ impl WindowState {
|
||||||
let old_state = self
|
let old_state = self
|
||||||
.last_configure
|
.last_configure
|
||||||
.as_ref()
|
.as_ref()
|
||||||
.map(|configure| configure.state)
|
.map(|configure| configure.state);
|
||||||
.unwrap_or(XdgWindowState::empty());
|
|
||||||
|
|
||||||
let state_change_requires_resize = !new_state
|
let state_change_requires_resize = old_state
|
||||||
.symmetric_difference(old_state)
|
.map(|old_state| {
|
||||||
.difference(XdgWindowState::ACTIVATED | XdgWindowState::SUSPENDED)
|
!old_state
|
||||||
.is_empty();
|
.symmetric_difference(new_state)
|
||||||
|
.difference(XdgWindowState::ACTIVATED | XdgWindowState::SUSPENDED)
|
||||||
|
.is_empty()
|
||||||
|
})
|
||||||
|
// NOTE: `None` is present for the initial configure, thus we must always resize.
|
||||||
|
.unwrap_or(true);
|
||||||
|
|
||||||
// NOTE: Set the configure before doing a resize, since we query it during it.
|
// NOTE: Set the configure before doing a resize, since we query it during it.
|
||||||
self.last_configure = Some(configure);
|
self.last_configure = Some(configure);
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue