summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--render/html.c6
-rw-r--r--render/layout.c2
2 files changed, 6 insertions, 2 deletions
diff --git a/render/html.c b/render/html.c
index c2b3e2b11..443d4cd7d 100644
--- a/render/html.c
+++ b/render/html.c
@@ -419,8 +419,10 @@ void html_object_callback(content_msg msg, struct content *object,
b->min_width = object->width;
if (b->max_width < object->width)
b->max_width = object->width;
- for (b = b->parent;
- b != 0 && b->max_width != UNKNOWN_MAX_WIDTH;
+ for (b = b->parent; b != 0 &&
+ (b->type == BOX_TABLE_ROW_GROUP ||
+ b->type == BOX_TABLE_ROW ||
+ b->max_width != UNKNOWN_MAX_WIDTH);
b = b->parent)
b->max_width = UNKNOWN_MAX_WIDTH;
}
diff --git a/render/layout.c b/render/layout.c
index 4e6427b9a..f428ae36d 100644
--- a/render/layout.c
+++ b/render/layout.c
@@ -237,6 +237,8 @@ unsigned long layout_block_children(struct box * box, unsigned long width, struc
c->y = y;
layout_node(c, width, cont, cx, cy + y);
y = c->y + c->height;
+ if (box->width < c->width)
+ box->width = c->width;
}
return y;
}