Anonymous avatar Anonymous committed 96bf77a

sw34bf04: #i117193#: RemovePresentAttrs::operator(): fix crash;
also fix comparison in lcl_CollectHintSpans (in case of multiple hints with
same position)

Comments (0)

Files changed (1)

sw/source/core/txtnode/thints.cxx

         const SwTxtAttr* const pAutoStyle(i_rAttrSpan.second);
         SfxItemIter aIter(m_rAttrSet);
         const SfxPoolItem* pItem(aIter.GetCurItem());
-        while (true)
+        while (pItem)
         {
             const sal_uInt16 nWhich(pItem->Which());
             if (CharFmt::IsItemIncluded(nWhich, pAutoStyle))
             const AttrSpan_t aSpan(*pHint->GetStart(), *pHint->GetEnd());
             o_rSpanMap.insert(AttrSpanMap_t::value_type(aSpan, pHint));
 
-            if (aSpan.first != nLastEnd)
+            // < not != because there may be multiple CHARFMT at same range
+            if (nLastEnd < aSpan.first)
             {
                 // insert dummy span covering the gap
                 o_rSpanMap.insert(AttrSpanMap_t::value_type(
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.