mirror of
https://github.com/Nheko-Reborn/nheko.git
synced 2024-10-30 17:40:47 +03:00
Try to get rid of an allocation
This commit is contained in:
parent
dfe2495d9a
commit
567078d39f
3 changed files with 9 additions and 11 deletions
|
@ -770,7 +770,7 @@ EventStore::decryptEvent(const IdIndex &idx,
|
|||
}
|
||||
|
||||
mtx::events::collections::TimelineEvents *
|
||||
EventStore::get(std::string_view id, std::string_view related_to, bool decrypt, bool resolve_edits)
|
||||
EventStore::get(std::string id, std::string_view related_to, bool decrypt, bool resolve_edits)
|
||||
{
|
||||
if (this->thread() != QThread::currentThread())
|
||||
nhlog::db()->warn("{} called from a different thread!", __func__);
|
||||
|
@ -778,7 +778,7 @@ EventStore::get(std::string_view id, std::string_view related_to, bool decrypt,
|
|||
if (id.empty())
|
||||
return nullptr;
|
||||
|
||||
IdIndex index{room_id_, std::string(id)};
|
||||
IdIndex index{room_id_, std::move(id)};
|
||||
if (resolve_edits) {
|
||||
auto edits_ = edits(index.id);
|
||||
if (!edits_.empty()) {
|
||||
|
@ -796,14 +796,12 @@ EventStore::get(std::string_view id, std::string_view related_to, bool decrypt,
|
|||
http::client()->get_event(
|
||||
room_id_,
|
||||
index.id,
|
||||
[this,
|
||||
relatedTo = std::string(related_to.data(), related_to.size()),
|
||||
id = index.id](const mtx::events::collections::TimelineEvents &timeline,
|
||||
mtx::http::RequestErr err) {
|
||||
[this, relatedTo = std::string(related_to), id = index.id](
|
||||
const mtx::events::collections::TimelineEvents &timeline,
|
||||
mtx::http::RequestErr err) {
|
||||
if (err) {
|
||||
nhlog::net()->error(
|
||||
"Failed to retrieve event with id {}, which "
|
||||
"was "
|
||||
"Failed to retrieve event with id {}, which was "
|
||||
"requested to show the replyTo for event {}",
|
||||
relatedTo,
|
||||
id);
|
||||
|
|
|
@ -70,7 +70,7 @@ public:
|
|||
|
||||
// optionally returns the event or nullptr and fetches it, after which it emits a
|
||||
// relatedFetched event
|
||||
mtx::events::collections::TimelineEvents *get(std::string_view id,
|
||||
mtx::events::collections::TimelineEvents *get(std::string id,
|
||||
std::string_view related_to,
|
||||
bool decrypt = true,
|
||||
bool resolve_edits = true);
|
||||
|
|
|
@ -574,7 +574,7 @@ TimelineModel::data(const mtx::events::collections::TimelineEvents &event, int r
|
|||
!event_id(event).empty() && event_id(event).front() == '$');
|
||||
case IsEncrypted: {
|
||||
auto id = event_id(event);
|
||||
auto encrypted_event = events.get(id, id, false);
|
||||
auto encrypted_event = events.get(id, "", false);
|
||||
return encrypted_event &&
|
||||
std::holds_alternative<
|
||||
mtx::events::EncryptedEvent<mtx::events::msg::Encrypted>>(
|
||||
|
@ -583,7 +583,7 @@ TimelineModel::data(const mtx::events::collections::TimelineEvents &event, int r
|
|||
|
||||
case Trustlevel: {
|
||||
auto id = event_id(event);
|
||||
auto encrypted_event = events.get(id, id, false);
|
||||
auto encrypted_event = events.get(id, "", false);
|
||||
if (encrypted_event) {
|
||||
if (auto encrypted =
|
||||
std::get_if<mtx::events::EncryptedEvent<mtx::events::msg::Encrypted>>(
|
||||
|
|
Loading…
Reference in a new issue