summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--xmlsecurity/source/dialogs/certificateviewer.cxx8
1 files changed, 6 insertions, 2 deletions
diff --git a/xmlsecurity/source/dialogs/certificateviewer.cxx b/xmlsecurity/source/dialogs/certificateviewer.cxx
index 7361e253c614..7a68d030b25e 100644
--- a/xmlsecurity/source/dialogs/certificateviewer.cxx
+++ b/xmlsecurity/source/dialogs/certificateviewer.cxx
@@ -56,7 +56,10 @@ CertificateViewer::CertificateViewer(
mpTabCtrl->SetTabPage(mnGeneralId, VclPtr<CertificateViewerGeneralTP>::Create( mpTabCtrl, this));
mpTabCtrl->SetTabPage(mnDetailsId, VclPtr<CertificateViewerDetailsTP>::Create( mpTabCtrl, this));
- mpTabCtrl->SetTabPage(mnPathId, VclPtr<CertificateViewerCertPathTP>::Create( mpTabCtrl, this));
+ if (mxSecurityEnvironment->buildCertificatePath(mxCert).getLength() == 0)
+ mpTabCtrl->RemovePage(mnPathId);
+ else
+ mpTabCtrl->SetTabPage(mnPathId, VclPtr<CertificateViewerCertPathTP>::Create( mpTabCtrl, this));
mpTabCtrl->SetCurPageId(mnGeneralId);
}
@@ -69,7 +72,8 @@ void CertificateViewer::dispose()
{
mpTabCtrl->GetTabPage(mnGeneralId)->disposeOnce();
mpTabCtrl->GetTabPage(mnDetailsId)->disposeOnce();
- mpTabCtrl->GetTabPage(mnPathId)->disposeOnce();
+ if (mpTabCtrl->GetTabPage(mnPathId))
+ mpTabCtrl->GetTabPage(mnPathId)->disposeOnce();
mpTabCtrl.clear();
TabDialog::dispose();
}