GNU bug report logs - #20677
tooltips generate garbage

Previous Next

Package: emacs;

Reported by: Angelo Graziosi <angelo.graziosi <at> alice.it>

Date: Wed, 27 May 2015 21:41:06 UTC

Severity: normal

Done: YAMAMOTO Mitsuharu <mituharu <at> math.s.chiba-u.ac.jp>

Bug is archived. No further changes may be made.

Full log


Message #80 received at 20677 <at> debbugs.gnu.org (full text, mbox):

From: YAMAMOTO Mitsuharu <mituharu <at> math.s.chiba-u.ac.jp>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: Michael Heerdegen <michael_heerdegen <at> web.de>, 20677 <at> debbugs.gnu.org,
 angelo.graziosi <at> alice.it
Subject: Re: bug#20677: tooltips generate garbage
Date: Wed, 03 Jun 2015 16:01:04 +0900
>>>>> On Tue, 02 Jun 2015 22:08:59 +0300, Eli Zaretskii <eliz <at> gnu.org> said:

>> > Can you see whether Emacs gets an expose event when the tip pops down?
>> 
>> Sorry, you've found my limit in understanding.  How can check that?

> The function expose_frame (defined in xdisp.c) should be called when
> such an event comes in.

Could those who see this problem try the following patches, one at a
time?

				     YAMAMOTO Mitsuharu
				mituharu <at> math.s.chiba-u.ac.jp

[FIRST]
diff --git a/src/xterm.c b/src/xterm.c
index 25c0d87..691ede5 100644
--- a/src/xterm.c
+++ b/src/xterm.c
@@ -7668,7 +7668,7 @@ handle_one_xevent (struct x_display_info *dpyinfo,
             }
           else
 	    {
-#if defined (USE_GTK) && ! defined (HAVE_GTK3) && ! defined (USE_CAIRO)
+#ifdef USE_GTK
 	      /* This seems to be needed for GTK 2.6 and later, see
 		 http://debbugs.gnu.org/cgi/bugreport.cgi?bug=15398.  */
 	      x_clear_area (f,


[SECOND]
diff --git a/src/xterm.c b/src/xterm.c
index 25c0d87..32d4d3a 100644
--- a/src/xterm.c
+++ b/src/xterm.c
@@ -7668,12 +7668,14 @@ handle_one_xevent (struct x_display_info *dpyinfo,
             }
           else
 	    {
-#if defined (USE_GTK) && ! defined (HAVE_GTK3) && ! defined (USE_CAIRO)
+#ifdef USE_GTK
 	      /* This seems to be needed for GTK 2.6 and later, see
 		 http://debbugs.gnu.org/cgi/bugreport.cgi?bug=15398.  */
-	      x_clear_area (f,
-			    event->xexpose.x, event->xexpose.y,
-			    event->xexpose.width, event->xexpose.height);
+	      x_clear_area1 (event->xexpose.display,
+			     event->xexpose.window,
+			     event->xexpose.x, event->xexpose.y,
+			     event->xexpose.width, event->xexpose.height,
+			     False);
 #endif
 	      expose_frame (f, event->xexpose.x, event->xexpose.y,
 			    event->xexpose.width, event->xexpose.height);




This bug report was last modified 10 years and 48 days ago.

Previous Next


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