filter/source/pdf/impdialog.cxx |    6 ++++--
 filter/source/pdf/impdialog.hxx |    1 -
 2 files changed, 4 insertions(+), 3 deletions(-)

New commits:
commit 5d9b8c367e70ac0a11f368ea702967ee4e0d5f06
Author:     Caolán McNamara <caol...@redhat.com>
AuthorDate: Mon Nov 21 17:03:00 2022 +0000
Commit:     Caolán McNamara <caol...@redhat.com>
CommitDate: Tue Nov 22 14:13:29 2022 +0100

    tdf#152150 make AccessibilityCheckDialog modal when child of modal pdf 
dialog
    
    Change-Id: If6ff13d17a5ead40d9694ea861dc8946c201147e
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/143044
    Tested-by: Jenkins
    Reviewed-by: Caolán McNamara <caol...@redhat.com>

diff --git a/filter/source/pdf/impdialog.cxx b/filter/source/pdf/impdialog.cxx
index 746302877ae9..16b4b8a00616 100644
--- a/filter/source/pdf/impdialog.cxx
+++ b/filter/source/pdf/impdialog.cxx
@@ -52,7 +52,6 @@ ImpPDFTabDialog::ImpPDFTabDialog(weld::Window* pParent, const 
Sequence< Property
     const Reference< XComponent >& rxDoc)
     : SfxTabDialogController(pParent, "filter/ui/pdfoptionsdialog.ui", 
"PdfOptionsDialog"),
     mrDoc(rxDoc),
-    mpParent(pParent),
     maConfigItem( u"Office.Common/Filter/PDF/Export/", &rFilterData ),
     maConfigI18N( u"Office.Common/I18N/CTL/" ),
     mbIsPresentation( false ),
@@ -319,9 +318,10 @@ IMPL_LINK_NOARG(ImpPDFTabDialog, OkHdl, weld::Button&, 
void)
             if (!aCollection.getIssues().empty())
             {
                 mpAccessibilityCheckDialog = 
std::make_shared<svx::AccessibilityCheckDialog>(
-                    mpParent, aCollection, [pShell]() -> 
sfx::AccessibilityIssueCollection {
+                    m_xDialog.get(), aCollection, [pShell]() -> 
sfx::AccessibilityIssueCollection {
                         return pShell->runAccessibilityCheck();
                     });
+                mpAccessibilityCheckDialog->getDialog()->set_modal(true);
                 weld::DialogController::runAsync(mpAccessibilityCheckDialog, 
[this](sal_Int32 retValue){
                     m_xDialog->response(retValue);
                 });
@@ -348,6 +348,8 @@ ImpPDFTabDialog::~ImpPDFTabDialog()
     maConfigI18N.WriteModifiedConfig();
     if (mpAccessibilityCheckDialog)
     {
+        // restore set_modal to its original state
+        mpAccessibilityCheckDialog->getDialog()->set_modal(false);
         mpAccessibilityCheckDialog->response(RET_CANCEL);
     }
 }
diff --git a/filter/source/pdf/impdialog.hxx b/filter/source/pdf/impdialog.hxx
index 5063f91ee635..9dc97d653e37 100644
--- a/filter/source/pdf/impdialog.hxx
+++ b/filter/source/pdf/impdialog.hxx
@@ -59,7 +59,6 @@ class ImpPDFTabLinksPage;
 class ImpPDFTabDialog final : public SfxTabDialogController
 {
     css::uno::Reference<css::lang::XComponent> mrDoc;
-    weld::Window* mpParent;
 
     FilterConfigItem            maConfigItem;
     FilterConfigItem            maConfigI18N;

Reply via email to