diff options
author | Nicolas Werner <nicolas.werner@hotmail.de> | 2019-12-13 01:31:14 +0100 |
---|---|---|
committer | Nicolas Werner <nicolas.werner@hotmail.de> | 2019-12-13 01:31:14 +0100 |
commit | 9c1912ed93cc0628c578a005f0c06bed7b88f63d (patch) | |
tree | 05c03d313bca1f95a75f53a77714db0ae4d69b27 /src/timeline | |
parent | Bumb libsodium version, as 1.0.16 is not available anymore (diff) | |
download | nheko-9c1912ed93cc0628c578a005f0c06bed7b88f63d.tar.xz |
Fix preview of sent encrypted images
Diffstat (limited to 'src/timeline')
-rw-r--r-- | src/timeline/TimelineModel.cpp | 21 |
1 files changed, 11 insertions, 10 deletions
diff --git a/src/timeline/TimelineModel.cpp b/src/timeline/TimelineModel.cpp index 9da8a194..e49fcf57 100644 --- a/src/timeline/TimelineModel.cpp +++ b/src/timeline/TimelineModel.cpp @@ -414,6 +414,7 @@ TimelineModel::TimelineModel(TimelineViewManager *manager, QString room_id, QObj return eventCopy; }, ev); + events.remove(txn_id); events.insert(event_id, ev); @@ -666,7 +667,7 @@ TimelineModel::internalAddEvents( const std::vector<mtx::events::collections::TimelineEvents> &timeline) { std::vector<QString> ids; - for (const auto &e : timeline) { + for (auto e : timeline) { QString id = boost::apply_visitor([](const auto &e) -> QString { return eventId(e); }, e); @@ -707,16 +708,16 @@ TimelineModel::internalAddEvents( if (auto event = boost::get<mtx::events::EncryptedEvent<mtx::events::msg::Encrypted>>(&e)) { - auto temp = decryptEvent(*event).event; - auto encInfo = boost::apply_visitor( - [](const auto &ev) -> boost::optional<mtx::crypto::EncryptedFile> { - return eventEncryptionInfo(ev); - }, - temp); - - if (encInfo) - emit newEncryptedImage(encInfo.value()); + e = decryptEvent(*event).event; } + auto encInfo = boost::apply_visitor( + [](const auto &ev) -> boost::optional<mtx::crypto::EncryptedFile> { + return eventEncryptionInfo(ev); + }, + e); + + if (encInfo) + emit newEncryptedImage(encInfo.value()); this->events.insert(id, e); ids.push_back(id); |