Author: jmb
Date: Thu Jun 29 10:55:31 2006
New Revision: 2671
URL:
http://svn.semichrome.net?rev=2671&view=rev
Log:
Fix previous commit; it failed to make available_width include mbp such
that subtracting them after determining the width works in the case
where available_width > box->min_width.
Modified:
trunk/netsurf/render/layout.c
Modified: trunk/netsurf/render/layout.c
URL:
http://svn.semichrome.net/trunk/netsurf/render/layout.c?rev=2671&r1=2...
==============================================================================
--- trunk/netsurf/render/layout.c (original)
+++ trunk/netsurf/render/layout.c Thu Jun 29 10:55:31 2006
@@ -2481,7 +2481,7 @@
int *margin = box->margin;
int *padding = box->padding;
int *border = box->border;
- int available_width;
+ int available_width = containing_block->width;
int space;
assert(box->type == BOX_BLOCK || box->type == BOX_TABLE);
@@ -2502,13 +2502,11 @@
if (margin[RIGHT] == AUTO)
margin[RIGHT] = 0;
left = 0;
- available_width = containing_block->width -
- margin[LEFT] - border[LEFT] - padding[LEFT] -
- padding[RIGHT] - border[RIGHT] - margin[RIGHT];
+
width = min(max(box->min_width, available_width), box->max_width);
- width -= box->margin[LEFT] + box->border[LEFT] +
- box->padding[LEFT] + box->padding[RIGHT] +
- box->border[RIGHT] + box->margin[RIGHT];
+ width -= box->margin[LEFT] + box->border[LEFT] +
+ box->padding[LEFT] + box->padding[RIGHT] +
+ box->border[RIGHT] + box->margin[RIGHT];
right = containing_block->width -
left -
@@ -2555,10 +2553,6 @@
margin[LEFT] = 0;
if (margin[RIGHT] == AUTO)
margin[RIGHT] = 0;
-
- available_width = containing_block->width -
- margin[LEFT] - border[LEFT] - padding[LEFT] -
- padding[RIGHT] - border[RIGHT] - margin[RIGHT];
if (left == AUTO && width == AUTO && right != AUTO) {
available_width -= right;