[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