emacs-diffs
[Top][All Lists]
Advanced

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

[Emacs-diffs] emacs-26 1d9e66a: Don't check non-X frames for z order (Bu


From: Noam Postavsky
Subject: [Emacs-diffs] emacs-26 1d9e66a: Don't check non-X frames for z order (Bug#31373)
Date: Mon, 7 May 2018 21:36:02 -0400 (EDT)

branch: emacs-26
commit 1d9e66aea17787e03954f32c6cd7561c881bb444
Author: Noam Postavsky <address@hidden>
Commit: Noam Postavsky <address@hidden>

    Don't check non-X frames for z order (Bug#31373)
    
    * src/xfns.c (x_frame_list_z_order): Only use frames with
    `output_method' set to `output_x_window'.
---
 src/xfns.c | 16 ++++++++++------
 1 file changed, 10 insertions(+), 6 deletions(-)

diff --git a/src/xfns.c b/src/xfns.c
index 20fe61b..3da853e 100644
--- a/src/xfns.c
+++ b/src/xfns.c
@@ -5300,12 +5300,16 @@ x_frame_list_z_order (Display* dpy, Window window)
          Lisp_Object frame, tail;
 
          FOR_EACH_FRAME (tail, frame)
-           /* With a reparenting window manager the parent_desc field
-              usually specifies the topmost windows of our frames.
-              Otherwise FRAME_OUTER_WINDOW should do.  */
-           if (XFRAME (frame)->output_data.x->parent_desc == children[i]
-               || FRAME_OUTER_WINDOW (XFRAME (frame)) == children[i])
-             frames = Fcons (frame, frames);
+            {
+              struct frame *cf = XFRAME (frame);
+              /* With a reparenting window manager the parent_desc
+                 field usually specifies the topmost windows of our
+                 frames.  Otherwise FRAME_OUTER_WINDOW should do.  */
+              if (FRAME_X_P (cf)
+                  && (cf->output_data.x->parent_desc == children[i]
+                      || FRAME_OUTER_WINDOW (cf) == children[i]))
+                frames = Fcons (frame, frames);
+            }
        }
 
       if (children) XFree ((char *)children);



reply via email to

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