summaryrefslogtreecommitdiff
path: root/render
diff options
context:
space:
mode:
authorJames Bursa <james@netsurf-browser.org>2003-07-07 20:30:51 +0000
committerJames Bursa <james@netsurf-browser.org>2003-07-07 20:30:51 +0000
commit1244e1069ebf85d77c3dde78e48016db41ddb918 (patch)
tree7506a19498c9d9aba3b408e0cad9e951fd94c544 /render
parentb5606d8f61d3da51302c7acd81ceaa1c236a04b6 (diff)
downloadnetsurf-1244e1069ebf85d77c3dde78e48016db41ddb918.tar.gz
netsurf-1244e1069ebf85d77c3dde78e48016db41ddb918.tar.bz2
[project @ 2003-07-07 20:30:51 by bursa]
Fix some rowspan bugs. svn path=/import/netsurf/; revision=208
Diffstat (limited to 'render')
-rw-r--r--render/layout.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/render/layout.c b/render/layout.c
index 4a8bcd386..7e1349c69 100644
--- a/render/layout.c
+++ b/render/layout.c
@@ -674,7 +674,7 @@ void layout_table(struct box * table, unsigned long width, struct box * cont,
excess_y[i] = 0;
row_span_cell[i] = 0;
}
-
+
/* position cells */
for (row_group = table->children; row_group != 0; row_group = row_group->next) {
unsigned long row_group_height = 0;
@@ -717,13 +717,14 @@ void layout_table(struct box * table, unsigned long width, struct box * cont,
if (row_span[i] == 0 && row_height < excess_y[i])
row_height = excess_y[i];
for (i = 0; i != columns; i++) {
- excess_y[i] -= row_height;
+ if (row_height < excess_y[i])
+ excess_y[i] -= row_height;
+ else
+ excess_y[i] = 0;
if (row_span_cell[i] != 0)
row_span_cell[i]->height += row_height;
}
- /*for (c = row->children; c != 0; c = c->next)
- c->height = row_height;*/
row->x = 0;
row->y = row_group_height;
row->width = table_width;