fix: popup creation handling of existing popups
This commit is contained in:
parent
b509922bc8
commit
b22d363f2c
1 changed files with 2 additions and 4 deletions
|
|
@ -1227,11 +1227,9 @@ impl SctkState {
|
||||||
SctkEvent::PopupEvent { variant: crate::sctk_event::PopupEventVariant::Size(size.0, size.1), toplevel_id: existing.data.parent.wl_surface().clone(), parent_id: existing.data.parent.wl_surface().clone(), id: existing.popup.wl_surface().clone() });
|
SctkEvent::PopupEvent { variant: crate::sctk_event::PopupEventVariant::Size(size.0, size.1), toplevel_id: existing.data.parent.wl_surface().clone(), parent_id: existing.data.parent.wl_surface().clone(), id: existing.popup.wl_surface().clone() });
|
||||||
return Ok(());
|
return Ok(());
|
||||||
}
|
}
|
||||||
let mut found = false;
|
let mut parent_mismatch = !self.popups.is_empty();
|
||||||
let mut parent_mismatch = false;
|
|
||||||
for p in &self.popups {
|
for p in &self.popups {
|
||||||
found |= p.data.id == settings.parent;
|
parent_mismatch = p.data.id != settings.parent;
|
||||||
parent_mismatch |= found && p.data.id != settings.parent;
|
|
||||||
}
|
}
|
||||||
if !self.destroyed.is_empty() || parent_mismatch {
|
if !self.destroyed.is_empty() || parent_mismatch {
|
||||||
if parent_mismatch {
|
if parent_mismatch {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue