[Libreoffice-commits] core.git: 2 commits - sfx2/source svx/source sw/source

Markus Mohrhard markus.mohrhard at googlemail.com
Sun Feb 18 20:50:49 UTC 2018


 sfx2/source/dialog/backingcomp.cxx |    4 +++-
 svx/source/dialog/srchdlg.cxx      |    2 ++
 sw/source/uibase/misc/redlndlg.cxx |    2 ++
 3 files changed, 7 insertions(+), 1 deletion(-)

New commits:
commit 76aea63d8055e9bb8d2edc85a739c9a48a7f8d96
Author: Markus Mohrhard <markus.mohrhard at googlemail.com>
Date:   Sun Feb 18 19:03:48 2018 +0100

    uitest: call base class Activate in modeless dialogs
    
    Change-Id: I342e925a5dbc178962f720f1efc9ee001d235718
    Reviewed-on: https://gerrit.libreoffice.org/49941
    Tested-by: Jenkins <ci at libreoffice.org>
    Reviewed-by: Markus Mohrhard <markus.mohrhard at googlemail.com>

diff --git a/svx/source/dialog/srchdlg.cxx b/svx/source/dialog/srchdlg.cxx
index b9075133bad0..6a0701bb1aa0 100644
--- a/svx/source/dialog/srchdlg.cxx
+++ b/svx/source/dialog/srchdlg.cxx
@@ -614,6 +614,8 @@ void SvxSearchDialog::Activate()
         m_pMatchCaseCB->Check( pSearchItem->GetExact() );
         m_pJapMatchFullHalfWidthCB->Check( !pSearchItem->IsMatchFullHalfWidthForms() );
     }
+
+    SfxModelessDialog::Activate();
 }
 
 
diff --git a/sw/source/uibase/misc/redlndlg.cxx b/sw/source/uibase/misc/redlndlg.cxx
index 05a9aa77265f..3ac0dbd537aa 100644
--- a/sw/source/uibase/misc/redlndlg.cxx
+++ b/sw/source/uibase/misc/redlndlg.cxx
@@ -112,10 +112,12 @@ void SwModelessRedlineAcceptDlg::Activate()
         if (!bMod)
             pSh->ResetModified();
         pImplDlg->Init();
+        SfxModelessDialog::Activate();
 
         return;
     }
 
+    SfxModelessDialog::Activate();
     pImplDlg->Activate();
 }
 
commit 3ed222f6497cf6b2b54d90a4de80fe2db9130f59
Author: Markus Mohrhard <markus.mohrhard at googlemail.com>
Date:   Sun Feb 18 18:21:04 2018 +0100

    don't use the global mutex for UI stuff
    
    This leads to deadlocks if one thread is using the process factory
    while holding the SolarMutex and another thread is calling the
    BackingComp::getTypes method.
    
    Change-Id: Ib4750aa1ebbfbf4f8dcd09ec2a218202450f4928
    Reviewed-on: https://gerrit.libreoffice.org/49940
    Tested-by: Jenkins <ci at libreoffice.org>
    Reviewed-by: Markus Mohrhard <markus.mohrhard at googlemail.com>

diff --git a/sfx2/source/dialog/backingcomp.cxx b/sfx2/source/dialog/backingcomp.cxx
index 76086dc404c7..8d4ee36b4dd4 100644
--- a/sfx2/source/dialog/backingcomp.cxx
+++ b/sfx2/source/dialog/backingcomp.cxx
@@ -90,6 +90,8 @@ private:
     /** the owner frame of this component. */
     css::uno::Reference< css::frame::XFrame > m_xFrame;
 
+    osl::Mutex m_aTypeProviderMutex;
+
 public:
 
     explicit BackingComp();
@@ -235,7 +237,7 @@ css::uno::Sequence< css::uno::Type > SAL_CALL BackingComp::getTypes()
     if (!pTypeCollection)
     {
         /* GLOBAL SAFE { */
-        ::osl::MutexGuard aGlobalLock(::osl::Mutex::getGlobalMutex());
+        ::osl::MutexGuard aGlobalLock(m_aTypeProviderMutex);
         // Control these pointer again ... it can be, that another instance will be faster then this one!
         if (!pTypeCollection)
         {


More information about the Libreoffice-commits mailing list