extensions/source/propctrlr/standardcontrol.cxx | 3 +-- extensions/source/propctrlr/standardcontrol.hxx | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-)
New commits: commit ff59cba2922f0f7e1c45e01c3f08616f6771f057 Author: Jan-Marek Glogowski <jan-marek.glogow...@extern.cib.de> AuthorDate: Tue Feb 25 09:50:48 2020 +0100 Commit: Thorsten Behrens <thorsten.behr...@cib.de> CommitDate: Wed Mar 11 00:56:41 2020 +0100 tdf#131000 fix stuck combo box property editor If you create a combo box control with a lot of entries, like a large cell range in Calc, LO will take a long time to render that cell content into the small, line-height MultiLineEdit (MLE). This doesn't happen for master, because it contains commit 1efeb17837c22499f00299c033ae59ba3910f7d7 ("weld Property Browser"), which changed the whole dialog and is much too large for a backport. A debugger shows LO is stuck in TextEngine:: CreateLines, which is part of the MLE resize call stack. Checking the master patch, it also replaces the MLE with a mere Edit. And since editing now always happens in the popup, no functionality is lost. So this patch just does just that MLE => Edit replacement for old releases. This results in a much faster visible / usable property editor. For the attached test document with 4000 entries, resize time goes down to 5s instead of minutes. Fun fact: since you can't actually edit that entry in the example bug document, because its content depends on Cell data, all the "work" is basically mood. Change-Id: I7583e0ed1a70765c9f3bd7ff730e920a833bf30b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/89417 Tested-by: Thorsten Behrens <thorsten.behr...@cib.de> Reviewed-by: Thorsten Behrens <thorsten.behr...@cib.de> (cherry picked from commit 3269f4fa5477104fbea363937ec84dfab2f914d9) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/90034 Tested-by: Jenkins diff --git a/extensions/source/propctrlr/standardcontrol.cxx b/extensions/source/propctrlr/standardcontrol.cxx index 948e97278adb..73eb0cfdd5b8 100644 --- a/extensions/source/propctrlr/standardcontrol.cxx +++ b/extensions/source/propctrlr/standardcontrol.cxx @@ -933,11 +933,10 @@ namespace pcr { SetCompoundControl( true ); - m_pImplEdit = VclPtr<MultiLineEdit>::Create( this, WB_TABSTOP | WB_IGNORETAB | WB_NOBORDER | (_nStyle & WB_READONLY) ); + m_pImplEdit = VclPtr<Edit>::Create( this, WB_TABSTOP | WB_IGNORETAB | WB_NOBORDER | (_nStyle & WB_READONLY) ); SetSubEdit( m_pImplEdit ); m_pImplEdit->Show(); - if ( _nStyle & WB_DROPDOWN ) { m_pDropdownButton = VclPtr<PushButton>::Create( this, WB_NOLIGHTBORDER | WB_RECTSTYLE | WB_NOTABSTOP); m_pDropdownButton->SetSymbol(SymbolType::SPIN_DOWN); diff --git a/extensions/source/propctrlr/standardcontrol.hxx b/extensions/source/propctrlr/standardcontrol.hxx index 6da36353c28e..348c8d3ab908 100644 --- a/extensions/source/propctrlr/standardcontrol.hxx +++ b/extensions/source/propctrlr/standardcontrol.hxx @@ -344,7 +344,7 @@ namespace pcr class DropDownEditControl final : public Edit { VclPtr<OMultilineFloatingEdit> m_pFloatingEdit; - VclPtr<MultiLineEdit> m_pImplEdit; + VclPtr<Edit> m_pImplEdit; VclPtr<PushButton> m_pDropdownButton; MultiLineOperationMode m_nOperationMode; bool m_bDropdown : 1; _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits