[Libreoffice-commits] core.git: accessibility/source basctl/source include/toolkit l10ntools/source svtools/inc svtools/source svx/source toolkit/source

Arnaud Versini arnaud.versini at gmail.com
Mon Jun 5 11:41:59 UTC 2017


 accessibility/source/extended/accessibletabbarbase.cxx        |    1 
 accessibility/source/standard/accessiblemenubasecomponent.cxx |    1 
 accessibility/source/standard/accessiblemenuitemcomponent.cxx |    1 
 accessibility/source/standard/vclxaccessiblestatusbaritem.cxx |    1 
 accessibility/source/standard/vclxaccessibletabpage.cxx       |    1 
 accessibility/source/standard/vclxaccessibletoolboxitem.cxx   |    1 
 basctl/source/accessibility/accessibledialogcontrolshape.cxx  |    5 ----
 basctl/source/accessibility/accessibledialogwindow.cxx        |    5 ----
 basctl/source/inc/accessibledialogcontrolshape.hxx            |    4 ++-
 basctl/source/inc/accessibledialogwindow.hxx                  |    4 ++-
 include/toolkit/awt/vclxaccessiblecomponent.hxx               |    5 +++-
 include/toolkit/controls/accessiblecontrolcontext.hxx         |    4 ++-
 l10ntools/source/po.cxx                                       |    4 +--
 svtools/inc/vclxaccessibleheaderbaritem.hxx                   |    6 ++++-
 svtools/source/control/vclxaccessibleheaderbaritem.cxx        |    3 --
 svx/source/accessibility/charmapacc.cxx                       |   10 ++-------
 svx/source/inc/charmapacc.hxx                                 |   10 ++++++---
 toolkit/source/awt/vclxaccessiblecomponent.cxx                |   11 ----------
 toolkit/source/controls/accessiblecontrolcontext.cxx          |    3 --
 19 files changed, 35 insertions(+), 45 deletions(-)

New commits:
commit f2d40b8ba172d90be9a43c30cd5cbd62c0e8e548
Author: Arnaud Versini <arnaud.versini at gmail.com>
Date:   Mon Jun 5 12:34:39 2017 +0200

    Remove all allocation of VCLExternalSolarLock.
    
    This patch is graciously offered by Arnaud Versini.
    
    Change-Id: I3ed5e1758d09542a2ca0533e3f4a6ceb2dbb6346
    Reviewed-on: https://gerrit.libreoffice.org/38404
    Reviewed-by: Noel Grandin <noel.grandin at collabora.co.uk>
    Tested-by: Noel Grandin <noel.grandin at collabora.co.uk>

diff --git a/accessibility/source/extended/accessibletabbarbase.cxx b/accessibility/source/extended/accessibletabbarbase.cxx
index fcdc854df87c..12f741869cc4 100644
--- a/accessibility/source/extended/accessibletabbarbase.cxx
+++ b/accessibility/source/extended/accessibletabbarbase.cxx
@@ -21,7 +21,6 @@
 #ifndef ACCESSIBILITY_EXT_ACCESSIBLETABBARPAGELIST
 #include "extended/accessibletabbarpagelist.hxx"
 #endif
-#include <toolkit/helper/externallock.hxx>
 #include <svtools/tabbar.hxx>
 
 
diff --git a/accessibility/source/standard/accessiblemenubasecomponent.cxx b/accessibility/source/standard/accessiblemenubasecomponent.cxx
index eef7d2123a66..b3ee3884958a 100644
--- a/accessibility/source/standard/accessiblemenubasecomponent.cxx
+++ b/accessibility/source/standard/accessiblemenubasecomponent.cxx
@@ -21,7 +21,6 @@
 #include <standard/vclxaccessiblemenu.hxx>
 #include <standard/vclxaccessiblemenuitem.hxx>
 #include <standard/vclxaccessiblemenuseparator.hxx>
-#include <toolkit/helper/externallock.hxx>
 #include <toolkit/helper/convert.hxx>
 
 #include <com/sun/star/accessibility/AccessibleEventId.hpp>
diff --git a/accessibility/source/standard/accessiblemenuitemcomponent.cxx b/accessibility/source/standard/accessiblemenuitemcomponent.cxx
index 98dca6573593..88de3464d633 100644
--- a/accessibility/source/standard/accessiblemenuitemcomponent.cxx
+++ b/accessibility/source/standard/accessiblemenuitemcomponent.cxx
@@ -23,7 +23,6 @@
 #include <helper/accresmgr.hxx>
 #include <helper/accessiblestrings.hrc>
 #include <toolkit/awt/vclxwindows.hxx>
-#include <toolkit/helper/externallock.hxx>
 #include <toolkit/helper/convert.hxx>
 
 #include <com/sun/star/accessibility/AccessibleEventId.hpp>
diff --git a/accessibility/source/standard/vclxaccessiblestatusbaritem.cxx b/accessibility/source/standard/vclxaccessiblestatusbaritem.cxx
index 8bad32538912..3a50c75d980a 100644
--- a/accessibility/source/standard/vclxaccessiblestatusbaritem.cxx
+++ b/accessibility/source/standard/vclxaccessiblestatusbaritem.cxx
@@ -18,7 +18,6 @@
  */
 
 #include <standard/vclxaccessiblestatusbaritem.hxx>
-#include <toolkit/helper/externallock.hxx>
 #include <toolkit/helper/convert.hxx>
 #include <helper/characterattributeshelper.hxx>
 
diff --git a/accessibility/source/standard/vclxaccessibletabpage.cxx b/accessibility/source/standard/vclxaccessibletabpage.cxx
index 7ac0d145661a..954b471dbd90 100644
--- a/accessibility/source/standard/vclxaccessibletabpage.cxx
+++ b/accessibility/source/standard/vclxaccessibletabpage.cxx
@@ -18,7 +18,6 @@
  */
 
 #include <standard/vclxaccessibletabpage.hxx>
-#include <toolkit/helper/externallock.hxx>
 #include <toolkit/helper/convert.hxx>
 #include <helper/characterattributeshelper.hxx>
 
diff --git a/accessibility/source/standard/vclxaccessibletoolboxitem.cxx b/accessibility/source/standard/vclxaccessibletoolboxitem.cxx
index 7d925de69f2c..93e2c82fb010 100644
--- a/accessibility/source/standard/vclxaccessibletoolboxitem.cxx
+++ b/accessibility/source/standard/vclxaccessibletoolboxitem.cxx
@@ -38,7 +38,6 @@
 #include <vcl/help.hxx>
 #include <vcl/settings.hxx>
 #include <toolkit/awt/vclxwindow.hxx>
-#include <toolkit/helper/externallock.hxx>
 #include <unotools/accessiblestatesethelper.hxx>
 #include <unotools/accessiblerelationsethelper.hxx>
 #include <cppuhelper/typeprovider.hxx>
diff --git a/basctl/source/accessibility/accessibledialogcontrolshape.cxx b/basctl/source/accessibility/accessibledialogcontrolshape.cxx
index c56bb1c70ab0..9a69d2d7ff2d 100644
--- a/basctl/source/accessibility/accessibledialogcontrolshape.cxx
+++ b/basctl/source/accessibility/accessibledialogcontrolshape.cxx
@@ -30,7 +30,6 @@
 #include <unotools/accessiblestatesethelper.hxx>
 #include <unotools/accessiblerelationsethelper.hxx>
 #include <toolkit/awt/vclxfont.hxx>
-#include <toolkit/helper/externallock.hxx>
 #include <toolkit/helper/convert.hxx>
 #include <toolkit/helper/vclunohelper.hxx>
 #include <vcl/svapp.hxx>
@@ -51,7 +50,7 @@ using namespace ::comphelper;
 
 
 AccessibleDialogControlShape::AccessibleDialogControlShape (DialogWindow* pDialogWindow, DlgEdObj* pDlgEdObj)
-    :OAccessibleExtendedComponentHelper( new VCLExternalSolarLock )
+    :OAccessibleExtendedComponentHelper( &m_aLock )
     ,m_pDialogWindow( pDialogWindow )
     ,m_pDlgEdObj( pDlgEdObj )
 {
@@ -71,8 +70,6 @@ AccessibleDialogControlShape::~AccessibleDialogControlShape()
 {
     if ( m_xControlModel.is() )
         m_xControlModel->removePropertyChangeListener( OUString(), static_cast< beans::XPropertyChangeListener* >( this ) );
-
-    delete getExternalLock();
 }
 
 
diff --git a/basctl/source/accessibility/accessibledialogwindow.cxx b/basctl/source/accessibility/accessibledialogwindow.cxx
index b44509e0c1c2..1cedd99d61b8 100644
--- a/basctl/source/accessibility/accessibledialogwindow.cxx
+++ b/basctl/source/accessibility/accessibledialogwindow.cxx
@@ -34,7 +34,6 @@
 #include <unotools/accessiblestatesethelper.hxx>
 #include <unotools/accessiblerelationsethelper.hxx>
 #include <toolkit/awt/vclxfont.hxx>
-#include <toolkit/helper/externallock.hxx>
 #include <toolkit/helper/convert.hxx>
 #include <vcl/svapp.hxx>
 #include <vcl/settings.hxx>
@@ -100,7 +99,7 @@ bool AccessibleDialogWindow::ChildDescriptor::operator<( const ChildDescriptor&
 
 
 AccessibleDialogWindow::AccessibleDialogWindow (basctl::DialogWindow* pDialogWindow)
-    : OAccessibleExtendedComponentHelper( new VCLExternalSolarLock )
+    : OAccessibleExtendedComponentHelper( &m_aLock)
     , m_pDialogWindow(pDialogWindow)
     , m_pDlgEditor(nullptr)
     , m_pDlgEdModel(nullptr)
@@ -140,8 +139,6 @@ AccessibleDialogWindow::~AccessibleDialogWindow()
 
     if ( m_pDlgEdModel )
         EndListening( *m_pDlgEdModel );
-
-    delete getExternalLock();
 }
 
 
diff --git a/basctl/source/inc/accessibledialogcontrolshape.hxx b/basctl/source/inc/accessibledialogcontrolshape.hxx
index 4830032599d3..aba1a83ec32c 100644
--- a/basctl/source/inc/accessibledialogcontrolshape.hxx
+++ b/basctl/source/inc/accessibledialogcontrolshape.hxx
@@ -25,6 +25,7 @@
 #include <comphelper/accessiblecomponenthelper.hxx>
 #include <cppuhelper/implbase3.hxx>
 #include <vcl/vclptr.hxx>
+#include <toolkit/helper/externallock.hxx>
 
 namespace vcl { class Window; }
 
@@ -46,7 +47,8 @@ typedef ::cppu::ImplHelper3<
         css::lang::XServiceInfo,
         css::beans::XPropertyChangeListener > AccessibleDialogControlShape_BASE;
 
-class AccessibleDialogControlShape :    public comphelper::OAccessibleExtendedComponentHelper,
+class AccessibleDialogControlShape :    private BaseVCLExternalSolarLock,
+                                        public comphelper::OAccessibleExtendedComponentHelper,
                                         public AccessibleDialogControlShape_BASE
 {
     friend class AccessibleDialogWindow;
diff --git a/basctl/source/inc/accessibledialogwindow.hxx b/basctl/source/inc/accessibledialogwindow.hxx
index badcabda17d3..2524e42deeee 100644
--- a/basctl/source/inc/accessibledialogwindow.hxx
+++ b/basctl/source/inc/accessibledialogwindow.hxx
@@ -27,6 +27,7 @@
 #include <svl/lstner.hxx>
 #include <tools/link.hxx>
 #include <vcl/vclptr.hxx>
+#include <toolkit/helper/externallock.hxx>
 
 class VclSimpleEvent;
 class VclWindowEvent;
@@ -51,7 +52,8 @@ typedef ::cppu::ImplHelper3 <
     css::accessibility::XAccessibleSelection,
     css::lang::XServiceInfo > AccessibleDialogWindow_BASE;
 
-class AccessibleDialogWindow :  public comphelper::OAccessibleExtendedComponentHelper,
+class AccessibleDialogWindow :  private BaseVCLExternalSolarLock,
+                                public comphelper::OAccessibleExtendedComponentHelper,
                                 public AccessibleDialogWindow_BASE,
                                 public SfxListener
 {
diff --git a/include/toolkit/awt/vclxaccessiblecomponent.hxx b/include/toolkit/awt/vclxaccessiblecomponent.hxx
index 520dadab867b..e29520198bef 100644
--- a/include/toolkit/awt/vclxaccessiblecomponent.hxx
+++ b/include/toolkit/awt/vclxaccessiblecomponent.hxx
@@ -30,6 +30,8 @@
 #include <cppuhelper/implbase1.hxx>
 #include <comphelper/accimplaccess.hxx>
 #include <comphelper/accessiblecomponenthelper.hxx>
+#include <toolkit/helper/externallock.hxx>
+
 
 #include <tools/link.hxx>
 #include <vcl/vclptr.hxx>
@@ -51,7 +53,8 @@ typedef ::cppu::ImplHelper1<
     css::lang::XServiceInfo > VCLXAccessibleComponent_BASE;
 
 class TOOLKIT_DLLPUBLIC VCLXAccessibleComponent
-        :public comphelper::OAccessibleExtendedComponentHelper
+        :private BaseVCLExternalSolarLock
+        ,public comphelper::OAccessibleExtendedComponentHelper
         ,public ::comphelper::OAccessibleImplementationAccess
         ,public VCLXAccessibleComponent_BASE
 {
diff --git a/include/toolkit/controls/accessiblecontrolcontext.hxx b/include/toolkit/controls/accessiblecontrolcontext.hxx
index cbd304a1334d..7642433642ee 100644
--- a/include/toolkit/controls/accessiblecontrolcontext.hxx
+++ b/include/toolkit/controls/accessiblecontrolcontext.hxx
@@ -27,6 +27,7 @@
 #include <com/sun/star/beans/XPropertySet.hpp>
 #include <com/sun/star/awt/XWindow.hpp>
 #include <vcl/vclptr.hxx>
+#include <toolkit/helper/externallock.hxx>
 
 namespace vcl { class Window; }
 
@@ -48,7 +49,8 @@ namespace toolkit
         is being disposed.</p>
     */
     class OAccessibleControlContext
-            :public ::comphelper::OAccessibleImplementationAccess
+            :private BaseVCLExternalSolarLock
+            ,public ::comphelper::OAccessibleImplementationAccess
             ,public OAccessibleControlContext_Base
             ,public OAccessibleControlContext_IBase
     {
diff --git a/l10ntools/source/po.cxx b/l10ntools/source/po.cxx
index 856a76b61835..d17a0708f242 100644
--- a/l10ntools/source/po.cxx
+++ b/l10ntools/source/po.cxx
@@ -229,7 +229,7 @@ PoEntry::PoEntry(
 
     OString sMsgCtxt =
         rGroupId + "\n" +
-        (rLocalId.isEmpty() ? OString( "" ) : rLocalId + "\n") +
+        (rLocalId.isEmpty() ? OString() : rLocalId + "\n") +
         rResType;
     switch(eType){
     case TTEXT:
@@ -243,7 +243,7 @@ PoEntry::PoEntry(
     m_pGenPo->setMsgCtxt(sMsgCtxt);
     m_pGenPo->setMsgId(rText);
     m_pGenPo->setExtractCom(
-        ( !rHelpText.isEmpty() ?  rHelpText + "\n" : OString( "" )) +
+        ( !rHelpText.isEmpty() ?  rHelpText + "\n" : OString()) +
         genKeyId( m_pGenPo->getReference() + rGroupId + rLocalId + rResType + rText ) );
     m_bIsInitialized = true;
 }
diff --git a/svtools/inc/vclxaccessibleheaderbaritem.hxx b/svtools/inc/vclxaccessibleheaderbaritem.hxx
index 533be149c302..ac3c30cea15e 100644
--- a/svtools/inc/vclxaccessibleheaderbaritem.hxx
+++ b/svtools/inc/vclxaccessibleheaderbaritem.hxx
@@ -25,6 +25,9 @@
 #include <cppuhelper/implbase2.hxx>
 
 #include <tools/link.hxx>
+
+#include <toolkit/helper/externallock.hxx>
+
 #include <vcl/vclptr.hxx>
 
 #include <vector>
@@ -46,7 +49,8 @@ typedef ::cppu::ImplHelper2<
     css::accessibility::XAccessible,
     css::lang::XServiceInfo > VCLXAccessibleHeaderBarItem_BASE;
 
-class VCLXAccessibleHeaderBarItem :    public comphelper::OAccessibleExtendedComponentHelper,
+class VCLXAccessibleHeaderBarItem : private BaseVCLExternalSolarLock,
+                        public comphelper::OAccessibleExtendedComponentHelper,
                         public VCLXAccessibleHeaderBarItem_BASE
 {
 private:
diff --git a/svtools/source/control/vclxaccessibleheaderbaritem.cxx b/svtools/source/control/vclxaccessibleheaderbaritem.cxx
index a2d927777348..2d6c7fa9feb8 100644
--- a/svtools/source/control/vclxaccessibleheaderbaritem.cxx
+++ b/svtools/source/control/vclxaccessibleheaderbaritem.cxx
@@ -47,7 +47,7 @@ using namespace ::comphelper;
 
 
 VCLXAccessibleHeaderBarItem::VCLXAccessibleHeaderBarItem( HeaderBar*    pHeadBar, sal_Int32 _nIndexInParent )
-    :OAccessibleExtendedComponentHelper( new VCLExternalSolarLock )
+    :OAccessibleExtendedComponentHelper( &m_aLock )
     ,m_pHeadBar( pHeadBar )
     ,m_nIndexInParent(_nIndexInParent + 1)
 
@@ -56,7 +56,6 @@ VCLXAccessibleHeaderBarItem::VCLXAccessibleHeaderBarItem( HeaderBar*    pHeadBar
 
 VCLXAccessibleHeaderBarItem::~VCLXAccessibleHeaderBarItem()
 {
-    delete getExternalLock();
 }
 
 void VCLXAccessibleHeaderBarItem::FillAccessibleStateSet( utl::AccessibleStateSetHelper& rStateSet )
diff --git a/svx/source/accessibility/charmapacc.cxx b/svx/source/accessibility/charmapacc.cxx
index 579cf6e6e1f5..dc6c6d45a6b6 100644
--- a/svx/source/accessibility/charmapacc.cxx
+++ b/svx/source/accessibility/charmapacc.cxx
@@ -26,7 +26,6 @@
 #include <com/sun/star/accessibility/AccessibleRole.hpp>
 #include <com/sun/star/accessibility/AccessibleStateType.hpp>
 #include <com/sun/star/lang/IndexOutOfBoundsException.hpp>
-#include <toolkit/helper/externallock.hxx>
 #include <toolkit/helper/convert.hxx>
 #include <osl/interlck.h>
 #include <svx/dialmgr.hxx>
@@ -42,7 +41,7 @@ namespace svx
     using namespace ::com::sun::star::accessibility;
 
 
-SvxShowCharSetVirtualAcc::SvxShowCharSetVirtualAcc( SvxShowCharSet* pParent ) : OAccessibleComponentHelper(new VCLExternalSolarLock)
+SvxShowCharSetVirtualAcc::SvxShowCharSetVirtualAcc( SvxShowCharSet* pParent ) : OAccessibleComponentHelper(&m_aLock)
 ,mpParent( pParent )
 {
     osl_atomic_increment(&m_refCount);
@@ -56,7 +55,6 @@ SvxShowCharSetVirtualAcc::SvxShowCharSetVirtualAcc( SvxShowCharSet* pParent ) :
 SvxShowCharSetVirtualAcc::~SvxShowCharSetVirtualAcc()
 {
     ensureDisposed();
-    delete getExternalLock();
 }
 
 IMPLEMENT_FORWARD_XINTERFACE2( SvxShowCharSetVirtualAcc, OAccessibleComponentHelper, OAccessibleHelper_Base_2 )
@@ -255,7 +253,7 @@ uno::Reference< css::accessibility::XAccessible > SvxShowCharSetItem::GetAccessi
 
 
 
-SvxShowCharSetAcc::SvxShowCharSetAcc( SvxShowCharSetVirtualAcc* _pParent ) : OAccessibleSelectionHelper(new VCLExternalSolarLock)
+SvxShowCharSetAcc::SvxShowCharSetAcc( SvxShowCharSetVirtualAcc* _pParent ) : OAccessibleSelectionHelper(&m_aLock)
   ,m_pParent( _pParent )
 {
     osl_atomic_increment(&m_refCount);
@@ -269,7 +267,6 @@ SvxShowCharSetAcc::SvxShowCharSetAcc( SvxShowCharSetVirtualAcc* _pParent ) : OAc
 SvxShowCharSetAcc::~SvxShowCharSetAcc()
 {
     ensureDisposed();
-    delete getExternalLock();
 }
 
 void SAL_CALL SvxShowCharSetAcc::disposing()
@@ -561,7 +558,7 @@ sal_Int32 SAL_CALL SvxShowCharSetAcc::getAccessibleColumn( sal_Int32 nChildIndex
 }
 
 
-SvxShowCharSetItemAcc::SvxShowCharSetItemAcc( SvxShowCharSetItem* pParent ) : OAccessibleComponentHelper(new VCLExternalSolarLock)
+SvxShowCharSetItemAcc::SvxShowCharSetItemAcc( SvxShowCharSetItem* pParent ) : OAccessibleComponentHelper(&m_aLock)
 ,mpParent( pParent )
 {
     OSL_ENSURE(pParent,"NO parent supplied!");
@@ -576,7 +573,6 @@ SvxShowCharSetItemAcc::SvxShowCharSetItemAcc( SvxShowCharSetItem* pParent ) : OA
 SvxShowCharSetItemAcc::~SvxShowCharSetItemAcc()
 {
     ensureDisposed();
-    delete getExternalLock();
 }
 
 IMPLEMENT_FORWARD_XINTERFACE2( SvxShowCharSetItemAcc, OAccessibleComponentHelper, OAccessibleHelper_Base_3 )
diff --git a/svx/source/inc/charmapacc.hxx b/svx/source/inc/charmapacc.hxx
index 6783b5504752..83cd41dfff25 100644
--- a/svx/source/inc/charmapacc.hxx
+++ b/svx/source/inc/charmapacc.hxx
@@ -25,6 +25,7 @@
 #include <comphelper/accessibleselectionhelper.hxx>
 #include <com/sun/star/accessibility/XAccessibleAction.hpp>
 #include <com/sun/star/accessibility/XAccessibleTable.hpp>
+#include <toolkit/helper/externallock.hxx>
 
 #include <vector>
 class SvxShowCharSet;
@@ -38,7 +39,8 @@ namespace svx
     /** The class SvxShowCharSetVirtualAcc is used as a virtual class which contains the table and the scrollbar.
         In the vcl control, the table and the scrollbar exists in one class. This is not feasible for the accessibility api.
     */
-    class SvxShowCharSetVirtualAcc : public ::comphelper::OAccessibleComponentHelper,
+    class SvxShowCharSetVirtualAcc : private BaseVCLExternalSolarLock,
+                                     public ::comphelper::OAccessibleComponentHelper,
                                      public OAccessibleHelper_Base_2
     {
         VclPtr<SvxShowCharSet>             mpParent; // the vcl control
@@ -120,7 +122,8 @@ namespace svx
     /** The table implementation of the vcl control.
     */
 
-    class SvxShowCharSetAcc : public ::comphelper::OAccessibleSelectionHelper,
+    class SvxShowCharSetAcc : private BaseVCLExternalSolarLock,
+                              public ::comphelper::OAccessibleSelectionHelper,
                               public OAccessibleHelper_Base
     {
         ::std::vector< css::uno::Reference< css::accessibility::XAccessible > > m_aChildren;
@@ -209,7 +212,8 @@ namespace svx
 
     /** The child implementation of the table.
     */
-    class SvxShowCharSetItemAcc : public ::comphelper::OAccessibleComponentHelper,
+    class SvxShowCharSetItemAcc : private BaseVCLExternalSolarLock,
+                                  public ::comphelper::OAccessibleComponentHelper,
                                   public OAccessibleHelper_Base_3
     {
     private:
diff --git a/toolkit/source/awt/vclxaccessiblecomponent.cxx b/toolkit/source/awt/vclxaccessiblecomponent.cxx
index 524652c36737..ae971faeaffe 100644
--- a/toolkit/source/awt/vclxaccessiblecomponent.cxx
+++ b/toolkit/source/awt/vclxaccessiblecomponent.cxx
@@ -25,7 +25,6 @@
 #include <com/sun/star/lang/IndexOutOfBoundsException.hpp>
 #include <cppuhelper/supportsservice.hxx>
 #include <toolkit/awt/vclxaccessiblecomponent.hxx>
-#include <toolkit/helper/externallock.hxx>
 #include <toolkit/awt/vclxwindow.hxx>
 #include <toolkit/helper/convert.hxx>
 #include <toolkit/awt/vclxfont.hxx>
@@ -44,7 +43,7 @@ using namespace ::com::sun::star;
 using namespace ::comphelper;
 
 VCLXAccessibleComponent::VCLXAccessibleComponent( VCLXWindow* pVCLXWindow )
-    : OAccessibleExtendedComponentHelper( new VCLExternalSolarLock )
+    : OAccessibleExtendedComponentHelper( &m_aLock )
     , OAccessibleImplementationAccess( )
 {
     m_xVCLXWindow = pVCLXWindow;
@@ -80,14 +79,6 @@ VCLXAccessibleComponent::~VCLXAccessibleComponent()
 {
     ensureDisposed();
     DisconnectEvents();
-
-    delete getExternalLock();
-    // This is not completely safe. If we assume that the base class dtor calls some method which
-    // uses this lock, the we crash. However, as the base class' dtor does not have a chance to call _out_
-    // virtual methods, this is no problem as long as the base class is safe, i.e. does not use the external
-    // lock from within it's dtor. At the moment, we _know_ the base class is safe in this respect, so
-    // let's assume it keeps this way.
-    // @see OAccessibleContextHelper::OAccessibleContextHelper( IMutex* )
 }
 
 IMPLEMENT_FORWARD_XINTERFACE3( VCLXAccessibleComponent, OAccessibleExtendedComponentHelper, OAccessibleImplementationAccess, VCLXAccessibleComponent_BASE )
diff --git a/toolkit/source/controls/accessiblecontrolcontext.cxx b/toolkit/source/controls/accessiblecontrolcontext.cxx
index 7cf45ec18fec..155cf83d93ca 100644
--- a/toolkit/source/controls/accessiblecontrolcontext.cxx
+++ b/toolkit/source/controls/accessiblecontrolcontext.cxx
@@ -26,7 +26,6 @@
 #include <com/sun/star/accessibility/AccessibleStateType.hpp>
 #include <com/sun/star/accessibility/AccessibleRole.hpp>
 #include <toolkit/helper/vclunohelper.hxx>
-#include <toolkit/helper/externallock.hxx>
 #include <vcl/window.hxx>
 
 
@@ -46,7 +45,7 @@ namespace toolkit
 
 
     OAccessibleControlContext::OAccessibleControlContext()
-        : OAccessibleControlContext_Base(new VCLExternalSolarLock)
+        : OAccessibleControlContext_Base(&m_aLock)
     {
         // nothing to do here, we have a late ctor
     }


More information about the Libreoffice-commits mailing list