Kaydet (Commit) f338432f authored tarafından Noel Grandin's avatar Noel Grandin

loplugin:useuniqueptr in PrinterInfoManager

Change-Id: I42ffde6905abc64b6e3b6188015f6d5c60d17eb6
Reviewed-on: https://gerrit.libreoffice.org/59999
Tested-by: Jenkins
Reviewed-by: 's avatarNoel Grandin <noel.grandin@collabora.co.uk>
üst 3b4ffee6
...@@ -574,15 +574,15 @@ static bool checkWriteability( const OUString& rUniPath ) ...@@ -574,15 +574,15 @@ static bool checkWriteability( const OUString& rUniPath )
bool PrinterInfoManager::writePrinterConfig() bool PrinterInfoManager::writePrinterConfig()
{ {
// find at least one writeable config // find at least one writeable config
std::unordered_map< OUString, Config* > files; std::unordered_map< OUString, std::unique_ptr<Config> > files;
std::unordered_map< OUString, int > rofiles; std::unordered_map< OUString, int > rofiles;
std::unordered_map< OUString, Config* >::iterator file_it; std::unordered_map< OUString, std::unique_ptr<Config> >::iterator file_it;
for (auto const& watchFile : m_aWatchFiles) for (auto const& watchFile : m_aWatchFiles)
{ {
if( checkWriteability( watchFile.m_aFilePath ) ) if( checkWriteability( watchFile.m_aFilePath ) )
{ {
files[ watchFile.m_aFilePath ] = new Config( watchFile.m_aFilePath ); files[ watchFile.m_aFilePath ].reset(new Config( watchFile.m_aFilePath ));
break; break;
} }
} }
...@@ -590,7 +590,7 @@ bool PrinterInfoManager::writePrinterConfig() ...@@ -590,7 +590,7 @@ bool PrinterInfoManager::writePrinterConfig()
if( files.empty() ) if( files.empty() )
return false; return false;
Config* pGlobal = files.begin()->second; Config* pGlobal = files.begin()->second.get();
pGlobal->SetGroup( GLOBAL_DEFAULTS_GROUP ); pGlobal->SetGroup( GLOBAL_DEFAULTS_GROUP );
for (auto & printer : m_aPrinters) for (auto & printer : m_aPrinters)
...@@ -621,7 +621,7 @@ bool PrinterInfoManager::writePrinterConfig() ...@@ -621,7 +621,7 @@ bool PrinterInfoManager::writePrinterConfig()
if( rofiles.find( printer.second.m_aFile ) == rofiles.end() ) if( rofiles.find( printer.second.m_aFile ) == rofiles.end() )
{ {
if( checkWriteability( printer.second.m_aFile ) ) if( checkWriteability( printer.second.m_aFile ) )
files[ printer.second.m_aFile ] = new Config( printer.second.m_aFile ); files[ printer.second.m_aFile ].reset( new Config( printer.second.m_aFile ) );
else else
bInsertToNewFile = true; bInsertToNewFile = true;
} }
...@@ -648,7 +648,7 @@ bool PrinterInfoManager::writePrinterConfig() ...@@ -648,7 +648,7 @@ bool PrinterInfoManager::writePrinterConfig()
if( files.find( printer.second.m_aFile ) != files.end() ) if( files.find( printer.second.m_aFile ) != files.end() )
{ {
Config* pConfig = files[ printer.second.m_aFile ]; Config* pConfig = files[ printer.second.m_aFile ].get();
pConfig->DeleteGroup( printer.second.m_aGroup ); // else some old keys may remain pConfig->DeleteGroup( printer.second.m_aGroup ); // else some old keys may remain
pConfig->SetGroup( printer.second.m_aGroup ); pConfig->SetGroup( printer.second.m_aGroup );
...@@ -698,8 +698,7 @@ bool PrinterInfoManager::writePrinterConfig() ...@@ -698,8 +698,7 @@ bool PrinterInfoManager::writePrinterConfig()
} }
// get rid of Config objects. this also writes any changes // get rid of Config objects. this also writes any changes
for (auto const& file : files) files.clear();
delete file.second;
return true; return true;
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment