diff options
| author | Peter Penz <[email protected]> | 2012-02-05 19:14:17 +0100 |
|---|---|---|
| committer | Peter Penz <[email protected]> | 2012-02-05 19:22:34 +0100 |
| commit | 7af39fb960352e0504153c627db0615d80758ebe (patch) | |
| tree | 93427542fb54d7ea854d82d09b72a3ddc7b5b8bb /src/kitemviews/kitemlistcontainer.h | |
| parent | d0933155e2dc179cde49b4306ff7feee9ca47697 (diff) | |
Fix potential endless loop in layout
Usecase:
- No scrollbar is shown
- Window size will be decreased so that a scrollbar gets necessary
The decreased window size minus the space required for the scrollbar
results in a relayout of the items. In 99 % of all
cases a decreased window size won't result in showing more items in parallel in
comparison to a larger window size. However in the remaining 1 % this can
happen (e.g. see bug 293318 for a sample). This results in an endless loop as
now no scrollbar is required anymore, the layout changes again, the scrollbar
is required again, ...
BUG: 293318
FIXED-IN: 4.8.1
Diffstat (limited to 'src/kitemviews/kitemlistcontainer.h')
| -rw-r--r-- | src/kitemviews/kitemlistcontainer.h | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/kitemviews/kitemlistcontainer.h b/src/kitemviews/kitemlistcontainer.h index 4d6eadbbb..b41f48a7f 100644 --- a/src/kitemviews/kitemlistcontainer.h +++ b/src/kitemviews/kitemlistcontainer.h @@ -70,6 +70,13 @@ private: void updateGeometries(); void updateSmoothScrollers(Qt::Orientation orientation); + /** + * Helper method for updateScrollOffsetScrollBar(). Updates the scrollbar-policy + * to Qt::ScrollBarAlwaysOn for cases where turning off the scrollbar might lead + * to an endless layout loop (see bug #293318). + */ + void updateScrollOffsetScrollBarPolicy(); + private: KItemListController* m_controller; |
