aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Cargo.lock74
-rw-r--r--src/handlers/xdg_shell.rs33
2 files changed, 56 insertions, 51 deletions
diff --git a/Cargo.lock b/Cargo.lock
index bf278a7f..993279ee 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -63,9 +63,9 @@ checksum = "fc7eb209b1518d6bb87b283c20095f5228ecda460da70b44f0802523dea6da04"
[[package]]
name = "anstream"
-version = "0.5.0"
+version = "0.6.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b1f58811cfac344940f1a400b6e6231ce35171f614f26439e80f8c1465c5cc0c"
+checksum = "2ab91ebe16eb252986481c5b62f6098f3b698a45e34b5b98200cf20dd2484a44"
dependencies = [
"anstyle",
"anstyle-parse",
@@ -77,15 +77,15 @@ dependencies = [
[[package]]
name = "anstyle"
-version = "1.0.3"
+version = "1.0.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b84bf0a05bbb2a83e5eb6fa36bb6e87baa08193c35ff52bbf6b38d8af2890e46"
+checksum = "7079075b41f533b8c61d2a4d073c4676e1f8b249ff94a393b0595db304e0dd87"
[[package]]
name = "anstyle-parse"
-version = "0.2.1"
+version = "0.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "938874ff5980b03a87c5524b3ae5b59cf99b1d6bc836848df7bc5ada9643c333"
+checksum = "317b9a89c1868f5ea6ff1d9539a69f45dffc21ce321ac1fd1160dfa48c8e2140"
dependencies = [
"utf8parse",
]
@@ -101,9 +101,9 @@ dependencies = [
[[package]]
name = "anstyle-wincon"
-version = "2.1.0"
+version = "3.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "58f54d10c6dfa51283a066ceab3ec1ab78d13fae00aa49243a45e4571fb79dfd"
+checksum = "f0699d10d2f4d628a98ee7b57b289abbc98ff3bad977cb3152709d4bf2330628"
dependencies = [
"anstyle",
"windows-sys 0.48.0",
@@ -153,9 +153,9 @@ dependencies = [
[[package]]
name = "async-executor"
-version = "1.5.3"
+version = "1.5.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "78f2db9467baa66a700abce2a18c5ad793f6f83310aca1284796fc3921d113fd"
+checksum = "2c1da3ae8dabd9c00f453a329dfe1fb28da3c0a72e2478cdcd93171740c20499"
dependencies = [
"async-lock",
"async-task",
@@ -191,7 +191,7 @@ dependencies = [
"log",
"parking",
"polling 2.8.0",
- "rustix 0.37.23",
+ "rustix 0.37.24",
"slab",
"socket2",
"waker-fn",
@@ -219,7 +219,7 @@ dependencies = [
"cfg-if",
"event-listener 3.0.0",
"futures-lite",
- "rustix 0.38.14",
+ "rustix 0.38.15",
"windows-sys 0.48.0",
]
@@ -236,9 +236,9 @@ dependencies = [
[[package]]
name = "async-signal"
-version = "0.2.1"
+version = "0.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4af361a844928cb7d36590d406709473a1b574f443094422ef166daa3b493208"
+checksum = "c99f3cb3f9ff89f7d718fbb942c9eb91bedff12e396adf09a622dfe7ffec2bc2"
dependencies = [
"async-io",
"async-lock",
@@ -458,7 +458,7 @@ dependencies = [
"bitflags 2.4.0",
"log",
"polling 3.1.0",
- "rustix 0.38.14",
+ "rustix 0.38.15",
"slab",
"thiserror",
]
@@ -536,9 +536,9 @@ dependencies = [
[[package]]
name = "clap"
-version = "4.4.5"
+version = "4.4.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "824956d0dca8334758a5b7f7e50518d66ea319330cbceedcf76905c2f6ab30e3"
+checksum = "d04704f56c2cde07f43e8e2c154b43f216dc5c92fc98ada720177362f953b956"
dependencies = [
"clap_builder",
"clap_derive",
@@ -546,9 +546,9 @@ dependencies = [
[[package]]
name = "clap_builder"
-version = "4.4.5"
+version = "4.4.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "122ec64120a49b4563ccaedcbea7818d069ed8e9aa6d829b82d8a4128936b2ab"
+checksum = "0e231faeaca65ebd1ea3c737966bf858971cd38c3849107aa3ea7de90a804e45"
dependencies = [
"anstream",
"anstyle",
@@ -1064,9 +1064,9 @@ dependencies = [
[[package]]
name = "hashbrown"
-version = "0.14.0"
+version = "0.14.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2c6201b9ff9fd90a5a3bac2e56a830d0caa509576f0e503818ee82c181b3437a"
+checksum = "7dfda62a12f55daeae5015f81b0baea145391cb4520f86c248fc615d72640d12"
[[package]]
name = "heck"
@@ -1105,12 +1105,12 @@ dependencies = [
[[package]]
name = "indexmap"
-version = "2.0.0"
+version = "2.0.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d5477fe2230a79769d8dc68e0eabf5437907c0457a5614a9e8dddb67f65eb65d"
+checksum = "8adf3ddd720272c6ea8bf59463c04e0f93d0bbf7c5439b691bca2987e0270897"
dependencies = [
"equivalent",
- "hashbrown 0.14.0",
+ "hashbrown 0.14.1",
]
[[package]]
@@ -1171,7 +1171,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cb0889898416213fab133e1d33a0e5858a48177452750691bde3666d0fdbaf8b"
dependencies = [
"hermit-abi",
- "rustix 0.38.14",
+ "rustix 0.38.15",
"windows-sys 0.48.0",
]
@@ -1923,7 +1923,7 @@ dependencies = [
"cfg-if",
"concurrent-queue",
"pin-project-lite",
- "rustix 0.38.14",
+ "rustix 0.38.15",
"tracing",
"windows-sys 0.48.0",
]
@@ -2190,9 +2190,9 @@ checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2"
[[package]]
name = "rustix"
-version = "0.37.23"
+version = "0.37.24"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4d69718bf81c6127a49dc64e44a742e8bb9213c0ff8869a22c308f84c1d4ab06"
+checksum = "4279d76516df406a8bd37e7dff53fd37d1a093f997a3c34a5c21658c126db06d"
dependencies = [
"bitflags 1.3.2",
"errno",
@@ -2204,9 +2204,9 @@ dependencies = [
[[package]]
name = "rustix"
-version = "0.38.14"
+version = "0.38.15"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "747c788e9ce8e92b12cd485c49ddf90723550b654b32508f979b71a7b1ecda4f"
+checksum = "d2f9da0cbd88f9f09e7814e388301c8414c51c62aa6ce1e4b5c551d49d96e531"
dependencies = [
"bitflags 2.4.0",
"errno",
@@ -2304,9 +2304,9 @@ dependencies = [
[[package]]
name = "sharded-slab"
-version = "0.1.4"
+version = "0.1.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "900fba806f70c630b0a382d0d825e17a0f19fcd059a2ade1ff237bcddf446b31"
+checksum = "c1b21f559e07218024e7e9f90f96f601825397de0e25420135f7f952453fed0b"
dependencies = [
"lazy_static",
]
@@ -2365,7 +2365,7 @@ checksum = "b7c388c1b5e93756d0c740965c41e8822f866621d41acbdf6336a6a168f8840c"
[[package]]
name = "smithay"
version = "0.3.0"
-source = "git+https://github.com/Smithay/smithay.git#509030a151ad440f8406229f32d674811efd9007"
+source = "git+https://github.com/Smithay/smithay.git#74ef59a3f8b6a1f86a74388590f2f852040354e4"
dependencies = [
"appendlist",
"bitflags 2.4.0",
@@ -2428,7 +2428,7 @@ dependencies = [
[[package]]
name = "smithay-drm-extras"
version = "0.1.0"
-source = "git+https://github.com/Smithay/smithay.git#509030a151ad440f8406229f32d674811efd9007"
+source = "git+https://github.com/Smithay/smithay.git#74ef59a3f8b6a1f86a74388590f2f852040354e4"
dependencies = [
"drm",
"edid-rs",
@@ -2534,7 +2534,7 @@ dependencies = [
"cfg-if",
"fastrand 2.0.1",
"redox_syscall 0.3.5",
- "rustix 0.38.14",
+ "rustix 0.38.15",
"windows-sys 0.48.0",
]
@@ -3257,9 +3257,9 @@ checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538"
[[package]]
name = "winit"
-version = "0.28.6"
+version = "0.28.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "866db3f712fffba75d31bf0cdecf357c8aeafd158c5b7ab51dba2a2b2d47f196"
+checksum = "9596d90b45384f5281384ab204224876e8e8bf7d58366d9b795ad99aa9894b94"
dependencies = [
"android-activity",
"bitflags 1.3.2",
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(_) => (),
}
}
}