[Libreoffice-commits] core.git: Branch 'libreoffice-5-4' - svtools/source
Caolán McNamara
caolanm at redhat.com
Mon Jul 17 10:32:19 UTC 2017
svtools/source/contnr/svlbitm.cxx | 20 +-------------------
1 file changed, 1 insertion(+), 19 deletions(-)
New commits:
commit 3e23f7b4a418793846cf6cef602d2558ed5ccb6e
Author: Caolán McNamara <caolanm at redhat.com>
Date: Fri Jul 14 14:22:06 2017 +0100
Resolves: tdf#99071 tree view shows odd text widths when > 100 lines
reverts
commit 62ea355b2679073b8ee326df5793231996136da9
Date: Thu Dec 12 09:55:35 2013 +0100
fdo#72125: GetTextWidth() can get very expensive.
Let's just count an approximate width using a cached value when we have too
many entries.
The expert dialog got fixed by not populating it with all options on load
and instead by incremental disclosure as the users searches/expands it so
this optimization effort isn't needed
in the meantime there was another problem the above papered over with
commit b4bbb5e5d7b31caad2fbcc00382ad27df3c81001
Date: Sun May 17 22:56:46 2015 +0900
refactor how font, fg. and bg. are applied in widgets/controls
which was fixed (hopefully) in the previous commit
Change-Id: I8383d9cd7a9983a85c7f3acec0281d984c44f9e7
Reviewed-on: https://gerrit.libreoffice.org/39983
Tested-by: Jenkins <ci at libreoffice.org>
Reviewed-by: Miklos Vajna <vmiklos at collabora.co.uk>
diff --git a/svtools/source/contnr/svlbitm.cxx b/svtools/source/contnr/svlbitm.cxx
index f520b747a8c1..b36b119fdfed 100644
--- a/svtools/source/contnr/svlbitm.cxx
+++ b/svtools/source/contnr/svlbitm.cxx
@@ -216,25 +216,7 @@ void SvLBoxString::InitViewData(
{
if( !pViewData )
pViewData = pView->GetViewDataItem( pEntry, this );
-
- // fdo#72125: GetTextWidth() can get very expensive; let's just count
- // an approximate width using a cached value when we have many entries
- long nTextWidth;
- if (pView->GetEntryCount() > 100)
- {
- static SvTreeListBox *s_pPreviousView = nullptr;
- static float s_fApproximateCharWidth = 0.0;
- if (s_pPreviousView != pView)
- {
- s_pPreviousView = pView;
- s_fApproximateCharWidth = pView->approximate_char_width();
- }
- nTextWidth = maText.getLength() * s_fApproximateCharWidth;
- }
- else
- nTextWidth = pView->GetTextWidth(maText);
-
- pViewData->maSize = Size(nTextWidth, pView->GetTextHeight());
+ pViewData->maSize = Size(pView->GetTextWidth(maText), pView->GetTextHeight());
}
// ***************************************************************
More information about the Libreoffice-commits
mailing list