summaryrefslogtreecommitdiff
path: root/lisp/frameset.el
diff options
context:
space:
mode:
authorJuanma Barranquero <lekktu@gmail.com>2014-02-18 18:33:37 +0100
committerJuanma Barranquero <lekktu@gmail.com>2014-02-18 18:33:37 +0100
commit7108e1c040a911dc30147784eb88e752e483e5c3 (patch)
tree661eca8a9048520f98bda1a9f35901e0b7519055 /lisp/frameset.el
parent5185f8ed16a8ec076b2517fb8bf50c56e12d76af (diff)
downloademacs-7108e1c040a911dc30147784eb88e752e483e5c3.tar.gz
emacs-7108e1c040a911dc30147784eb88e752e483e5c3.tar.bz2
emacs-7108e1c040a911dc30147784eb88e752e483e5c3.zip
lisp/frameset.el: Workaround bug#16793.
lisp/frameset.el (frameset--restore-frame): When a frame is being reused and its root window is not alive, delete all the frame's windows before restoring the window state.
Diffstat (limited to 'lisp/frameset.el')
-rw-r--r--lisp/frameset.el6
1 files changed, 5 insertions, 1 deletions
diff --git a/lisp/frameset.el b/lisp/frameset.el
index 977cc8433d4..f0b3c79f776 100644
--- a/lisp/frameset.el
+++ b/lisp/frameset.el
@@ -932,7 +932,11 @@ is the parameter alist of the frame being restored. Internal use only."
(setq frame (frameset--find-frame-if nil display))))
;; If found, remove from the list.
(when frame
- (setq frameset--reuse-list (delq frame frameset--reuse-list)))
+ (setq frameset--reuse-list (delq frame frameset--reuse-list))
+ ;; Workaround for feature/bug#16793
+ (let ((root (frame-root-window frame)))
+ (unless (window-live-p root)
+ (delete-other-windows-internal (frame-first-window root) root))))
frame))
(defun frameset--initial-params (parameters)