aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/xdisp.c30
1 files changed, 17 insertions, 13 deletions
diff --git a/src/xdisp.c b/src/xdisp.c
index 1125020341b..038ce5b03b9 100644
--- a/src/xdisp.c
+++ b/src/xdisp.c
@@ -1910,7 +1910,7 @@ get_glyph_string_clip_rects (s, rects, n)
1910 } 1910 }
1911 1911
1912 if ((s->for_overlaps & OVERLAPS_BOTH) == 0 1912 if ((s->for_overlaps & OVERLAPS_BOTH) == 0
1913 || (s->for_overlaps & OVERLAPS_BOTH) == OVERLAPS_BOTH && n == 1) 1913 || ((s->for_overlaps & OVERLAPS_BOTH) == OVERLAPS_BOTH && n == 1))
1914 { 1914 {
1915#ifdef CONVERT_FROM_XRECT 1915#ifdef CONVERT_FROM_XRECT
1916 CONVERT_FROM_XRECT (r, *rects); 1916 CONVERT_FROM_XRECT (r, *rects);
@@ -1936,23 +1936,27 @@ get_glyph_string_clip_rects (s, rects, n)
1936 { 1936 {
1937 rs[i] = r; 1937 rs[i] = r;
1938 if (r.y + r.height > row_y) 1938 if (r.y + r.height > row_y)
1939 if (r.y < row_y) 1939 {
1940 rs[i].height = row_y - r.y; 1940 if (r.y < row_y)
1941 else 1941 rs[i].height = row_y - r.y;
1942 rs[i].height = 0; 1942 else
1943 rs[i].height = 0;
1944 }
1943 i++; 1945 i++;
1944 } 1946 }
1945 if (s->for_overlaps & OVERLAPS_SUCC) 1947 if (s->for_overlaps & OVERLAPS_SUCC)
1946 { 1948 {
1947 rs[i] = r; 1949 rs[i] = r;
1948 if (r.y < row_y + s->row->visible_height) 1950 if (r.y < row_y + s->row->visible_height)
1949 if (r.y + r.height > row_y + s->row->visible_height) 1951 {
1950 { 1952 if (r.y + r.height > row_y + s->row->visible_height)
1951 rs[i].y = row_y + s->row->visible_height; 1953 {
1952 rs[i].height = r.y + r.height - rs[i].y; 1954 rs[i].y = row_y + s->row->visible_height;
1953 } 1955 rs[i].height = r.y + r.height - rs[i].y;
1954 else 1956 }
1955 rs[i].height = 0; 1957 else
1958 rs[i].height = 0;
1959 }
1956 i++; 1960 i++;
1957 } 1961 }
1958 1962
@@ -14864,7 +14868,7 @@ dump_glyph_row (row, vpos, glyphs)
14864{ 14868{
14865 if (glyphs != 1) 14869 if (glyphs != 1)
14866 { 14870 {
14867 fprintf (stderr, "Row Start End Used oEI><\\CTZFesm X Y W H V A P\n"); 14871 fprintf (stderr, "Row Start End Used oE><\\CTZFesm X Y W H V A P\n");
14868 fprintf (stderr, "======================================================================\n"); 14872 fprintf (stderr, "======================================================================\n");
14869 14873
14870 fprintf (stderr, "%3d %5d %5d %4d %1.1d%1.1d%1.1d%1.1d\ 14874 fprintf (stderr, "%3d %5d %5d %4d %1.1d%1.1d%1.1d%1.1d\