sd/source/ui/framework/configuration/ResourceFactoryManager.cxx |   10 
++++++++++
 1 file changed, 10 insertions(+)

New commits:
commit de978c0437620b84c3678705c926804318f6a996
Author: Caolán McNamara <caol...@redhat.com>
Date:   Wed Mar 8 17:06:36 2017 +0000

    valgrind: fix leak
    
    ==2184== 1,396 (24 direct, 1,372 indirect) bytes in 1 blocks are definitely 
lost in loss record 11,080 of 11,791
    ...
    ==2184==    by 0x31D4F774: 
sd::framework::BasicPaneFactory::createResource(com::sun::star::uno::Reference<com::sun::star::drawing::framework::XResourceId>
 const&) (BasicPaneFactory.cxx:258)
    ...
    ==2184==    by 0x31D3F550: 
sd::framework::ConfigurationControllerResourceManager::ActivateResources(std::__debug::vector<com::sun::star::uno::Reference<com::sun::star::drawing::framework::XResourceId>,
 
std::allocator<com::sun::star::uno::Reference<com::sun::star::drawing::framework::XResourceId>
 > > const&, 
com::sun::star::uno::Reference<com::sun::star::drawing::framework::XConfiguration>
 const&) (ConfigurationControllerResourceManager.cxx:74)
    ...
    ==2184==    by 0x31D426A3: 
sd::framework::ConfigurationUpdater::UpdateCore(sd::framework::ConfigurationClassifier
 const&) (ConfigurationUpdater.cxx:247)
    ==2184==    by 0x31D42B76: 
sd::framework::ConfigurationUpdater::UpdateConfiguration() 
(ConfigurationUpdater.cxx:156)
    ==2184==    by 0x31D42F3E: 
sd::framework::ConfigurationUpdater::RequestUpdate(com::sun::star::uno::Reference<com::sun::star::drawing::framework::XConfiguration>
 const&) (ConfigurationUpdater.cxx:103)
    
    Change-Id: I257ae26bc0e61696b1c8e27a1b3a75a993fac1a5
    Reviewed-on: https://gerrit.libreoffice.org/34982
    Tested-by: Jenkins <c...@libreoffice.org>
    Reviewed-by: Caolán McNamara <caol...@redhat.com>
    Tested-by: Caolán McNamara <caol...@redhat.com>

diff --git a/sd/source/ui/framework/configuration/ResourceFactoryManager.cxx 
b/sd/source/ui/framework/configuration/ResourceFactoryManager.cxx
index 29a157d..adf3ed1 100644
--- a/sd/source/ui/framework/configuration/ResourceFactoryManager.cxx
+++ b/sd/source/ui/framework/configuration/ResourceFactoryManager.cxx
@@ -50,6 +50,16 @@ ResourceFactoryManager::ResourceFactoryManager (const 
Reference<XControllerManag
 
 ResourceFactoryManager::~ResourceFactoryManager()
 {
+    for (auto iXInterfaceResource = maFactoryMap.begin();
+         iXInterfaceResource != maFactoryMap.end();
+         ++iXInterfaceResource)
+    {
+        Reference<lang::XComponent> xComponent (iXInterfaceResource->second, 
UNO_QUERY);
+        iXInterfaceResource->second = nullptr;
+        if (xComponent.is())
+            xComponent->dispose();
+    }
+
     Reference<lang::XComponent> xComponent (mxURLTransformer, UNO_QUERY);
     if (xComponent.is())
         xComponent->dispose();
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to