Merge pull request #469 from cmeissl/fix/xdg_toplevel_parent

fix setting the parent of a ToplevelSurface
This commit is contained in:
Victoria Brekenfeld 2022-01-24 16:00:50 +01:00 committed by GitHub
commit 25d23448af
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 4 additions and 5 deletions

View File

@ -1177,15 +1177,14 @@ impl ToplevelSurface {
/// The parent must be another toplevel equivalent surface.
///
/// If the parent is `None`, the parent-child relationship is removed.
pub fn set_parent(&self, parent: Option<wl_surface::WlSurface>) -> bool {
pub fn set_parent(&self, parent: Option<&wl_surface::WlSurface>) -> bool {
if let Some(parent) = parent {
if !is_toplevel_equivalent(&parent) {
if !is_toplevel_equivalent(parent) {
return false;
}
}
// Unset the parent
xdg_handlers::set_parent(&self.shell_surface, None);
xdg_handlers::set_parent(&self.shell_surface, parent.cloned());
true
}

View File

@ -447,7 +447,7 @@ fn imported_implementation(
.map(|export| export.surface.clone())
.unwrap();
toplevel_surface.set_parent(Some(imported_parent));
toplevel_surface.set_parent(Some(&imported_parent));
}
_ => unreachable!(),