summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Drake <tlsa@netsurf-browser.org>2010-07-16 17:48:20 +0000
committerMichael Drake <tlsa@netsurf-browser.org>2010-07-16 17:48:20 +0000
commit17aacbec023d9cae25071a92187c01c46b5489ba (patch)
tree1ab8cf431cbdc2bb7336d9a3668cf744050408d9
parenta29e3702beec0288ac8745a8a2a35735272bcf6a (diff)
downloadnetsurf-17aacbec023d9cae25071a92187c01c46b5489ba.tar.gz
netsurf-17aacbec023d9cae25071a92187c01c46b5489ba.tar.bz2
Record left and right float boxes with negative widths. Fixes overlapping text on new BBC News site.
svn path=/trunk/netsurf/; revision=10648
-rw-r--r--render/layout.c13
1 files changed, 5 insertions, 8 deletions
diff --git a/render/layout.c b/render/layout.c
index 80cd4fae1..93ac2503e 100644
--- a/render/layout.c
+++ b/render/layout.c
@@ -2286,16 +2286,14 @@ bool layout_line(struct box *first, int *width, int *y,
* Float affects current line */
if (b->type == BOX_FLOAT_LEFT) {
b->x = cx + x0;
- if (b->width > 0) {
+ if (b->width > 0)
x0 += b->width;
- left = b;
- }
+ left = b;
} else {
b->x = cx + x1 - b->width;
- if (b->width > 0) {
+ if (b->width > 0)
x1 -= b->width;
- right = b;
- }
+ right = b;
}
b->y = cy;
} else {
@@ -2306,8 +2304,7 @@ bool layout_line(struct box *first, int *width, int *y,
fy = (fy > fcy) ? fy : fcy;
fy = (fy == cy) ? fy + height : fy;
- place_float_below(b, *width,
- cx, fy, cont);
+ place_float_below(b, *width, cx, fy, cont);
fy = b->y;
if (d->style && css_computed_clear(d->style) !=
CSS_CLEAR_NONE) {