aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorEli Zaretskii2017-11-11 14:42:30 +0200
committerEli Zaretskii2017-11-11 14:42:30 +0200
commit7657a867095f9edbb43c22f979f06dbe880059b7 (patch)
treeddabb7270ab53f3a2dc7892e11ae9515f702dcd6 /src
parent603a0716a8824731a689d3b5144b55eed9ee4db4 (diff)
downloademacs-7657a867095f9edbb43c22f979f06dbe880059b7.tar.gz
emacs-7657a867095f9edbb43c22f979f06dbe880059b7.zip
Fix comparisons with tip_frame in GTK builds
* src/xterm.c (x_update_begin, x_new_font): * src/xfns.c (Fx_display_monitor_attributes_list): * src/frame.c (Fframe_list) [USE_GTK]: Don't consider tip_frame a tooltip frame unless its 'tooltip' parameter is non-nil. (Bug#26747)
Diffstat (limited to 'src')
-rw-r--r--src/frame.c6
-rw-r--r--src/xfns.c6
-rw-r--r--src/xterm.c12
3 files changed, 20 insertions, 4 deletions
diff --git a/src/frame.c b/src/frame.c
index fe1709e6ede..2b32751c0d3 100644
--- a/src/frame.c
+++ b/src/frame.c
@@ -1472,7 +1472,11 @@ DEFUN ("frame-list", Fframe_list, Sframe_list,
1472 Lisp_Object frames; 1472 Lisp_Object frames;
1473 frames = Fcopy_sequence (Vframe_list); 1473 frames = Fcopy_sequence (Vframe_list);
1474#ifdef HAVE_WINDOW_SYSTEM 1474#ifdef HAVE_WINDOW_SYSTEM
1475 if (FRAMEP (tip_frame)) 1475 if (FRAMEP (tip_frame)
1476#ifdef USE_GTK
1477 && !NILP (Fframe_parameter (tip_frame, Qtooltip))
1478#endif
1479 )
1476 frames = Fdelq (tip_frame, frames); 1480 frames = Fdelq (tip_frame, frames);
1477#endif 1481#endif
1478 return frames; 1482 return frames;
diff --git a/src/xfns.c b/src/xfns.c
index 9022e4a9674..83fc07dc6cb 100644
--- a/src/xfns.c
+++ b/src/xfns.c
@@ -4915,7 +4915,11 @@ Internal use only, use `display-monitor-attributes-list' instead. */)
4915 struct frame *f = XFRAME (frame); 4915 struct frame *f = XFRAME (frame);
4916 4916
4917 if (FRAME_X_P (f) && FRAME_DISPLAY_INFO (f) == dpyinfo 4917 if (FRAME_X_P (f) && FRAME_DISPLAY_INFO (f) == dpyinfo
4918 && !EQ (frame, tip_frame)) 4918 && !(EQ (frame, tip_frame)
4919#ifdef USE_GTK
4920 && !NILP (Fframe_parameter (tip_frame, Qtooltip))
4921#endif
4922 ))
4919 { 4923 {
4920 GdkWindow *gwin = gtk_widget_get_window (FRAME_GTK_WIDGET (f)); 4924 GdkWindow *gwin = gtk_widget_get_window (FRAME_GTK_WIDGET (f));
4921 4925
diff --git a/src/xterm.c b/src/xterm.c
index dbb8349452d..e11cde771ab 100644
--- a/src/xterm.c
+++ b/src/xterm.c
@@ -997,7 +997,11 @@ x_update_begin (struct frame *f)
997{ 997{
998#ifdef USE_CAIRO 998#ifdef USE_CAIRO
999 if (! NILP (tip_frame) && XFRAME (tip_frame) == f 999 if (! NILP (tip_frame) && XFRAME (tip_frame) == f
1000 && ! FRAME_VISIBLE_P (f)) 1000 && ! FRAME_VISIBLE_P (f)
1001#ifdef USE_GTK
1002 && !NILP (Fframe_parameter (tip_frame, Qtooltip))
1003#endif
1004 )
1001 return; 1005 return;
1002 1006
1003 if (! FRAME_CR_SURFACE (f)) 1007 if (! FRAME_CR_SURFACE (f))
@@ -9960,7 +9964,11 @@ x_new_font (struct frame *f, Lisp_Object font_object, int fontset)
9960 /* Don't change the size of a tip frame; there's no point in 9964 /* Don't change the size of a tip frame; there's no point in
9961 doing it because it's done in Fx_show_tip, and it leads to 9965 doing it because it's done in Fx_show_tip, and it leads to
9962 problems because the tip frame has no widget. */ 9966 problems because the tip frame has no widget. */
9963 if (NILP (tip_frame) || XFRAME (tip_frame) != f) 9967 if (NILP (tip_frame) || XFRAME (tip_frame) != f
9968#ifdef USE_GTK
9969 || NILP (Fframe_parameter (tip_frame, Qtooltip))
9970#endif
9971 )
9964 { 9972 {
9965 adjust_frame_size (f, FRAME_COLS (f) * FRAME_COLUMN_WIDTH (f), 9973 adjust_frame_size (f, FRAME_COLS (f) * FRAME_COLUMN_WIDTH (f),
9966 FRAME_LINES (f) * FRAME_LINE_HEIGHT (f), 3, 9974 FRAME_LINES (f) * FRAME_LINE_HEIGHT (f), 3,