summaryrefslogtreecommitdiff
path: root/vcl/unx/generic/printer/cpdmgr.cxx
diff options
context:
space:
mode:
authorNoel Grandin <noel.grandin@collabora.co.uk>2019-04-18 15:13:19 +0200
committerNoel Grandin <noel.grandin@collabora.co.uk>2019-04-19 13:19:31 +0200
commit1a5b12aa5da2c718848d3cc5d9bce7bfcdeacf54 (patch)
tree25044edc2afb99073ba6bef8d181dadbb6a53467 /vcl/unx/generic/printer/cpdmgr.cxx
parenteaaaad0e21edb27edaa865eee03696f007cd8010 (diff)
optimise find/insert pattern
if we're doing a find/insert on a set or a map, it is better to just do a conditional insert/emplace operation than triggering two lookups. Change-Id: I80da5097f5a89fe30fa348ce5b6e747c34287a8d Reviewed-on: https://gerrit.libreoffice.org/70937 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Diffstat (limited to 'vcl/unx/generic/printer/cpdmgr.cxx')
-rw-r--r--vcl/unx/generic/printer/cpdmgr.cxx9
1 files changed, 1 insertions, 8 deletions
diff --git a/vcl/unx/generic/printer/cpdmgr.cxx b/vcl/unx/generic/printer/cpdmgr.cxx
index 195708d1953b..fe3b44918d16 100644
--- a/vcl/unx/generic/printer/cpdmgr.cxx
+++ b/vcl/unx/generic/printer/cpdmgr.cxx
@@ -193,14 +193,7 @@ std::vector<std::pair<std::string, gchar*>> const & CPDManager::getTempBackends(
}
void CPDManager::addNewPrinter(const OUString& aPrinterName, const OUString& aUniqueName, CPDPrinter *pDest) {
- std::pair<OUString, CPDPrinter *> newPrinter (aUniqueName, pDest);
- std::unordered_map<OUString, CPDPrinter *>::iterator it = m_aCPDDestMap.find( aUniqueName );
- if (it == m_aCPDDestMap.end()) {
- m_aCPDDestMap.insert(newPrinter);
- } else {
- m_aCPDDestMap.erase(it);
- m_aCPDDestMap.insert(newPrinter);
- }
+ m_aCPDDestMap[aUniqueName] = pDest;
bool bSetToGlobalDefaults = m_aPrinters.find( aUniqueName ) == m_aPrinters.end();
Printer aPrinter = m_aPrinters[ aUniqueName ];
if( bSetToGlobalDefaults )