diff options
author | Sebastian Geerken <devnull@localhost> | 2013-08-22 21:19:32 +0200 |
---|---|---|
committer | Sebastian Geerken <devnull@localhost> | 2013-08-22 21:19:32 +0200 |
commit | 72657dd3f3860e2a9b0d6851501a3f8b9d593879 (patch) | |
tree | c80c23c7989587d62bf95f988604b1fac6916b60 /dw/layout.cc | |
parent | e48606662f5f12d2d3fd70ae4b4528aaf5077eab (diff) |
Correctly handling Widget::sizeRequest outside of Layout::resizeIdle.
Diffstat (limited to 'dw/layout.cc')
-rw-r--r-- | dw/layout.cc | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/dw/layout.cc b/dw/layout.cc index 9e667cff..c26ae57b 100644 --- a/dw/layout.cc +++ b/dw/layout.cc @@ -674,11 +674,15 @@ void Layout::resizeIdle () // widget->parent ? "non-" : "", widget->getClassName(), widget, // widget->extremesQueued () ? "yes" : "no"); - widget->setFlags (Widget::NEEDS_RESIZE); - widget->unsetFlags (Widget::RESIZE_QUEUED); + if (widget->resizeQueued ()) { + widget->setFlags (Widget::NEEDS_RESIZE); + widget->unsetFlags (Widget::RESIZE_QUEUED); + } - widget->setFlags (Widget::NEEDS_ALLOCATE); - widget->unsetFlags (Widget::ALLOCATE_QUEUED); + if (widget->allocateQueued ()) { + widget->setFlags (Widget::NEEDS_ALLOCATE); + widget->unsetFlags (Widget::ALLOCATE_QUEUED); + } if (widget->extremesQueued ()) { widget->setFlags (Widget::EXTREMES_CHANGED); |