lisp/desktop.el: Add workaround for bug#14949.
authorJuanma Barranquero <lekktu@gmail.com>
Thu, 25 Jul 2013 00:37:56 +0000 (02:37 +0200)
committerJuanma Barranquero <lekktu@gmail.com>
Thu, 25 Jul 2013 00:37:56 +0000 (02:37 +0200)
(desktop--make-frame): Do not pass the `fullscreen' parameter to
modify-frame-parameters if the value has not changed.
(desktop--make-frame): On cl-delete-if call, check parameter name,
not full parameter.

lisp/ChangeLog
lisp/desktop.el

index 587c9b9..85c6832 100644 (file)
@@ -1,3 +1,11 @@
+2013-07-25  Juanma Barranquero  <lekktu@gmail.com>
+
+       * desktop.el (desktop--make-frame): Do not pass the `fullscreen'
+       parameter to modify-frame-parameters if the value has not changed;
+       this is a workaround for bug#14949.
+       (desktop--make-frame): On cl-delete-if call, check parameter name,
+       not full parameter.
+
 2013-07-24  Juanma Barranquero  <lekktu@gmail.com>
 
        * desktop.el (desktop-restoring-frames-p): Return a true boolean.
index f4622ae..291f28a 100644 (file)
@@ -1289,7 +1289,7 @@ its window state.  Internal use only."
            (visible (assq 'visibility filtered-cfg)))
        (setq filtered-cfg (cl-delete-if (lambda (p)
                                           (memq p '(visibility fullscreen width height)))
-                                        filtered-cfg))
+                                        filtered-cfg :key #'car))
        (when width
          (setq filtered-cfg (append `((user-size . t) (width . ,width))
                                       filtered-cfg)))
@@ -1302,7 +1302,11 @@ its window state.  Internal use only."
 
     ;; Time to select or create a frame an apply the big bunch of parameters
     (if (setq frame (desktop--select-frame display filtered-cfg))
-       (modify-frame-parameters frame filtered-cfg)
+       (modify-frame-parameters frame
+                                (if (eq (frame-parameter frame 'fullscreen) fullscreen)
+                                    ;; Workaround for bug#14949
+                                    (assq-delete-all 'fullscreen filtered-cfg)
+                                  filtered-cfg))
       (setq frame (make-frame-on-display display filtered-cfg)))
 
     ;; Let's give the finishing touches (visibility, tool-bar, maximization).