+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.
(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)))
;; 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).