fix(wayland): stop unwrap of repositioned popup
This commit is contained in:
@@ -374,13 +374,16 @@ impl XdgBackend {
|
|||||||
panel_item.new_child(uid, self.child_data(uid).unwrap());
|
panel_item.new_child(uid, self.child_data(uid).unwrap());
|
||||||
}
|
}
|
||||||
pub fn reposition_popup(&self, uid: &str, _popup: PopupSurface, positioner: PositionerState) {
|
pub fn reposition_popup(&self, uid: &str, _popup: PopupSurface, positioner: PositionerState) {
|
||||||
self.popups.lock().get_mut(uid).unwrap().1 = positioner;
|
let mut popups = self.popups.lock();
|
||||||
|
let Some((_, old_positioner)) = popups.get_mut(uid) else {
|
||||||
|
return
|
||||||
|
};
|
||||||
let Some(panel_item) = self.panel_item() else {
|
let Some(panel_item) = self.panel_item() else {
|
||||||
return;
|
return;
|
||||||
};
|
};
|
||||||
let geometry = positioner.get_geometry();
|
let geometry = positioner.get_geometry();
|
||||||
|
|
||||||
|
*old_positioner = positioner;
|
||||||
panel_item.reposition_child(uid, geometry.into());
|
panel_item.reposition_child(uid, geometry.into());
|
||||||
}
|
}
|
||||||
pub fn drop_popup(&self, uid: &str) {
|
pub fn drop_popup(&self, uid: &str) {
|
||||||
|
|||||||
Reference in New Issue
Block a user