fix: use std::make_shared in simple cases to reduce allocation
This commit is contained in:
parent
d00ea4e420
commit
32b74f2ac2
@ -32,6 +32,7 @@
|
|||||||
#include <QFileDialog>
|
#include <QFileDialog>
|
||||||
#include <QUrl>
|
#include <QUrl>
|
||||||
#include <QSettings>
|
#include <QSettings>
|
||||||
|
#include <memory>
|
||||||
|
|
||||||
#include "rcldb.h"
|
#include "rcldb.h"
|
||||||
#include "rclconfig.h"
|
#include "rclconfig.h"
|
||||||
@ -100,7 +101,7 @@ bool maybeOpenDb(string &reason, bool force, bool *maindberror)
|
|||||||
LOGDEB1("maybeOpenDb: force " << force << "\n");
|
LOGDEB1("maybeOpenDb: force " << force << "\n");
|
||||||
|
|
||||||
if (force || nullptr == rcldb) {
|
if (force || nullptr == rcldb) {
|
||||||
rcldb = std::shared_ptr<Rcl::Db>(new Rcl::Db(theconfig));
|
rcldb = std::make_shared<Rcl::Db>(theconfig);
|
||||||
}
|
}
|
||||||
rcldb->rmQueryDb("");
|
rcldb->rmQueryDb("");
|
||||||
auto edbs = &prefs.activeExtraDbs;
|
auto edbs = &prefs.activeExtraDbs;
|
||||||
|
|||||||
@ -22,6 +22,7 @@
|
|||||||
|
|
||||||
#include <QMessageBox>
|
#include <QMessageBox>
|
||||||
#include <QSettings>
|
#include <QSettings>
|
||||||
|
#include <memory>
|
||||||
|
|
||||||
#include "qxtconfirmationmessage.h"
|
#include "qxtconfirmationmessage.h"
|
||||||
|
|
||||||
@ -75,7 +76,7 @@ void RclMain::viewUrl()
|
|||||||
Rcl::Query *query = new Rcl::Query(rcldb.get());
|
Rcl::Query *query = new Rcl::Query(rcldb.get());
|
||||||
DocSequenceDb *src = new DocSequenceDb(
|
DocSequenceDb *src = new DocSequenceDb(
|
||||||
rcldb, std::shared_ptr<Rcl::Query>(query), "",
|
rcldb, std::shared_ptr<Rcl::Query>(query), "",
|
||||||
std::shared_ptr<Rcl::SearchData>(new Rcl::SearchData));
|
std::make_shared<Rcl::SearchData>());
|
||||||
m_source = std::shared_ptr<DocSequence>(src);
|
m_source = std::shared_ptr<DocSequence>(src);
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -22,6 +22,8 @@
|
|||||||
#include "guiutils.h"
|
#include "guiutils.h"
|
||||||
#include "log.h"
|
#include "log.h"
|
||||||
#include "xmltosd.h"
|
#include "xmltosd.h"
|
||||||
|
|
||||||
|
#include <memory>
|
||||||
#include "smallut.h"
|
#include "smallut.h"
|
||||||
#include "recoll.h"
|
#include "recoll.h"
|
||||||
#include "picoxml.h"
|
#include "picoxml.h"
|
||||||
@ -51,7 +53,7 @@ public:
|
|||||||
}
|
}
|
||||||
resetTemps();
|
resetTemps();
|
||||||
// A new search descriptor. Allocate data structure
|
// A new search descriptor. Allocate data structure
|
||||||
sd = std::shared_ptr<SearchData>(new SearchData);
|
sd = std::make_shared<SearchData>();
|
||||||
if (!sd) {
|
if (!sd) {
|
||||||
LOGERR("SDHXMLHandler::startElement: out of memory\n");
|
LOGERR("SDHXMLHandler::startElement: out of memory\n");
|
||||||
contentsOk = false;
|
contentsOk = false;
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user