diff options
author | Bjoern Michaelsen <bjoern.michaelsen@libreoffice.org> | 2020-03-07 17:08:17 +0100 |
---|---|---|
committer | Björn Michaelsen <bjoern.michaelsen@libreoffice.org> | 2020-03-10 08:17:57 +0100 |
commit | a2f3c4b7a40acd28eba313730bed8b2474165970 (patch) | |
tree | ba8b79a969c8ec648920f37acdf763b4ede46f03 /sw | |
parent | b546a7a461fd09d93e9b427b771353be9066720f (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.cxx | 17 |
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; |