vcl/source/window/status.cxx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
New commits: commit e14ce86a8cf5d161b36890d03abd6aa6ed5bf490 Author: Miklos Vajna <vmik...@collabora.co.uk> AuthorDate: Fri Aug 10 14:42:48 2018 +0200 Commit: Miklos Vajna <vmik...@collabora.co.uk> CommitDate: Fri Aug 10 16:37:00 2018 +0200 vcl statusbar: store calculated layout in StatusBar::SetItemText() Otherwise we calculate the layout of the text multiple times, which is a waste of resources. This effectively reverts commit a4ed3d9a1ffa1b51ba4352a955c950235f099fdc (tdf#115353 Status bar: no cache in settext, 2018-03-01). That seems to be safe, given that I can't reproduce tdf#115353 after this change, and reading through the comments the bug was reported fixed after both the mentioned commit and commit 8d42909cd326cb26d8ba1fb383b5578f820c72ed (tdf#115353 layout fix, 2018-02-23). So either the first one was not necessary, or it just worked around an underlying problem that has been fixed in the meantime. Change-Id: I79c014e9ce41be0c06dae65b5195a23d0d88c2aa Reviewed-on: https://gerrit.libreoffice.org/58830 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmik...@collabora.co.uk> diff --git a/vcl/source/window/status.cxx b/vcl/source/window/status.cxx index 769e43e7b0c9..2d58e68d9752 100644 --- a/vcl/source/window/status.cxx +++ b/vcl/source/window/status.cxx @@ -1192,8 +1192,8 @@ void StatusBar::SetItemText( sal_uInt16 nItemId, const OUString& rText ) std::unique_ptr<SalLayout> pSalLayout = ImplLayout(pItem->maText,0,-1); long nWidth = GetTextWidth( pItem->maText,0,-1,nullptr,pSalLayout.get() ) + nFudge; - // Invalidate cache. - pItem->mxLayoutCache.reset(); + // Store the calculated layout. + pItem->mxLayoutCache = std::move(pSalLayout); if( (nWidth > pItem->mnWidth + STATUSBAR_OFFSET) || ((nWidth < pItem->mnWidth) && (mnDX - STATUSBAR_OFFSET) < mnItemsWidth )) _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits