diff options
| author | Eli Zaretskii | 2017-11-10 10:35:31 +0200 |
|---|---|---|
| committer | Eli Zaretskii | 2017-11-10 10:35:31 +0200 |
| commit | f3e69a80abc04d72d446763bda6859c064233c5d (patch) | |
| tree | 03cb2239622dcfcdf93cd0172356ae7830d2f3bb | |
| parent | e6f1fd40916afb692bd25e845ee87e73549201f4 (diff) | |
| download | emacs-f3e69a80abc04d72d446763bda6859c064233c5d.tar.gz emacs-f3e69a80abc04d72d446763bda6859c064233c5d.zip | |
Fix display of line numbers in GTK builds
* src/xdisp.c (should_produce_line_number) [USE_GTK]: Make sure
tip_frame is indeed a tooltip frame, before disabling line numbers
on it. (Bug#27647)
* src/dispextern.h (tip_frame): Add commentary describing the
kludgey usage of this variable in GTK builds.
| -rw-r--r-- | src/dispextern.h | 7 | ||||
| -rw-r--r-- | src/xdisp.c | 8 |
2 files changed, 14 insertions, 1 deletions
diff --git a/src/dispextern.h b/src/dispextern.h index 2f55d8cbc87..430afbf09a3 100644 --- a/src/dispextern.h +++ b/src/dispextern.h | |||
| @@ -3452,7 +3452,14 @@ void gamma_correct (struct frame *, COLORREF *); | |||
| 3452 | void x_implicitly_set_name (struct frame *, Lisp_Object, Lisp_Object); | 3452 | void x_implicitly_set_name (struct frame *, Lisp_Object, Lisp_Object); |
| 3453 | void x_change_tool_bar_height (struct frame *f, int); | 3453 | void x_change_tool_bar_height (struct frame *f, int); |
| 3454 | 3454 | ||
| 3455 | /* The frame used to display a tooltip. | ||
| 3456 | |||
| 3457 | Note: In a GTK build with non-zero x_gtk_use_system_tooltips, this | ||
| 3458 | variable holds the frame that shows the tooltip, not the frame of | ||
| 3459 | the tooltip itself, so checking whether a frame is a tooltip frame | ||
| 3460 | cannot just compare the frame to what this variable holds. */ | ||
| 3455 | extern Lisp_Object tip_frame; | 3461 | extern Lisp_Object tip_frame; |
| 3462 | |||
| 3456 | extern Window tip_window; | 3463 | extern Window tip_window; |
| 3457 | extern frame_parm_handler x_frame_parm_handlers[]; | 3464 | extern frame_parm_handler x_frame_parm_handlers[]; |
| 3458 | 3465 | ||
diff --git a/src/xdisp.c b/src/xdisp.c index 5fdd39b0c94..4c82737e410 100644 --- a/src/xdisp.c +++ b/src/xdisp.c | |||
| @@ -21132,7 +21132,13 @@ should_produce_line_number (struct it *it) | |||
| 21132 | 21132 | ||
| 21133 | #ifdef HAVE_WINDOW_SYSTEM | 21133 | #ifdef HAVE_WINDOW_SYSTEM |
| 21134 | /* Don't display line number in tooltip frames. */ | 21134 | /* Don't display line number in tooltip frames. */ |
| 21135 | if (FRAMEP (tip_frame) && EQ (WINDOW_FRAME (it->w), tip_frame)) | 21135 | if (FRAMEP (tip_frame) && EQ (WINDOW_FRAME (it->w), tip_frame) |
| 21136 | #ifdef USE_GTK | ||
| 21137 | /* GTK builds store in tip_frame the frame that shows the tip, | ||
| 21138 | so we need an additional test. */ | ||
| 21139 | && !NILP (Fframe_parameter (tip_frame, Qtooltip)) | ||
| 21140 | #endif | ||
| 21141 | ) | ||
| 21136 | return false; | 21142 | return false; |
| 21137 | #endif | 21143 | #endif |
| 21138 | 21144 | ||