aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorYAMAMOTO Mitsuharu2005-10-12 09:50:50 +0000
committerYAMAMOTO Mitsuharu2005-10-12 09:50:50 +0000
commit76d8f04c6d9974b985be86694026feaa7f29e965 (patch)
tree48c1cdccc56cf130908a4ebaccd2e558f55f298f /src
parent97b3a2143e3a556ddd42e6d3c2945c32498242f7 (diff)
downloademacs-76d8f04c6d9974b985be86694026feaa7f29e965.tar.gz
emacs-76d8f04c6d9974b985be86694026feaa7f29e965.zip
(remember_mouse_glyph): Use MATRIX_BOTTOM_TEXT_ROW to
get end of text rows. Obtain header-line/mode-line rows directly.
Diffstat (limited to 'src')
-rw-r--r--src/ChangeLog5
-rw-r--r--src/xdisp.c18
2 files changed, 18 insertions, 5 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index d8c93e96754..fef8efe2c12 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,8 @@
12005-10-12 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2
3 * xdisp.c (remember_mouse_glyph): Use MATRIX_BOTTOM_TEXT_ROW to
4 get end of text rows. Obtain header-line/mode-line rows directly.
5
12005-10-12 Kim F. Storm <storm@cua.dk> 62005-10-12 Kim F. Storm <storm@cua.dk>
2 7
3 * xdisp.c (remember_mouse_glyph): New generic version based on 8 * xdisp.c (remember_mouse_glyph): New generic version based on
diff --git a/src/xdisp.c b/src/xdisp.c
index 14757b92c59..de24049d830 100644
--- a/src/xdisp.c
+++ b/src/xdisp.c
@@ -2060,7 +2060,7 @@ remember_mouse_glyph (f, gx, gy, rect)
2060 height = WINDOW_FRAME_LINE_HEIGHT (w); 2060 height = WINDOW_FRAME_LINE_HEIGHT (w);
2061 2061
2062 r = MATRIX_FIRST_TEXT_ROW (w->current_matrix); 2062 r = MATRIX_FIRST_TEXT_ROW (w->current_matrix);
2063 end_row = r + w->current_matrix->nrows - 1; 2063 end_row = MATRIX_BOTTOM_TEXT_ROW (w->current_matrix, w);
2064 2064
2065 if (w->pseudo_window_p) 2065 if (w->pseudo_window_p)
2066 { 2066 {
@@ -2079,20 +2079,28 @@ remember_mouse_glyph (f, gx, gy, rect)
2079 area = RIGHT_MARGIN_AREA; 2079 area = RIGHT_MARGIN_AREA;
2080 goto text_glyph; 2080 goto text_glyph;
2081 2081
2082 case ON_TEXT:
2083 case ON_MODE_LINE:
2084 case ON_HEADER_LINE: 2082 case ON_HEADER_LINE:
2083 case ON_MODE_LINE:
2084 gr = (part == ON_HEADER_LINE
2085 ? MATRIX_HEADER_LINE_ROW (w->current_matrix)
2086 : MATRIX_MODE_LINE_ROW (w->current_matrix));
2087 gy = gr->y;
2088 area = TEXT_AREA;
2089 goto text_glyph_row_found;
2090
2091 case ON_TEXT:
2085 area = TEXT_AREA; 2092 area = TEXT_AREA;
2086 2093
2087 text_glyph: 2094 text_glyph:
2088 gr = 0; gy = 0; 2095 gr = 0; gy = 0;
2089 for (; r < end_row && r->enabled_p; ++r) 2096 for (; r <= end_row && r->enabled_p; ++r)
2090 if (r->y + r->height > y) 2097 if (r->y + r->height > y)
2091 { 2098 {
2092 gr = r; gy = r->y; 2099 gr = r; gy = r->y;
2093 break; 2100 break;
2094 } 2101 }
2095 2102
2103 text_glyph_row_found:
2096 if (gr && gy <= y) 2104 if (gr && gy <= y)
2097 { 2105 {
2098 struct glyph *g = gr->glyphs[area]; 2106 struct glyph *g = gr->glyphs[area];
@@ -2149,7 +2157,7 @@ remember_mouse_glyph (f, gx, gy, rect)
2149 2157
2150 row_glyph: 2158 row_glyph:
2151 gr = 0, gy = 0; 2159 gr = 0, gy = 0;
2152 for (; r < end_row && r->enabled_p; ++r) 2160 for (; r <= end_row && r->enabled_p; ++r)
2153 if (r->y + r->height > y) 2161 if (r->y + r->height > y)
2154 { 2162 {
2155 gr = r; gy = r->y; 2163 gr = r; gy = r->y;