From 32b74f2ac2e3b845eeff0e409990eaf0bfba4d61 Mon Sep 17 00:00:00 2001 From: shenleban tongying Date: Tue, 23 Aug 2022 05:24:33 -0400 Subject: [PATCH] fix: use std::make_shared in simple cases to reduce allocation --- src/qtgui/main.cpp | 3 ++- src/qtgui/rclm_view.cpp | 3 ++- src/qtgui/xmltosd.cpp | 4 +++- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/src/qtgui/main.cpp b/src/qtgui/main.cpp index 89bd9e0c..6d7b00d6 100644 --- a/src/qtgui/main.cpp +++ b/src/qtgui/main.cpp @@ -32,6 +32,7 @@ #include #include #include +#include #include "rcldb.h" #include "rclconfig.h" @@ -100,7 +101,7 @@ bool maybeOpenDb(string &reason, bool force, bool *maindberror) LOGDEB1("maybeOpenDb: force " << force << "\n"); if (force || nullptr == rcldb) { - rcldb = std::shared_ptr(new Rcl::Db(theconfig)); + rcldb = std::make_shared(theconfig); } rcldb->rmQueryDb(""); auto edbs = &prefs.activeExtraDbs; diff --git a/src/qtgui/rclm_view.cpp b/src/qtgui/rclm_view.cpp index 41d5e194..bad6eaff 100644 --- a/src/qtgui/rclm_view.cpp +++ b/src/qtgui/rclm_view.cpp @@ -22,6 +22,7 @@ #include #include +#include #include "qxtconfirmationmessage.h" @@ -75,7 +76,7 @@ void RclMain::viewUrl() Rcl::Query *query = new Rcl::Query(rcldb.get()); DocSequenceDb *src = new DocSequenceDb( rcldb, std::shared_ptr(query), "", - std::shared_ptr(new Rcl::SearchData)); + std::make_shared()); m_source = std::shared_ptr(src); diff --git a/src/qtgui/xmltosd.cpp b/src/qtgui/xmltosd.cpp index 1def6e37..f3c24e46 100644 --- a/src/qtgui/xmltosd.cpp +++ b/src/qtgui/xmltosd.cpp @@ -22,6 +22,8 @@ #include "guiutils.h" #include "log.h" #include "xmltosd.h" + +#include #include "smallut.h" #include "recoll.h" #include "picoxml.h" @@ -51,7 +53,7 @@ public: } resetTemps(); // A new search descriptor. Allocate data structure - sd = std::shared_ptr(new SearchData); + sd = std::make_shared(); if (!sd) { LOGERR("SDHXMLHandler::startElement: out of memory\n"); contentsOk = false;