aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorIvan Molodetskikh <yalterz@gmail.com>2023-09-30 09:05:16 +0400
committerIvan Molodetskikh <yalterz@gmail.com>2023-09-30 09:05:16 +0400
commit56cffa155b20eaeb5b3a5f3ad434493d700a43a6 (patch)
tree9d952a3aa4592aecd90208300205970cecd7eed4 /src
parentb54acf503f003e9a1530596e305d1e325c14330a (diff)
downloadniri-56cffa155b20eaeb5b3a5f3ad434493d700a43a6.tar.gz
niri-56cffa155b20eaeb5b3a5f3ad434493d700a43a6.tar.bz2
niri-56cffa155b20eaeb5b3a5f3ad434493d700a43a6.zip
Update Smithay
Diffstat (limited to 'src')
-rw-r--r--src/handlers/xdg_shell.rs33
1 files changed, 19 insertions, 14 deletions
diff --git a/src/handlers/xdg_shell.rs b/src/handlers/xdg_shell.rs
index 38fe3c9a..e8cee1b5 100644
--- a/src/handlers/xdg_shell.rs
+++ b/src/handlers/xdg_shell.rs
@@ -241,20 +241,25 @@ impl State {
self.niri.popups.commit(surface);
if let Some(popup) = self.niri.popups.find_popup(surface) {
- let PopupKind::Xdg(ref popup) = popup;
- let initial_configure_sent = with_states(surface, |states| {
- states
- .data_map
- .get::<XdgPopupSurfaceData>()
- .unwrap()
- .lock()
- .unwrap()
- .initial_configure_sent
- });
- if !initial_configure_sent {
- // NOTE: This should never fail as the initial configure is always
- // allowed.
- popup.send_configure().expect("initial configure failed");
+ match popup {
+ PopupKind::Xdg(ref popup) => {
+ let initial_configure_sent = with_states(surface, |states| {
+ states
+ .data_map
+ .get::<XdgPopupSurfaceData>()
+ .unwrap()
+ .lock()
+ .unwrap()
+ .initial_configure_sent
+ });
+ if !initial_configure_sent {
+ // NOTE: This should never fail as the initial configure is always
+ // allowed.
+ popup.send_configure().expect("initial configure failed");
+ }
+ }
+ // Input method popups don't require a configure.
+ PopupKind::InputMethod(_) => (),
}
}
}