diff options
author | Sebastian Geerken <devnull@localhost> | 2014-09-10 12:26:44 +0200 |
---|---|---|
committer | Sebastian Geerken <devnull@localhost> | 2014-09-10 12:26:44 +0200 |
commit | 5b50f9e319263a730843be1aae5dfd7c549e1622 (patch) | |
tree | ec0ce2e00c11e7d6d95d187f5002219bb1b9296f /dw/widget.cc | |
parent | 02a6942a42619ad31ae0ea0b2f8b4f6e17ae3272 (diff) | |
parent | afe572a3dcac774dd90684f1328dd480bfe7db97 (diff) |
Merge with main repo.
Diffstat (limited to 'dw/widget.cc')
-rw-r--r-- | dw/widget.cc | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/dw/widget.cc b/dw/widget.cc index e2da20ad..68875158 100644 --- a/dw/widget.cc +++ b/dw/widget.cc @@ -761,6 +761,9 @@ void Widget::correctExtremes (Extremes *extremes) DBG_OBJ_MSG_END (); } + if (extremes->maxWidth < extremes->minWidth) + extremes->maxWidth = extremes->minWidth; + DBG_OBJ_MSGF ("resize", 1, "=> %d / %d", extremes->minWidth, extremes->maxWidth); DBG_OBJ_LEAVE (); @@ -826,12 +829,12 @@ void Widget::calcFinalWidth (style::Style *style, int refWidth, if (width != -1) *finalWidth = width; - if (minWidth != -1 && (*finalWidth == -1 || *finalWidth < minWidth)) + if (minWidth != -1 && *finalWidth != -1 && *finalWidth < minWidth) *finalWidth = minWidth; - if (maxWidth != -1 && (*finalWidth == -1 || *finalWidth > maxWidth)) + if (maxWidth != -1 && *finalWidth == -1 && *finalWidth > maxWidth) *finalWidth = maxWidth; - DBG_OBJ_MSGF ("resize", 1, "=> %d", width); + DBG_OBJ_MSGF ("resize", 1, "=> %d", *finalWidth); DBG_OBJ_LEAVE (); } @@ -1435,9 +1438,7 @@ int Widget::getAvailWidthOfChild (Widget *child, bool forceValue) int width; - if (child->getStyle()->width == style::LENGTH_AUTO && - child->getStyle()->minWidth == style::LENGTH_AUTO && - child->getStyle()->maxWidth == style::LENGTH_AUTO) { + if (child->getStyle()->width == style::LENGTH_AUTO) { DBG_OBJ_MSG ("resize", 1, "no specification"); if (forceValue) width = misc::max (getAvailWidth (true) - boxDiffWidth (), 0); |