summaryrefslogtreecommitdiff
path: root/render/table.c
diff options
context:
space:
mode:
authorMichael Drake <tlsa@netsurf-browser.org>2008-04-20 15:49:25 +0000
committerMichael Drake <tlsa@netsurf-browser.org>2008-04-20 15:49:25 +0000
commit05e8696fc444ffd4d39e9b1138e5a99a56a4680e (patch)
tree8c2849fabce4a00e2b93eded8bb393313d1b1f43 /render/table.c
parentc5da2c906ce9161921d6d3145023ee1ef773638e (diff)
downloadnetsurf-05e8696fc444ffd4d39e9b1138e5a99a56a4680e.tar.gz
netsurf-05e8696fc444ffd4d39e9b1138e5a99a56a4680e.tar.bz2
Improve handling of absolutely positioned table cells. Corrects positioning of "Weather" box contents on BBC homepage.
svn path=/trunk/netsurf/; revision=4100
Diffstat (limited to 'render/table.c')
-rw-r--r--render/table.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/render/table.c b/render/table.c
index b2fa4cd53..baa052e87 100644
--- a/render/table.c
+++ b/render/table.c
@@ -67,6 +67,7 @@ bool table_calculate_column_types(struct box *table)
for (i = 0; i != table->columns; i++) {
col[i].type = COLUMN_WIDTH_UNKNOWN;
col[i].width = 0;
+ col[i].positioned = true;
}
/* 1st pass: cells with colspan 1 only */
@@ -80,6 +81,11 @@ bool table_calculate_column_types(struct box *table)
continue;
i = cell->start_column;
+ if (cell->style->position != CSS_POSITION_ABSOLUTE &&
+ cell->style->position != CSS_POSITION_FIXED) {
+ col[i].positioned = false;
+ }
+
/* fixed width takes priority over any other width type */
if (col[i].type != COLUMN_WIDTH_FIXED &&
cell->style->width.width == CSS_WIDTH_LENGTH) {