aboutsummaryrefslogtreecommitdiff
path: root/src/input
diff options
context:
space:
mode:
authorIvan Molodetskikh <yalterz@gmail.com>2024-11-12 19:26:44 +0300
committerIvan Molodetskikh <yalterz@gmail.com>2024-11-12 19:26:44 +0300
commitdb1faecc9522dd4751344d3aa4e1d1e987dffc0c (patch)
treed406e4c4d2ea920043f402586ca385ec62125cd7 /src/input
parentc2c415d2e8ab6f3cbe3a0efd5de727d47f7c9aca (diff)
downloadniri-db1faecc9522dd4751344d3aa4e1d1e987dffc0c.tar.gz
niri-db1faecc9522dd4751344d3aa4e1d1e987dffc0c.tar.bz2
niri-db1faecc9522dd4751344d3aa4e1d1e987dffc0c.zip
Guard against closed screenshot UI in its binds
They can trigger with closed screenshot UI via key repeat.
Diffstat (limited to 'src/input')
-rw-r--r--src/input/mod.rs8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/input/mod.rs b/src/input/mod.rs
index 0bff4637..6a242890 100644
--- a/src/input/mod.rs
+++ b/src/input/mod.rs
@@ -541,6 +541,10 @@ impl State {
}
}
Action::ConfirmScreenshot => {
+ if !self.niri.screenshot_ui.is_open() {
+ return;
+ }
+
self.backend.with_primary_renderer(|renderer| {
match self.niri.screenshot_ui.capture(renderer) {
Ok((size, pixels)) => {
@@ -561,6 +565,10 @@ impl State {
self.niri.queue_redraw_all();
}
Action::CancelScreenshot => {
+ if !self.niri.screenshot_ui.is_open() {
+ return;
+ }
+
self.niri.screenshot_ui.close();
self.niri
.cursor_manager