diff --git a/indra/newview/llfolderview.cpp b/indra/newview/llfolderview.cpp index 6461a5525e3eb52a80fa5b778b6a262c9a5496fe..9cfb25f207414490d7fb5e21869de2e549768398 100644 --- a/indra/newview/llfolderview.cpp +++ b/indra/newview/llfolderview.cpp @@ -181,6 +181,7 @@ LLFolderView::Params::Params() // Default constructor LLFolderView::LLFolderView(const Params& p) : LLFolderViewFolder(p), + mRunningHeight(0), mScrollContainer( NULL ), mPopupMenuHandle(), mAllowMultiSelect(p.allow_multiselect), @@ -479,6 +480,7 @@ S32 LLFolderView::arrange( S32* unused_width, S32* unused_height, S32 filter_gen target_height = running_height; } + mRunningHeight = running_height; LLRect scroll_rect = mScrollContainer->getContentWindowRect(); reshape( llmax(scroll_rect.getWidth(), total_width), running_height ); @@ -524,10 +526,11 @@ void LLFolderView::reshape(S32 width, S32 height, BOOL called_from_parent) LLRect scroll_rect; if (mScrollContainer) { + LLView::reshape(width, height, called_from_parent); scroll_rect = mScrollContainer->getContentWindowRect(); } width = llmax(mMinWidth, scroll_rect.getWidth()); - height = llmax(height, scroll_rect.getHeight()); + height = llmax(mRunningHeight, scroll_rect.getHeight()); // restrict width with scroll container's width if (mUseEllipses) diff --git a/indra/newview/llfolderview.h b/indra/newview/llfolderview.h index 705a76a7b4e361e162fb2dd173c808157a0159af..8af01e9102b8667e386527a1e59ef207b9a59e7d 100644 --- a/indra/newview/llfolderview.h +++ b/indra/newview/llfolderview.h @@ -314,6 +314,7 @@ class LLFolderView : public LLFolderViewFolder, public LLEditMenuHandler signal_t mReshapeSignal; S32 mSignalSelectCallback; S32 mMinWidth; + S32 mRunningHeight; std::map<LLUUID, LLFolderViewItem*> mItemMap; BOOL mDragAndDropThisFrame;