diff options
author | Merov Linden <merov@lindenlab.com> | 2012-01-27 18:40:23 -0800 |
---|---|---|
committer | Merov Linden <merov@lindenlab.com> | 2012-01-27 18:40:23 -0800 |
commit | 2cd7a7550991df90288aa4c7e2fbe2598cc3c296 (patch) | |
tree | 4d52669e4051ee7abc51166971c811f789e30823 /indra/llui/llscrollcontainer.cpp | |
parent | ae952f2d45265baa4780de6d4a54e27b5e21ece5 (diff) |
EXP-1747, EXP-1152 : Fixed visual glitches in computation of visible width in inventory.
Diffstat (limited to 'indra/llui/llscrollcontainer.cpp')
-rw-r--r-- | indra/llui/llscrollcontainer.cpp | 18 |
1 files changed, 8 insertions, 10 deletions
diff --git a/indra/llui/llscrollcontainer.cpp b/indra/llui/llscrollcontainer.cpp index ad4cc20d9a..20bed050ad 100644 --- a/indra/llui/llscrollcontainer.cpp +++ b/indra/llui/llscrollcontainer.cpp @@ -378,23 +378,21 @@ void LLScrollContainer::calcVisibleSize( S32 *visible_width, S32 *visible_height if (!mHideScrollbar) { - if( *visible_height < doc_height ) + // Note: 1 pixel change can happen on final animation and should not trigger + // the display of sliders. + if ((doc_height - *visible_height) > 1) { *show_v_scrollbar = TRUE; *visible_width -= scrollbar_size; } - - if( *visible_width < doc_width ) + if ((doc_width - *visible_width) > 1) { *show_h_scrollbar = TRUE; *visible_height -= scrollbar_size; - - // Must retest now that visible_height has changed - if( !*show_v_scrollbar && (*visible_height < doc_height) ) - { - *show_v_scrollbar = TRUE; - *visible_width -= scrollbar_size; - } + // Note: Do *not* recompute *show_v_scrollbar here because with + // the (- scrollbar_size) we just did we will always add a vertical scrollbar + // even if the height of the items is actually less than the visible size. + // Fear not though: there's enough calcVisibleSize() calls to add a vertical slider later. } } } |