diff options
-rw-r--r-- | dw/ooffloatsmgr.cc | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/dw/ooffloatsmgr.cc b/dw/ooffloatsmgr.cc index bbc03709..b7a4c8bc 100644 --- a/dw/ooffloatsmgr.cc +++ b/dw/ooffloatsmgr.cc @@ -1812,7 +1812,7 @@ void OOFFloatsMgr::getSize (Requisition *cbReq, int *oofWidth, int *oofHeight) // block, not its *margin* area (which is equivalent to the // requisition / allocation). For this reason, boxRestWidth() and // boxRestHeight() are added here. - + *oofWidth = max (oofWidthtLeft, oofWidthRight) + container->boxRestWidth (); *oofHeight = @@ -1845,6 +1845,12 @@ void OOFFloatsMgr::getFloatsSize (Requisition *cbReq, Side side, int *width, "float %p has generator %p (container is %p)", vloat->getWidget (), vloat->generatingBlock, container); + // BTW: as opposed to positioned elements, those floats which + // are not generated by the container, or not yet allocated, and + // so not considered here, need not be considered later; since + // the relevant cases will trigger a call to borderChanged after + // a positive hasRelationChanged test. + if (vloat->generatingBlock == container || wasAllocated (vloat->generatingBlock)) { ensureFloatSize (vloat); |