1 files changed, 8 insertions, 4 deletions
diff --git a/src/timeline/TimelineModel.cpp b/src/timeline/TimelineModel.cpp
index b41d1e0c..03606d90 100644
--- a/src/timeline/TimelineModel.cpp
+++ b/src/timeline/TimelineModel.cpp
@@ -1162,12 +1162,12 @@ TimelineModel::syncState(const mtx::responses::State &s)
void
TimelineModel::addEvents(const mtx::responses::Timeline &timeline)
{
- if (timeline.events.empty())
- return;
-
if (timeline.limited)
setPaginationInProgress(false);
+ if (timeline.events.empty())
+ return;
+
events.handleSync(timeline);
using namespace mtx::events;
@@ -2034,7 +2034,11 @@ TimelineModel::copyMedia(const QString &eventId) const
clipContents->setImageData(img);
}
- QGuiApplication::clipboard()->setMimeData(clipContents);
+ // Qt uses COM for clipboard management on windows and our HTTP threads do not
+ // initialize it, so run in the event loop
+ QTimer::singleShot(0, ChatPage::instance(), [clipContents] {
+ QGuiApplication::clipboard()->setMimeData(clipContents);
+ });
return;
} catch (const std::exception &e) {
|