connectivity/source/drivers/mozab/bootstrap/MMozillaBootstrap.cxx | 6 - connectivity/source/drivers/mozab/bootstrap/MMozillaBootstrap.hxx | 5 - connectivity/source/drivers/mozab/bootstrap/MNSProfileDiscover.cxx | 36 +++++----- connectivity/source/drivers/mozab/bootstrap/MNSProfileDiscover.hxx | 10 +- 4 files changed, 29 insertions(+), 28 deletions(-)
New commits: commit bbbd1f1eec7ce078a37bc3a23a7f1e8ec4070634 Author: Caolán McNamara <[email protected]> Date: Wed Mar 8 16:09:58 2017 +0000 valgrind: fix leak Change-Id: I569698af09dfe71c0c8b89c40ab111ce71635492 diff --git a/connectivity/source/drivers/mozab/bootstrap/MMozillaBootstrap.cxx b/connectivity/source/drivers/mozab/bootstrap/MMozillaBootstrap.cxx index 505a23b..a243ecc 100644 --- a/connectivity/source/drivers/mozab/bootstrap/MMozillaBootstrap.cxx +++ b/connectivity/source/drivers/mozab/bootstrap/MMozillaBootstrap.cxx @@ -48,8 +48,7 @@ extern "C" SAL_DLLPUBLIC_EXPORT void* SAL_CALL OMozillaBootstrap_CreateInstance } MozillaBootstrap::MozillaBootstrap() - : OMozillaBootstrap_BASE(m_aMutex), - m_ProfileAccess(nullptr) + : OMozillaBootstrap_BASE(m_aMutex) { } @@ -59,11 +58,10 @@ MozillaBootstrap::~MozillaBootstrap() void MozillaBootstrap::Init() { - m_ProfileAccess = new ProfileAccess(); + m_ProfileAccess.reset(new ProfileAccess); bootupProfile(css::mozilla::MozillaProductType_Mozilla,OUString()); } - void MozillaBootstrap::disposing() { ::osl::MutexGuard aGuard(m_aMutex); diff --git a/connectivity/source/drivers/mozab/bootstrap/MMozillaBootstrap.hxx b/connectivity/source/drivers/mozab/bootstrap/MMozillaBootstrap.hxx index de921e9..25e68a9 100644 --- a/connectivity/source/drivers/mozab/bootstrap/MMozillaBootstrap.hxx +++ b/connectivity/source/drivers/mozab/bootstrap/MMozillaBootstrap.hxx @@ -40,7 +40,7 @@ namespace connectivity private: ::osl::Mutex m_aMutex; // mutex is need to control member access virtual ~MozillaBootstrap() override; - ProfileAccess * m_ProfileAccess; + std::unique_ptr<ProfileAccess> m_ProfileAccess; public: void Init(); commit 4f61fdba534fa808edeb86a52f9ffc9fe528c28e Author: Caolán McNamara <[email protected]> Date: Wed Mar 8 16:09:01 2017 +0000 nothing inherits, protected->private Change-Id: I254ffe76603a9c5900ea2ed26d281eba453c059d diff --git a/connectivity/source/drivers/mozab/bootstrap/MMozillaBootstrap.hxx b/connectivity/source/drivers/mozab/bootstrap/MMozillaBootstrap.hxx index 9c75568..de921e9 100644 --- a/connectivity/source/drivers/mozab/bootstrap/MMozillaBootstrap.hxx +++ b/connectivity/source/drivers/mozab/bootstrap/MMozillaBootstrap.hxx @@ -37,10 +37,9 @@ namespace connectivity class ProfileManager; class MozillaBootstrap : public OMozillaBootstrap_BASE { - protected: + private: ::osl::Mutex m_aMutex; // mutex is need to control member access virtual ~MozillaBootstrap() override; - protected: ProfileAccess * m_ProfileAccess; public: commit 14881451de9dfba0ca783c695e0c538ae72e6736 Author: Caolán McNamara <[email protected]> Date: Wed Mar 8 15:56:52 2017 +0000 valgrind: fix leak Change-Id: I8510a59a3d4409bf7203495114e239b4c7effcd8 diff --git a/connectivity/source/drivers/mozab/bootstrap/MNSProfileDiscover.cxx b/connectivity/source/drivers/mozab/bootstrap/MNSProfileDiscover.cxx index 1adb899..b2ef4d9 100644 --- a/connectivity/source/drivers/mozab/bootstrap/MNSProfileDiscover.cxx +++ b/connectivity/source/drivers/mozab/bootstrap/MNSProfileDiscover.cxx @@ -26,15 +26,21 @@ namespace connectivity { namespace mozab { - ProfileStruct::ProfileStruct(MozillaProductType aProduct, const OUString& aProfileName, - const OUString& aProfilePath - ) + ProfileStruct::ProfileStruct() + : product(css::mozilla::MozillaProductType_Default) { - product=aProduct; - profileName = aProfileName; - profilePath = aProfilePath; } - const OUString& ProfileStruct::getProfilePath() + + ProfileStruct::ProfileStruct(MozillaProductType aProduct, + const OUString& aProfileName, + const OUString& aProfilePath) + : product(aProduct) + , profileName(aProfileName) + , profilePath(aProfilePath) + { + } + + const OUString& ProfileStruct::getProfilePath() const { return profilePath; } @@ -42,6 +48,7 @@ namespace connectivity ProfileAccess::~ProfileAccess() { } + ProfileAccess::ProfileAccess() { LoadProductsInfo(); @@ -121,10 +128,7 @@ namespace connectivity fullProfilePath = profilePath; } - ProfileStruct* profileItem = new ProfileStruct(product,profileName, - fullProfilePath - ); - rProduct.mProfileList[profileName] = profileItem; + rProduct.mProfileList[profileName] = ProfileStruct(product,profileName,fullProfilePath); sal_Int32 isDefault = 0; if (!sIsDefault.isEmpty()) @@ -149,7 +153,7 @@ namespace connectivity return OUString(); } else - return rProduct.mProfileList[profileName]->getProfilePath(); + return rProduct.mProfileList[profileName].getProfilePath(); } ::sal_Int32 ProfileAccess::getProfileCount( css::mozilla::MozillaProductType product) @@ -168,8 +172,8 @@ namespace connectivity itor != rProduct.mProfileList.end(); ++itor) { - ProfileStruct * aProfile = (*itor).second; - list[i] = aProfile->getProfileName(); + const ProfileStruct& rProfile = (*itor).second; + list[i] = rProfile.getProfileName(); i++; } @@ -190,8 +194,8 @@ namespace connectivity //there are not any profiles return OUString(); } - ProfileStruct * aProfile = (*rProduct.mProfileList.begin()).second; - return aProfile->getProfileName(); + const ProfileStruct& rProfile = (*rProduct.mProfileList.begin()).second; + return rProfile.getProfileName(); } bool ProfileAccess::isProfileLocked( css::mozilla::MozillaProductType product, const OUString& profileName ) { diff --git a/connectivity/source/drivers/mozab/bootstrap/MNSProfileDiscover.hxx b/connectivity/source/drivers/mozab/bootstrap/MNSProfileDiscover.hxx index 6cb9efe..395724f 100644 --- a/connectivity/source/drivers/mozab/bootstrap/MNSProfileDiscover.hxx +++ b/connectivity/source/drivers/mozab/bootstrap/MNSProfileDiscover.hxx @@ -39,7 +39,7 @@ namespace connectivity class ProfileStruct; } } -typedef std::map < OUString, ::connectivity::mozab::ProfileStruct* > ProfileList; +typedef std::map<OUString, ::connectivity::mozab::ProfileStruct> ProfileList; namespace connectivity { namespace mozab @@ -47,10 +47,10 @@ namespace connectivity class ProfileStruct { public: - ProfileStruct(MozillaProductType aProduct, const OUString& aProfileName, - const OUString &aProfilePath); - const OUString& getProfileName(){ return profileName;} - const OUString& getProfilePath(); + ProfileStruct(); + ProfileStruct(MozillaProductType aProduct, const OUString& aProfileName, const OUString &aProfilePath); + const OUString& getProfileName() const { return profileName;} + const OUString& getProfilePath() const; private: MozillaProductType product; OUString profileName;
_______________________________________________ Libreoffice-commits mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
