>>>>> On Wed, 12 Oct 2005 00:43:44 +0200, [EMAIL PROTECTED] (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 [EMAIL PROTECTED] *** 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; _______________________________________________ Emacs-devel mailing list Emacs-devel@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-devel