OInterfaceContainerHelper3 needs to be thread-safe

Change-Id: I11b84917033073d29268e61175faf43cbd5b1168
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/125986
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
(cherry picked from commit 17aa192818caeb9af1381051a2dfda9568f7ce07)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/125991
diff --git a/include/comphelper/interfacecontainer3.hxx b/include/comphelper/interfacecontainer3.hxx
index 56cbeca..a9298a6 100644
--- a/include/comphelper/interfacecontainer3.hxx
+++ b/include/comphelper/interfacecontainer3.hxx
@@ -85,7 +85,9 @@ public:

private:
    OInterfaceContainerHelper3<ListenerT>& rCont;
    o3tl::cow_wrapper<std::vector<css::uno::Reference<ListenerT>>> maData;
    o3tl::cow_wrapper<std::vector<css::uno::Reference<ListenerT>>,
                      o3tl::ThreadSafeRefCountingPolicy>
        maData;
    sal_Int32 nRemain;

    OInterfaceIteratorHelper3(const OInterfaceIteratorHelper3&) = delete;
@@ -209,7 +211,9 @@ public:

private:
    friend class OInterfaceIteratorHelper3<ListenerT>;
    o3tl::cow_wrapper<std::vector<css::uno::Reference<ListenerT>>> maData;
    o3tl::cow_wrapper<std::vector<css::uno::Reference<ListenerT>>,
                      o3tl::ThreadSafeRefCountingPolicy>
        maData;
    ::osl::Mutex& rMutex;
    OInterfaceContainerHelper3(const OInterfaceContainerHelper3&) = delete;
    OInterfaceContainerHelper3& operator=(const OInterfaceContainerHelper3&) = delete;