summaryrefslogtreecommitdiff
path: root/sw
diff options
context:
space:
mode:
authorNoel Grandin <noelgrandin@gmail.com>2021-07-08 15:16:29 +0200
committerNoel Grandin <noel.grandin@collabora.co.uk>2021-07-12 20:21:14 +0200
commit9c57e6b037bb33a6861b3db3084cfb6036b43f3d (patch)
treef9ea8850c97430b5236a11c55fd5357c4b0c4116 /sw
parent2aa0bd6b2c65df1688c59c3c6e1b973711fd1c11 (diff)
try to restore SwpHints::MergePortions...
... logic to how it was trying to work before I started messing with it in commit 568b820bc2d52c007ee08ad7a3849c94a458115d Author: Noel Grandin <noel.grandin@collabora.co.uk> Date: Tue Dec 17 15:11:34 2019 +0200 tdf#119227 fix freeze when copying a large bulleted list freeze goes from 5 seconds to about 1 second for me (1) used unordered_map instead of map (2) don't create temporary SfxItemSet's just to check equality and then I tried to fix that in commit 18e4367c33f327cf09985105bde583cdcc7b2a46 Author: Noel Grandin <noel.grandin@collabora.co.uk> Date: Thu Sep 3 14:40:32 2020 +0200 tdf#132688 diacritics broken in lines with punctuation regression from commit 4b2d4f3c4a68361a6bc03c9ab110ce9376b14b20 tdf#119227 fix freeze when copying a large bulleted list and then Andreas tried some more in commit 003d65ef1305eefb43315f93bdf10cee787f90f0 Author: Andreas Heinisch <andreas.heinisch@yahoo.de> Date: Mon Jul 5 22:32:52 2021 +0200 tdf#140197 - Letter cut off at certain zoom-level regression from commit 4b2d4f3c4a68361a6bc03c9ab110ce9376b14b20 tdf#119227 fix freeze when copying a large bulleted list Change-Id: Id9d04f96ccbe496ed809cf08e7aab25d6464913f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/118643 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/118767
Diffstat (limited to 'sw')
-rw-r--r--sw/source/core/txtnode/thints.cxx10
1 files changed, 3 insertions, 7 deletions
diff --git a/sw/source/core/txtnode/thints.cxx b/sw/source/core/txtnode/thints.cxx
index ba22a7fc418e..6d448885abdb 100644
--- a/sw/source/core/txtnode/thints.cxx
+++ b/sw/source/core/txtnode/thints.cxx
@@ -2929,7 +2929,10 @@ static MergeResult lcl_Compare_Attributes(
if (pItem2->Which() == RES_CHRATR_RSID)
pItem2 = iter2.NextItem();
if (!pItem1 && !pItem2)
+ {
+ eMerge = DIFFER_ONLY_RSID;
break;
+ }
if (!pItem1 || !pItem2)
{
return DIFFER;
@@ -2939,13 +2942,6 @@ static MergeResult lcl_Compare_Attributes(
assert(IsInvalidItem(pItem1) || IsInvalidItem(pItem2) || pItem1->Which() != pItem2->Which() || *pItem1 != *pItem2);
return DIFFER;
}
- if (iter1.IsAtEnd() && iter2.IsAtEnd())
- break;
- if (iter1.IsAtEnd() || iter2.IsAtEnd())
- {
- eMerge = DIFFER_ONLY_RSID;
- break;
- }
}
eMerge = DIFFER_ONLY_RSID;
}