diff options
Diffstat (limited to 'dw/textblock.cc')
-rw-r--r-- | dw/textblock.cc | 24 |
1 files changed, 17 insertions, 7 deletions
diff --git a/dw/textblock.cc b/dw/textblock.cc index d2fb7857..0bf4b08a 100644 --- a/dw/textblock.cc +++ b/dw/textblock.cc @@ -708,12 +708,16 @@ int Textblock::getAvailWidthOfChild (Widget *child, bool forceValue) int width = Widget::getAvailWidthOfChild (child, forceValue); - if (forceValue && this == child->getContainer () && - !mustBeWidenedToAvailWidth ()) { - core::Extremes extremes; - getExtremes (&extremes); - if (width > extremes.maxWidth) - width = extremes.maxWidth; + if (outOfFlowMgr && outOfFlowMgr->dealingWithSizeOfChild (child)) + width = outOfFlowMgr->getAvailWidthOfChild (child, forceValue); + else { + if (forceValue && this == child->getContainer () && + !mustBeWidenedToAvailWidth ()) { + core::Extremes extremes; + getExtremes (&extremes); + if (width > extremes.maxWidth) + width = extremes.maxWidth; + } } DBG_OBJ_MSGF ("resize", 1, "=> %d", width); @@ -721,7 +725,13 @@ int Textblock::getAvailWidthOfChild (Widget *child, bool forceValue) return width; } - +int Textblock::getAvailHeightOfChild (core::Widget *child, bool forceValue) +{ + if (outOfFlowMgr && outOfFlowMgr->dealingWithSizeOfChild (child)) + return outOfFlowMgr->getAvailHeightOfChild (child, forceValue); + else + return Widget::getAvailHeightOfChild (child, forceValue); +} void Textblock::containerSizeChangedForChildren () { |