From 60b02c6de147040572a8111923473c891f215a4a Mon Sep 17 00:00:00 2001 From: renathossain <114009484+renathossain@users.noreply.github.com> Date: Tue, 4 Aug 2026 16:17:12 -0400 Subject: [PATCH] Fix monitor selector stuck after closing via window manager (#4839) Handle QEvent::Close in the event filter so that closing the monitor selector window (e.g. via i3 kill) properly quits the blocking event loop and resets the selection state, preventing the 'Screenshot already in progress' error on subsequent screenshot attempts. --- src/utils/screengrabber.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/utils/screengrabber.cpp b/src/utils/screengrabber.cpp index ad9812c62b..2a1648ec96 100644 --- a/src/utils/screengrabber.cpp +++ b/src/utils/screengrabber.cpp @@ -600,6 +600,10 @@ void ScreenGrabber::setHighlightedMonitorPreview(int previewIndex) bool ScreenGrabber::eventFilter(QObject* obj, QEvent* event) { + if (event->type() == QEvent::Close) { + cancelMonitorSelection(); + return true; + } if (event->type() == QEvent::KeyPress) { QKeyEvent* keyEvent = static_cast(event); switch (keyEvent->key()) {