summaryrefslogtreecommitdiff
path: root/render/box.c
diff options
context:
space:
mode:
authorJames Bursa <james@netsurf-browser.org>2003-07-08 18:49:14 +0000
committerJames Bursa <james@netsurf-browser.org>2003-07-08 18:49:14 +0000
commitfc493927d40a5ad3205e2f08829ffe3f8bb60f7e (patch)
treebd86621dff02ae872811166bbea56235acb9d729 /render/box.c
parent133c3ee759bdc27f661390633064d7554027fbcb (diff)
downloadnetsurf-fc493927d40a5ad3205e2f08829ffe3f8bb60f7e.tar.gz
netsurf-fc493927d40a5ad3205e2f08829ffe3f8bb60f7e.tar.bz2
[project @ 2003-07-08 18:49:14 by bursa]
Table span fixes. svn path=/import/netsurf/; revision=211
Diffstat (limited to 'render/box.c')
-rw-r--r--render/box.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/render/box.c b/render/box.c
index 13480ad2a..dca53b4e9 100644
--- a/render/box.c
+++ b/render/box.c
@@ -1170,10 +1170,8 @@ void box_normalise_table_row(struct box *row,
}
/* skip columns with cells spanning from above */
- while ((*row_span)[columns] != 0) {
- (*row_span)[columns]--;
+ while ((*row_span)[columns] != 0)
columns++;
- }
cell->start_column = columns;
if (*table_columns < columns + cell->columns) {
*table_columns = columns + cell->columns;
@@ -1183,10 +1181,14 @@ void box_normalise_table_row(struct box *row,
(*row_span)[*table_columns] = 0; /* sentinel */
}
for (i = 0; i != cell->columns; i++)
- (*row_span)[columns + i] = cell->rows - 1;
+ (*row_span)[columns + i] = cell->rows;
columns += cell->columns;
}
+ for (i = 0; i != *table_columns; i++)
+ if ((*row_span)[i] != 0)
+ (*row_span)[i]--;
+
/* if all columns have a rowspan, shrink it to the lowest equivalent */
min = (*row_span)[0];
for (i = 1; i != *table_columns; i++)