GNU bug report logs - #27647
26.0.50; Line numbers implemented natively disappear momentarily when frame out of focus

Previous Next

Package: emacs;

Reported by: Kaushal Modi <kaushal.modi <at> gmail.com>

Date: Mon, 10 Jul 2017 20:55:02 UTC

Severity: normal

Tags: patch

Found in version 26.0.50

Done: Eli Zaretskii <eliz <at> gnu.org>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Romanos Skiadas <rom.skiad <at> gmail.com>
To: Eli Zaretskii <eliz <at> gnu.org>, Noam Postavsky <npostavs <at> users.sourceforge.net>
Cc: 27647 <at> debbugs.gnu.org, agrambot <at> gmail.com, kaushal.modi <at> gmail.com
Subject: bug#27647: 26.0.50; Line numbers implemented natively disappear momentarily when frame out of focus
Date: Thu, 9 Nov 2017 18:14:30 +0000
Work for me, thanks everyone for figuring this out and fixing it.

Best,

Romanos

> I propose a slightly different patch below; could you try it?
>
> diff --git a/src/dispextern.h b/src/dispextern.h
> index 2f55d8c..430afbf 100644
> --- a/src/dispextern.h
> +++ b/src/dispextern.h
> @@ -3452,7 +3452,14 @@ void gamma_correct (struct frame *, COLORREF *);
>   void x_implicitly_set_name (struct frame *, Lisp_Object, Lisp_Object);
>   void x_change_tool_bar_height (struct frame *f, int);
>   
> +/* The frame used to display a tooltip.
> +
> +   Note: In a GTK build with non-zero x_gtk_use_system_tooltips, this
> +   variable holds the frame that shows the tooltip, not the frame of
> +   the tooltip itself, so checking whether a frame is a tooltip frame
> +   cannot just compare the frame to what this variable holds.  */
>   extern Lisp_Object tip_frame;
> +
>   extern Window tip_window;
>   extern frame_parm_handler x_frame_parm_handlers[];
>   
> diff --git a/src/xdisp.c b/src/xdisp.c
> index 69b74dc..d4a0261 100644
> --- a/src/xdisp.c
> +++ b/src/xdisp.c
> @@ -21126,7 +21126,13 @@ should_produce_line_number (struct it *it)
>   
>   #ifdef HAVE_WINDOW_SYSTEM
>     /* Don't display line number in tooltip frames.  */
> -  if (FRAMEP (tip_frame) && EQ (WINDOW_FRAME (it->w), tip_frame))
> +  if (FRAMEP (tip_frame) && EQ (WINDOW_FRAME (it->w), tip_frame)
> +#ifdef USE_GTK
> +      /* GTK builds store in tip_frame the frame that shows the tip,
> +	 so we need an additional test.  */
> +      && !NILP (Fframe_parameter (tip_frame, Qtooltip))
> +#endif
> +      )
>       return false;
>   #endif
>   
>
>
>





This bug report was last modified 7 years and 242 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.