diff options
Diffstat (limited to 'sw/source/ui/fldui/flddb.cxx')
-rw-r--r-- | sw/source/ui/fldui/flddb.cxx | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/sw/source/ui/fldui/flddb.cxx b/sw/source/ui/fldui/flddb.cxx index 01b9065cd36e..937c2b265c71 100644 --- a/sw/source/ui/fldui/flddb.cxx +++ b/sw/source/ui/fldui/flddb.cxx @@ -299,12 +299,18 @@ void SwFieldDBPage::TypeHdl(const weld::TreeView* pBox) OUString sColumnName; if (nTypeId == SwFieldTypesEnum::Database) { - aData = static_cast<SwDBField*>(GetCurField())->GetDBData(); - sColumnName = static_cast<SwDBFieldType*>(GetCurField()->GetTyp())->GetColumnName(); + if (auto const*const pField = dynamic_cast<SwDBField*>(GetCurField())) + { + aData = pField->GetDBData(); + sColumnName = static_cast<SwDBFieldType*>(GetCurField()->GetTyp())->GetColumnName(); + } } else { - aData = static_cast<SwDBNameInfField*>(GetCurField())->GetDBData(pSh->GetDoc()); + if (auto *const pField = dynamic_cast<SwDBNameInfField*>(GetCurField())) + { + aData = pField->GetDBData(pSh->GetDoc()); + } } m_xDatabaseTLB->Select(aData.sDataSource, aData.sCommand, sColumnName); } |