summaryrefslogtreecommitdiffstats
path: root/sw/source/ui/fldui/flddb.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'sw/source/ui/fldui/flddb.cxx')
-rw-r--r--sw/source/ui/fldui/flddb.cxx12
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);
}