emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: address@hidden: Re: redisplay]


From: YAMAMOTO Mitsuharu
Subject: Re: address@hidden: Re: redisplay]
Date: Fri, 27 Apr 2007 17:57:57 +0900
User-agent: Wanderlust/2.14.0 (Africa) SEMI/1.14.6 (Maruoka) FLIM/1.14.8 (Shijō) APEL/10.6 Emacs/22.0.99 (sparc-sun-solaris2.8) MULE/5.0 (SAKAKI)

>>>>> On Thu, 26 Apr 2007 22:58:30 +0200, Stephen Berman <address@hidden> said:

>> Stephen, could try the following patch?  I don't think this is a
>> right fix, but at least we can check if we are sharing the same
>> issue.

> I applied your patch and rebuilt Emacs, and I still see the blank
> frame, though, as I mentioned in my previous followup, I don't see
> the effect as consistently as I had thought and reported in my
> original followup.

Thanks for testing.

>>>>> On Tue, 24 Apr 2007 07:50:17 +0900 (JST), YAMAMOTO Mitsuharu 
>>>>> <address@hidden> said:

> To make things work, expose_frame must correctly draw the contents
> most of the time.  But with the experiment of compositing windows, I
> observe that is not always the case even if !FRAME_GARBARGED_P(f) &&
> updated_window != NULL.  It seems to fail to do so after the current
> matrix is updated with try_window_reusing_current_matrix under a
> certain condition, but I haven't figured it out yet.

Though my issue above has turned out to be unrelated to the dialog
one, I think I figured out the problematic case for my issue.

In try_window_reusing_current_matrix (the scroll-down case), `it.vpos'
rows in the current matrix are disabled.  But the scroll-down height
in rows is stored in `nrows_scrolled' and they differ by 1 when the
header line is present.  As a result, the first row of the reused part
is erroneously disabled and the rows below it don't get redrawn by
Expose events.

The following patch seems to work for me.  Could someone check it and
comment on whether it should be installed before the release or not?

                                     YAMAMOTO Mitsuharu
                                address@hidden


Index: src/xdisp.c
===================================================================
RCS file: /cvsroot/emacs/emacs/src/xdisp.c,v
retrieving revision 1.1149
diff -c -p -r1.1149 xdisp.c
*** src/xdisp.c 24 Apr 2007 01:32:41 -0000      1.1149
--- src/xdisp.c 27 Apr 2007 08:37:31 -0000
*************** try_window_reusing_current_matrix (w)
*** 13811,13817 ****
                         nrows_scrolled);
  
          /* Disable lines that must be updated.  */
!         for (i = 0; i < it.vpos; ++i)
            (start_row + i)->enabled_p = 0;
  
          /* Re-compute Y positions.  */
--- 13811,13817 ----
                         nrows_scrolled);
  
          /* Disable lines that must be updated.  */
!         for (i = 0; i < nrows_scrolled; ++i)
            (start_row + i)->enabled_p = 0;
  
          /* Re-compute Y positions.  */




reply via email to

[Prev in Thread] Current Thread [Next in Thread]