summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Drake <tlsa@netsurf-browser.org>2011-01-09 19:09:30 +0000
committerMichael Drake <tlsa@netsurf-browser.org>2011-01-09 19:09:30 +0000
commit40a034b08fe424ed08e5b9d41b442e5409f3e2f8 (patch)
tree34864068c456adf15c8af9777f05718849d5bedd
parent4f75b67cdd068077c22417d8b78a14be900ff1aa (diff)
downloadnetsurf-40a034b08fe424ed08e5b9d41b442e5409f3e2f8.tar.gz
netsurf-40a034b08fe424ed08e5b9d41b442e5409f3e2f8.tar.bz2
Don't clear floats if there aren't floats to clear.
svn path=/trunk/netsurf/; revision=11270
-rw-r--r--render/layout.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/render/layout.c b/render/layout.c
index 73fa18cca..52f5d1ac2 100644
--- a/render/layout.c
+++ b/render/layout.c
@@ -2315,8 +2315,15 @@ bool layout_line(struct box *first, int *width, int *y,
place_float_below(b, *width, cx, fy, cont);
fy = b->y;
- if (d->style && css_computed_clear(d->style) !=
- CSS_CLEAR_NONE) {
+ if (d->style && (
+ (css_computed_clear(d->style) ==
+ CSS_CLEAR_LEFT && left != 0) ||
+ (css_computed_clear(d->style) ==
+ CSS_CLEAR_RIGHT &&
+ right != 0) ||
+ (css_computed_clear(d->style) ==
+ CSS_CLEAR_BOTH &&
+ (left != 0 || right != 0)))) {
/* to be cleared below existing
* floats */
if (b->type == BOX_FLOAT_LEFT)