[project @ 2003-07-08 18:49:14 by bursa]

Table span fixes.

svn path=/import/netsurf/; revision=211
This commit is contained in:
James Bursa 2003-07-08 18:49:14 +00:00
parent 133c3ee759
commit fc493927d4
2 changed files with 10 additions and 5 deletions

View File

@ -1170,10 +1170,8 @@ void box_normalise_table_row(struct box *row,
} }
/* skip columns with cells spanning from above */ /* skip columns with cells spanning from above */
while ((*row_span)[columns] != 0) { while ((*row_span)[columns] != 0)
(*row_span)[columns]--;
columns++; columns++;
}
cell->start_column = columns; cell->start_column = columns;
if (*table_columns < columns + cell->columns) { if (*table_columns < columns + cell->columns) {
*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 */ (*row_span)[*table_columns] = 0; /* sentinel */
} }
for (i = 0; i != cell->columns; i++) for (i = 0; i != cell->columns; i++)
(*row_span)[columns + i] = cell->rows - 1; (*row_span)[columns + i] = cell->rows;
columns += cell->columns; 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 */ /* if all columns have a rowspan, shrink it to the lowest equivalent */
min = (*row_span)[0]; min = (*row_span)[0];
for (i = 1; i != *table_columns; i++) for (i = 1; i != *table_columns; i++)

View File

@ -704,7 +704,10 @@ void layout_table(struct box * table, unsigned long width, struct box * cont,
c->height = 0; c->height = 0;
} }
for (i = 0; i != columns; i++) for (i = 0; i != columns; i++)
if (row_span[i] != 0)
row_span[i]--; row_span[i]--;
else
row_span_cell[i] = 0;
/* if all columns have a row span, shrink it to the lowest equivalent */ /* if all columns have a row span, shrink it to the lowest equivalent */
min = row_span[0]; min = row_span[0];
for (i = 1; i != columns; i++) for (i = 1; i != columns; i++)