summaryrefslogtreecommitdiff
path: root/sw
diff options
context:
space:
mode:
authorBjoern Michaelsen <bjoern.michaelsen@libreoffice.org>2020-03-07 17:08:17 +0100
committerBjörn Michaelsen <bjoern.michaelsen@libreoffice.org>2020-03-10 08:17:57 +0100
commita2f3c4b7a40acd28eba313730bed8b2474165970 (patch)
treeba8b79a969c8ec648920f37acdf763b4ede46f03 /sw
parentb546a7a461fd09d93e9b427b771353be9066720f (diff)
SwDoc::GetDBDesc(): SwIterator no more ...
Change-Id: I1ed505d07cd8b96ac7f683846ef2053077792a12 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/90172 Tested-by: Jenkins Reviewed-by: Björn Michaelsen <bjoern.michaelsen@libreoffice.org>
Diffstat (limited to 'sw')
-rw-r--r--sw/source/core/doc/docfld.cxx17
1 files changed, 7 insertions, 10 deletions
diff --git a/sw/source/core/doc/docfld.cxx b/sw/source/core/doc/docfld.cxx
index 16acdec86cfa..36d7f5118def 100644
--- a/sw/source/core/doc/docfld.cxx
+++ b/sw/source/core/doc/docfld.cxx
@@ -363,17 +363,14 @@ const SwDBData& SwDoc::GetDBDesc()
case SwFieldIds::DbNumSet:
case SwFieldIds::DbSetNumber:
{
- SwIterator<SwFormatField,SwFieldType> aIter( rFieldType );
- for( SwFormatField* pField = aIter.First(); pField; pField = aIter.Next() )
+ std::vector<SwFormatField*> vFields;
+ rFieldType.GatherFields(vFields);
+ if(vFields.size())
{
- if(pField->IsFieldInDoc())
- {
- if(SwFieldIds::Database == nWhich)
- maDBData = static_cast < SwDBFieldType * > (pField->GetField()->GetTyp())->GetDBData();
- else
- maDBData = static_cast < SwDBNameInfField* > (pField->GetField())->GetRealDBData();
- break;
- }
+ if(SwFieldIds::Database == nWhich)
+ maDBData = static_cast<SwDBFieldType*>(vFields.front()->GetField()->GetTyp())->GetDBData();
+ else
+ maDBData = static_cast<SwDBNameInfField*> (vFields.front()->GetField())->GetRealDBData();
}
}
break;