summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Monnier <monnier@iro.umontreal.ca>2007-10-02 20:43:54 +0000
committerStefan Monnier <monnier@iro.umontreal.ca>2007-10-02 20:43:54 +0000
commitde509a6071aa4d046e666860468bb7d8bf134e02 (patch)
tree8f62462bd3b3dfb6d058ebc8a1d0b4f9f5f3c14f
parent766ec949f8ce882abcac06aebe208fc4a39b47a9 (diff)
downloademacs-de509a6071aa4d046e666860468bb7d8bf134e02.tar.gz
(candidate_window_p): Only consider as visible frames that
are on the same terminal.
-rw-r--r--src/window.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/window.c b/src/window.c
index 0bec3948518..ca4c41f5e79 100644
--- a/src/window.c
+++ b/src/window.c
@@ -36,6 +36,7 @@ Boston, MA 02110-1301, USA. */
#include "dispextern.h"
#include "blockinput.h"
#include "intervals.h"
+#include "termhooks.h" /* For FRAME_TERMINAL. */
#ifdef HAVE_X_WINDOWS
#include "xterm.h"
@@ -1794,7 +1795,10 @@ candidate_window_p (window, owindow, minibuf, all_frames)
else if (EQ (all_frames, Qvisible))
{
FRAME_SAMPLE_VISIBILITY (f);
- candidate_p = FRAME_VISIBLE_P (f);
+ candidate_p = FRAME_VISIBLE_P (f)
+ && (FRAME_TERMINAL (XFRAME (w->frame))
+ == FRAME_TERMINAL (XFRAME (selected_frame)));
+
}
else if (INTEGERP (all_frames) && XINT (all_frames) == 0)
{
@@ -1810,7 +1814,9 @@ candidate_window_p (window, owindow, minibuf, all_frames)
|| (FRAME_X_P (f) && f->output_data.x->asked_for_visible
&& !f->output_data.x->has_been_visible)
#endif
- );
+ )
+ && (FRAME_TERMINAL (XFRAME (w->frame))
+ == FRAME_TERMINAL (XFRAME (selected_frame)));
}
else if (WINDOWP (all_frames))
candidate_p = (EQ (FRAME_MINIBUF_WINDOW (f), all_frames)