From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: =?ISO-8859-1?Q?Jan_Dj=E4rv?= Newsgroups: gmane.emacs.devel Subject: Re: [Stephen.Berman@gmx.net: Re: redisplay] Date: Wed, 25 Apr 2007 20:30:08 +0200 Message-ID: <462F9E30.4000702@swipnet.se> References: <87mz0z5dux.fsf@stupidchicken.com> <462D059B.7020001@swipnet.se> <462F1593.6030601@swipnet.se> <462F6ABA.6030808@swipnet.se> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: quoted-printable X-Trace: sea.gmane.org 1177525844 29668 80.91.229.12 (25 Apr 2007 18:30:44 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Wed, 25 Apr 2007 18:30:44 +0000 (UTC) Cc: Glenn Morris , Chong Yidong , emacs-devel@gnu.org, Stefan Monnier , rms@gnu.org To: =?ISO-8859-1?Q?Jan_Dj=E4rv?= Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Wed Apr 25 20:30:37 2007 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.50) id 1HgmG6-0008Bz-L7 for ged-emacs-devel@m.gmane.org; Wed, 25 Apr 2007 20:30:30 +0200 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1HgmLk-0005qi-Gb for ged-emacs-devel@m.gmane.org; Wed, 25 Apr 2007 14:36:20 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1HgmLg-0005qL-7J for emacs-devel@gnu.org; Wed, 25 Apr 2007 14:36:16 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1HgmLd-0005q9-QK for emacs-devel@gnu.org; Wed, 25 Apr 2007 14:36:14 -0400 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1HgmLd-0005q6-K4 for emacs-devel@gnu.org; Wed, 25 Apr 2007 14:36:13 -0400 Original-Received: from av7-1-sn3.vrr.skanova.net ([81.228.9.181]) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1HgmFx-0007gU-Fv; Wed, 25 Apr 2007 14:30:21 -0400 Original-Received: by av7-1-sn3.vrr.skanova.net (Postfix, from userid 502) id CE937382D9; Wed, 25 Apr 2007 20:29:40 +0200 (CEST) Original-Received: from smtp3-1-sn3.vrr.skanova.net (smtp3-1-sn3.vrr.skanova.net [81.228.9.101]) by av7-1-sn3.vrr.skanova.net (Postfix) with ESMTP id 6AF9C38235; Wed, 25 Apr 2007 20:29:40 +0200 (CEST) Original-Received: from husetbladh.homeip.net (81-235-205-78-no59.tbcn.telia.com [81.235.205.78]) by smtp3-1-sn3.vrr.skanova.net (Postfix) with ESMTP id C361C37E43; Wed, 25 Apr 2007 20:30:18 +0200 (CEST) User-Agent: Thunderbird 1.5.0.10 (X11/20070302) In-Reply-To: <462F6ABA.6030808@swipnet.se> X-detected-kernel: Linux 2.4-2.6 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:70122 Archived-At: Jan Dj=E4rv skrev: >=20 >=20 > Stefan Monnier skrev: >>> 1. SYNC_INPUT. That way we won't get expose events in the middle of= an >>> ongoing redisplay. >> >> Hmm... I've been running with SYNC_INPUT for a long time now, and I'm=20 >> pretty >> sure that I still see those problems. So maybe SYNC_INPUT would allow= to >> write a solution, but it's not a solution in itself. >=20 > Yes, you are right. It would also require to run redisplay directly on= =20 > the Expose event. > After some experimenting it seems that this patch fixes it. Note that a = call=20 to redisplay() does not fix the bug. I don't know why. But a full redis= play=20 before every dialog maybe is too much? diff -w -c src/xmenu.c.~1.317.~ src/xmenu.c Index: src/xmenu.c *** src/xmenu.c.~1.317.~ 2007-01-21 11:33:57.000000000 +0100 --- src/xmenu.c 2007-04-25 20:27:02.000000000 +0200 *************** *** 3333,3338 **** --- 3333,3340 ---- /* No selection has been chosen yet. */ menu_item_selection =3D 0; + Fredisplay (Qt); + /* Actually create and show the dialog. */ create_and_show_dialog (f, first_wv); Jan D.