summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard M. Stallman <rms@gnu.org>1994-05-06 09:17:06 +0000
committerRichard M. Stallman <rms@gnu.org>1994-05-06 09:17:06 +0000
commitb65e2f747572c0869b3c607521478e9b37958d15 (patch)
tree3d99ee6d2f65ff6acbdd246409b59b5c574f72fd
parent510328f2de002debdec7a90c46fb08bf6a73cde8 (diff)
downloademacs-b65e2f747572c0869b3c607521478e9b37958d15.tar.gz
(frame-notice-user-settings): Wait till frame becomes
visible before using its parameters.
-rw-r--r--lisp/frame.el11
1 files changed, 9 insertions, 2 deletions
diff --git a/lisp/frame.el b/lisp/frame.el
index 872a2f4acce..a397763e91e 100644
--- a/lisp/frame.el
+++ b/lisp/frame.el
@@ -183,11 +183,18 @@ These supersede the values given in `default-frame-alist'.")
'(minibuffer . t)))
t))
;; Create the new frame.
- (let* ((parms (append initial-frame-alist
+ (let (parms new)
+ ;; If the frame isn't visible yet, wait till it is.
+ ;; If the user has to position the window,
+ ;; Emacs doesn't know its real position until
+ ;; the frame is seen to be visible.
+ (while (not (cdr (assq 'visibility
+ (frame-parameters frame-initial-frame))))
+ (sleep-for 1))
+ (setq parms (append initial-frame-alist
default-frame-alist
(frame-parameters frame-initial-frame)
nil))
- new)
;; Get rid of `reverse', because that was handled
;; when we first made the frame.
(setq parms (cons '(reverse) (delq (assq 'reverse parms) parms)))