about summary refs log tree commit diff
path: root/exwm-manage.el
diff options
context:
space:
mode:
Diffstat (limited to 'exwm-manage.el')
-rw-r--r--exwm-manage.el11
1 files changed, 6 insertions, 5 deletions
diff --git a/exwm-manage.el b/exwm-manage.el
index 2b964756351c..d61a55a58cf7 100644
--- a/exwm-manage.el
+++ b/exwm-manage.el
@@ -405,11 +405,12 @@ manager is shutting down."
         (xcb:flush exwm--connection))
       (let ((kill-buffer-func
              (lambda (buffer)
-               (let ((kill-buffer-query-functions nil))
-                 (when exwm--floating-frame
-                   (select-window
-                    (frame-selected-window exwm-workspace--current)))
-                 (kill-buffer buffer)))))
+               (when (buffer-local-value 'exwm--floating-frame buffer)
+                 (select-window
+                  (frame-selected-window exwm-workspace--current)))
+               (with-current-buffer buffer
+                 (let ((kill-buffer-query-functions nil))
+                   (kill-buffer buffer))))))
         (exwm--defer 0 kill-buffer-func buffer)
         (when (active-minibuffer-window)
           (exit-minibuffer))))))