[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: address@hidden: Re: mode-line redisplay bug]
From: |
YAMAMOTO Mitsuharu |
Subject: |
Re: address@hidden: Re: mode-line redisplay bug] |
Date: |
Wed, 12 Oct 2005 12:15:37 +0900 |
User-agent: |
Wanderlust/2.14.0 (Africa) SEMI/1.14.6 (Maruoka) FLIM/1.14.6 (Marutamachi) APEL/10.6 Emacs/22.0.50 (sparc-sun-solaris2.8) MULE/5.0 (SAKAKI) |
>>>>> On Wed, 12 Oct 2005 00:43:44 +0200, address@hidden (Kim F. Storm) said:
> I have now fixed some more bugs in the window_from_coordinates
> function which caused some of those problems, and using the "draw
> box" trick, I think I've ironed out the remaning problems -- at
> least for X, so I have installed (a revised version) of my changes,
> including Mitsuharu's changes to macterm.c.
I tried it on Mac, and found that the calculated rectangle on a
mode-line was not correct when it was displayed with a variable-width
font.
YAMAMOTO Mitsuharu
address@hidden
*** xdisp.c.~1.1059.~ Wed Oct 12 09:31:47 2005
--- xdisp.c Wed Oct 12 10:19:31 2005
***************
*** 2059,2067 ****
width = WINDOW_FRAME_COLUMN_WIDTH (w);
height = WINDOW_FRAME_LINE_HEIGHT (w);
- r = MATRIX_FIRST_TEXT_ROW (w->current_matrix);
- end_row = r + w->current_matrix->nrows - 1;
-
if (w->pseudo_window_p)
{
area = TEXT_AREA;
--- 2059,2064 ----
***************
*** 2085,2093 ****
area = TEXT_AREA;
text_glyph:
gr = 0; gy = 0;
! for (; r < end_row && r->enabled_p; ++r)
! if (r->y + r->height > y)
{
gr = r; gy = r->y;
break;
--- 2082,2093 ----
area = TEXT_AREA;
text_glyph:
+ r = MATRIX_HEADER_LINE_ROW (w->current_matrix);
+ end_row = MATRIX_MODE_LINE_ROW (w->current_matrix);
+
gr = 0; gy = 0;
! for (; r <= end_row; ++r)
! if (r->enabled_p && r->y + r->height > y)
{
gr = r; gy = r->y;
break;
***************
*** 2148,2156 ****
width = WINDOW_SCROLL_BAR_AREA_WIDTH (w);
row_glyph:
gr = 0, gy = 0;
! for (; r < end_row && r->enabled_p; ++r)
! if (r->y + r->height > y)
{
gr = r; gy = r->y;
break;
--- 2148,2159 ----
width = WINDOW_SCROLL_BAR_AREA_WIDTH (w);
row_glyph:
+ r = MATRIX_FIRST_TEXT_ROW (w->current_matrix);
+ end_row = MATRIX_BOTTOM_TEXT_ROW (w->current_matrix, w);
+
gr = 0, gy = 0;
! for (; r <= end_row; ++r)
! if (r->enabled_p && r->y + r->height > y)
{
gr = r; gy = r->y;
break;
- Re: address@hidden: Re: mode-line redisplay bug], Jason Rumney, 2005/10/08
- Re: address@hidden: Re: mode-line redisplay bug], mituharu, 2005/10/08
- Re: address@hidden: Re: mode-line redisplay bug], Jan D., 2005/10/09
- Re: address@hidden: Re: mode-line redisplay bug], Jason Rumney, 2005/10/10
- Re: address@hidden: Re: mode-line redisplay bug], Jason Rumney, 2005/10/11
- Re: address@hidden: Re: mode-line redisplay bug], Kim F. Storm, 2005/10/11
- Re: address@hidden: Re: mode-line redisplay bug],
YAMAMOTO Mitsuharu <=
- Re: address@hidden: Re: mode-line redisplay bug], Kim F. Storm, 2005/10/12
- Re: address@hidden: Re: mode-line redisplay bug], YAMAMOTO Mitsuharu, 2005/10/12
- Re: address@hidden: Re: mode-line redisplay bug], Kim F. Storm, 2005/10/12
- Re: address@hidden: Re: mode-line redisplay bug], YAMAMOTO Mitsuharu, 2005/10/12
- Re: address@hidden: Re: mode-line redisplay bug], Jason Rumney, 2005/10/11
- Re: address@hidden: Re: mode-line redisplay bug], Kim F. Storm, 2005/10/11