From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.bugs Subject: bug#20677: tooltips generate garbage Date: Tue, 02 Jun 2015 19:02:23 +0300 Message-ID: <83bngyrtdc.fsf@gnu.org> References: <556639D1.1030702@alice.it> <83iobdxvzi.fsf@gnu.org> <556C462E.5050906@alice.it> <83a8wjts15.fsf@gnu.org> <556C812C.4030901@alice.it> <83zj4js8nz.fsf@gnu.org> <556CD4EB.8080602@alice.it> <83oakysuu4.fsf@gnu.org> <556D7608.4070006@alice.it> <556D78C6.5070309@alice.it> <83k2vmrwdx.fsf@gnu.org> <876176qg7o.fsf@web.de> Reply-To: Eli Zaretskii NNTP-Posting-Host: plane.gmane.org X-Trace: ger.gmane.org 1433261070 25898 80.91.229.3 (2 Jun 2015 16:04:30 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Tue, 2 Jun 2015 16:04:30 +0000 (UTC) Cc: 20677@debbugs.gnu.org, angelo.graziosi@alice.it To: Michael Heerdegen Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Tue Jun 02 18:04:15 2015 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1Yzofl-0000g0-L1 for geb-bug-gnu-emacs@m.gmane.org; Tue, 02 Jun 2015 18:04:13 +0200 Original-Received: from localhost ([::1]:59568 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Yzofl-00028J-5d for geb-bug-gnu-emacs@m.gmane.org; Tue, 02 Jun 2015 12:04:13 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:59533) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Yzofg-000248-5V for bug-gnu-emacs@gnu.org; Tue, 02 Jun 2015 12:04:09 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Yzofb-0005yX-2z for bug-gnu-emacs@gnu.org; Tue, 02 Jun 2015 12:04:08 -0400 Original-Received: from debbugs.gnu.org ([140.186.70.43]:56036) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Yzofb-0005yL-0V for bug-gnu-emacs@gnu.org; Tue, 02 Jun 2015 12:04:03 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.80) (envelope-from ) id 1Yzofa-0004mM-A0 for bug-gnu-emacs@gnu.org; Tue, 02 Jun 2015 12:04:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 02 Jun 2015 16:04:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 20677 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: Original-Received: via spool by 20677-submit@debbugs.gnu.org id=B20677.143326099918320 (code B ref 20677); Tue, 02 Jun 2015 16:04:02 +0000 Original-Received: (at 20677) by debbugs.gnu.org; 2 Jun 2015 16:03:19 +0000 Original-Received: from localhost ([127.0.0.1]:37778 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Yzoes-0004lP-Ax for submit@debbugs.gnu.org; Tue, 02 Jun 2015 12:03:18 -0400 Original-Received: from mtaout24.012.net.il ([80.179.55.180]:53097) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Yzoeo-0004l7-K5 for 20677@debbugs.gnu.org; Tue, 02 Jun 2015 12:03:16 -0400 Original-Received: from conversion-daemon.mtaout24.012.net.il by mtaout24.012.net.il (HyperSendmail v2007.08) id <0NPB00000QM5L000@mtaout24.012.net.il> for 20677@debbugs.gnu.org; Tue, 02 Jun 2015 18:54:11 +0300 (IDT) Original-Received: from HOME-C4E4A596F7 ([87.69.4.28]) by mtaout24.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0NPB00MGAQUAU650@mtaout24.012.net.il>; Tue, 02 Jun 2015 18:54:11 +0300 (IDT) In-reply-to: <876176qg7o.fsf@web.de> X-012-Sender: halo1@inter.net.il X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x X-Received-From: 140.186.70.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bugs:103488 Archived-At: > From: Michael Heerdegen > Cc: Angelo Graziosi , 20677@debbugs.gnu.org > Date: Tue, 02 Jun 2015 17:31:55 +0200 > > I see this problem, too. Quickly tested your questions with my > configuration. Thanks. > > Does Emacs clean up the display if you type "M-x redraw-display RET" > > after the tip pops down? > > Yes. > > > What about covering the frame with the tip artifacts with another > > frame, then uncovering it -- does the frame get redrawn automatically, > > and does that remove the artifacts? > > Yes, it does. Switching to another frame also removes the artifacts. > > > Finally, can you try setting x-gtk-use-system-tooltips to nil, and see > > if that makes the problem go away? > > Yes, that helps. OK, so it seems my guess was correct: we don't redraw the portions of display that were obscured by the tooltip. > Reverting 7927a4 as suggested somewhere else in this thread also fixes > the problem for me. I don't understand this. After reverting it, what does "git diff" say about the differences between what you have and current master HEAD? If it's just the diffs below (which is the reverse of what I see if I type "git show 7927a4"), then how can the result work, when x_clear_area now has this signature: void x_clear_area (struct frame *f, int x, int y, int width, int height); IOW, reverting 7927a4 seems to cause us call x_clear_area with a wrong argument list. How does this even compile? What am I missing? diff --git a/src/xfns.c b/src/xfns.c index 5ac58e9..16a568e 100644 --- a/src/xfns.c +++ b/src/xfns.c @@ -1084,7 +1084,8 @@ struct x_display_info * y = FRAME_TOP_MARGIN_HEIGHT (f); block_input (); - x_clear_area (f, 0, y, width, height); + x_clear_area (FRAME_X_DISPLAY (f), FRAME_X_WINDOW (f), + 0, y, width, height); unblock_input (); } @@ -1095,8 +1094,7 @@ struct x_display_info * height = nlines * FRAME_LINE_HEIGHT (f) - y; block_input (); - x_clear_area (f, 0, y, width, height); + x_clear_area (FRAME_X_DISPLAY (f), FRAME_X_WINDOW (f), + 0, y, width, height); unblock_input (); }