include/svx/xmlgrhlp.hxx          |   11 ++++++-----
 io/source/acceptor/acc_socket.cxx |   10 +++++-----
 svx/source/xml/xmlgrhlp.cxx       |    8 ++++----
 3 files changed, 15 insertions(+), 14 deletions(-)

New commits:
commit 279487b53ac876bb8ece9e5c2ec2882ca077bf13
Author:     Noel Grandin <[email protected]>
AuthorDate: Sat Dec 18 22:01:39 2021 +0200
Commit:     Noel Grandin <[email protected]>
CommitDate: Mon Dec 20 08:33:19 2021 +0100

    use cppu::BaseMutex in SvXMLGraphicHelper
    
    because passing a ref of a local member to a parent class
    means passing uninitialised data
    
    Change-Id: I1171c3e5f5df148c7e63dad451bf54dff23fe2aa
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/127119
    Tested-by: Jenkins
    Reviewed-by: Noel Grandin <[email protected]>

diff --git a/include/svx/xmlgrhlp.hxx b/include/svx/xmlgrhlp.hxx
index c733ce5318bb..8a72664a5b55 100644
--- a/include/svx/xmlgrhlp.hxx
+++ b/include/svx/xmlgrhlp.hxx
@@ -20,8 +20,8 @@
 #ifndef INCLUDED_SVX_XMLGRHLP_HXX
 #define INCLUDED_SVX_XMLGRHLP_HXX
 
+#include <cppuhelper/basemutex.hxx>
 #include <cppuhelper/compbase.hxx>
-#include <osl/mutex.hxx>
 #include <vcl/graph.hxx>
 #include <rtl/ref.hxx>
 
@@ -46,12 +46,13 @@ struct SvxGraphicHelperStream_Impl
     css::uno::Reference < css::io::XStream > xStream;
 };
 
-class SVXCORE_DLLPUBLIC SvXMLGraphicHelper final : public 
cppu::WeakComponentImplHelper<css::document::XGraphicObjectResolver,
-                                                                               
     css::document::XGraphicStorageHandler,
-                                                                               
     css::document::XBinaryStreamResolver>
+class SVXCORE_DLLPUBLIC SvXMLGraphicHelper final :
+        public cppu::BaseMutex,
+        public 
cppu::WeakComponentImplHelper<css::document::XGraphicObjectResolver,
+                                            
css::document::XGraphicStorageHandler,
+                                            
css::document::XBinaryStreamResolver>
 {
 private:
-    ::osl::Mutex                maMutex;
     css::uno::Reference < css::embed::XStorage > mxRootStorage;
     OUString             maCurStorageName;
     std::vector< css::uno::Reference< css::io::XOutputStream > >
diff --git a/svx/source/xml/xmlgrhlp.cxx b/svx/source/xml/xmlgrhlp.cxx
index 43195d1db82c..35d3a247c56a 100644
--- a/svx/source/xml/xmlgrhlp.cxx
+++ b/svx/source/xml/xmlgrhlp.cxx
@@ -369,7 +369,7 @@ const GraphicObject& 
SvXMLGraphicOutputStream::GetGraphicObject()
 SvXMLGraphicHelper::SvXMLGraphicHelper(SvXMLGraphicHelperMode eCreateMode)
     : cppu::WeakComponentImplHelper<document::XGraphicObjectResolver,
                                     document::XGraphicStorageHandler,
-                                    document::XBinaryStreamResolver>(maMutex)
+                                    document::XBinaryStreamResolver>(m_aMutex)
 {
     Init( nullptr, eCreateMode );
 }
@@ -377,7 +377,7 @@ 
SvXMLGraphicHelper::SvXMLGraphicHelper(SvXMLGraphicHelperMode eCreateMode)
 SvXMLGraphicHelper::SvXMLGraphicHelper()
     : cppu::WeakComponentImplHelper<document::XGraphicObjectResolver,
                                     document::XGraphicStorageHandler,
-                                    document::XBinaryStreamResolver>(maMutex)
+                                    document::XBinaryStreamResolver>(m_aMutex)
     , meCreateMode(SvXMLGraphicHelperMode::Read)
 {
 }
@@ -580,7 +580,7 @@ OUString SAL_CALL 
SvXMLGraphicHelper::resolveGraphicObjectURL( const OUString& /
 // XGraphicStorageHandler
 uno::Reference<graphic::XGraphic> SAL_CALL 
SvXMLGraphicHelper::loadGraphic(OUString const & rURL)
 {
-    osl::MutexGuard aGuard(maMutex);
+    osl::MutexGuard aGuard(m_aMutex);
 
     uno::Reference<graphic::XGraphic> xGraphic;
 
@@ -612,7 +612,7 @@ uno::Reference<graphic::XGraphic> SAL_CALL 
SvXMLGraphicHelper::loadGraphic(OUStr
 
 uno::Reference<graphic::XGraphic> SAL_CALL 
SvXMLGraphicHelper::loadGraphicFromOutputStream(uno::Reference<io::XOutputStream>
 const & rxOutputStream)
 {
-    osl::MutexGuard aGuard(maMutex);
+    osl::MutexGuard aGuard(m_aMutex);
 
     uno::Reference<graphic::XGraphic> xGraphic;
 
commit 858c4cd07f22ad0f7dfbb31e55619bcc7d8b1051
Author:     Noel Grandin <[email protected]>
AuthorDate: Sat Dec 18 22:10:52 2021 +0200
Commit:     Noel Grandin <[email protected]>
CommitDate: Mon Dec 20 08:33:02 2021 +0100

    osl::Mutex->std::mutex in SocketConnection
    
    Change-Id: Ia63c9cfaf189b328c6fa492bd132f6c9767f573e
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/127121
    Tested-by: Jenkins
    Reviewed-by: Noel Grandin <[email protected]>

diff --git a/io/source/acceptor/acc_socket.cxx 
b/io/source/acceptor/acc_socket.cxx
index 50a6db4bc13a..9d4f6fe7fe85 100644
--- a/io/source/acceptor/acc_socket.cxx
+++ b/io/source/acceptor/acc_socket.cxx
@@ -21,7 +21,7 @@
 
 #include <unordered_set>
 
-#include <osl/mutex.hxx>
+#include <mutex>
 #include <rtl/ustrbuf.hxx>
 #include <rtl/ref.hxx>
 #include <com/sun/star/connection/XConnection.hpp>
@@ -70,7 +70,7 @@ namespace io_acceptor {
         oslInterlockedCount m_nStatus;
         OUString m_sDescription;
 
-        ::osl::Mutex _mutex;
+        std::mutex _mutex;
         bool     _started;
         bool     _closed;
         bool     _error;
@@ -85,7 +85,7 @@ namespace io_acceptor {
         XStreamListener_hash_set listeners;
 
         {
-            ::osl::MutexGuard guard(pCon->_mutex);
+            std::unique_lock guard(pCon->_mutex);
             if(!*notified)
             {
                 *notified = true;
@@ -253,14 +253,14 @@ namespace io_acceptor {
     // XConnectionBroadcaster
     void SAL_CALL SocketConnection::addStreamListener(const 
Reference<XStreamListener> & aListener)
     {
-        MutexGuard guard(_mutex);
+        std::unique_lock guard(_mutex);
 
         _listeners.insert(aListener);
     }
 
     void SAL_CALL SocketConnection::removeStreamListener(const 
Reference<XStreamListener> & aListener)
     {
-        MutexGuard guard(_mutex);
+        std::unique_lock guard(_mutex);
 
         _listeners.erase(aListener);
     }

Reply via email to