bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#30019: 26.0.90; Invalid specification of parent-frame with desktop-r


From: martin rudalics
Subject: bug#30019: 26.0.90; Invalid specification of parent-frame with desktop-read
Date: Mon, 08 Jan 2018 10:53:17 +0100

>   I'm not sure of the exact repro, but hopefully the below stack trace
> will help. After playing around with child frames on macOS while running
> desktop-mode, if I restart emacs, I end up with this error during
> "desktop-read"
>
> Debugger entered--Lisp error: (error "Invalid specification of 
‘parent-frame’")
>    modify-frame-parameters(#<frame Emacs 0x11571e7d0> ((parent-frame .
> #<frame *Warnings* 0x10982e5b0>)))
>    set-frame-parameter(#<frame Emacs 0x11571e7d0> parent-frame #<frame
> *Warnings* 0x10982e5b0>)
>    frameset--restore-frame(((minibuffer . #<window 4 on  *Minibuf-0*>)
[...]
> (frameset--parent-frame .
> "8810-6104-369C-7DEE") (frameset--mini nil . "8810-6104-369C-7DEE")

`frameset--restore-frame' has this

    (let* ((frame-id (frame-parameter frame 'frameset--parent-frame))
           (parent-frame
            (and frame-id (frameset-frame-with-id frame-id))))
      (when (frame-live-p parent-frame)
        (set-frame-parameter frame 'parent-frame parent-frame)))

and x_set_parent_frame has

  if (!NILP (new_value)
      && (!FRAMEP (new_value)
          || !FRAME_LIVE_P (p = XFRAME (new_value))
          || !FRAME_X_P (p)))
    {
      store_frame_param (f, Qparent_frame, old_value);
      error ("Invalid specification of `parent-frame'");

When you put a breakpoint at the last line I suppose it's the
FRAME_X_P (p) call that failed.  Can you confirm that?

If so, we would not have a window system window for the parent frame
yet and we might have to wait "somehow" until it has been created.
Too bad.

It might be interesting to find out whether `frameset--mini' has the
same problem and, if not, why.  After all the minibuffer frame is the
same as the parent frame.

martin






reply via email to

[Prev in Thread] Current Thread [Next in Thread]