summary refs log tree commit diff
path: root/src/timeline/TimelineModel.cpp
diff options
context:
space:
mode:
authorNicolas Werner <nicolas.werner@hotmail.de>2019-11-12 15:10:59 +0000
committerNicolas Werner <nicolas.werner@hotmail.de>2019-11-23 20:07:15 +0100
commit001c94865c98836b06c827ff890a5589dd97320d (patch)
treee0d06e4c708626f3b633f40b5dee16c9329d67ea /src/timeline/TimelineModel.cpp
parentAdd loading spinner and restore message send queue (diff)
downloadnheko-001c94865c98836b06c827ff890a5589dd97320d.tar.xz
Fix windows build
No idea, why apply visitor doesn't work with temporaries?
Diffstat (limited to 'src/timeline/TimelineModel.cpp')
-rw-r--r--src/timeline/TimelineModel.cpp8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/timeline/TimelineModel.cpp b/src/timeline/TimelineModel.cpp
index 6b0057a4..39abbf6f 100644
--- a/src/timeline/TimelineModel.cpp
+++ b/src/timeline/TimelineModel.cpp
@@ -438,16 +438,17 @@ TimelineModel::data(const QModelIndex &index, int role) const
                   boost::apply_visitor([](const auto &e) -> QString { return senderId(e); }, event);
 
                 for (int r = index.row() - 1; r > 0; r--) {
+                        auto tempEv        = events.value(eventOrder[r]);
                         QDateTime prevDate = boost::apply_visitor(
                           [](const auto &e) -> QDateTime { return eventTimestamp(e); },
-                          events.value(eventOrder[r]));
+                          tempEv);
                         prevDate.setTime(QTime());
                         if (prevDate != date)
                                 return QString("%2 %1").arg(date.toMSecsSinceEpoch()).arg(userId);
 
                         QString prevUserId =
                           boost::apply_visitor([](const auto &e) -> QString { return senderId(e); },
-                                               events.value(eventOrder[r]));
+                                               tempEv);
                         if (userId != prevUserId)
                                 break;
                 }
@@ -1313,7 +1314,8 @@ TimelineModel::processOnePendingMessage()
 
         QString txn_id_qstr = pending.first();
 
-        boost::apply_visitor(SendMessageVisitor{txn_id_qstr, this}, events.value(txn_id_qstr));
+        auto event = events.value(txn_id_qstr);
+        boost::apply_visitor(SendMessageVisitor{txn_id_qstr, this}, event);
 }
 
 void