summary refs log tree commit diff
path: root/src/ChatPage.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/ChatPage.cpp')
-rw-r--r--src/ChatPage.cpp11
1 files changed, 5 insertions, 6 deletions
diff --git a/src/ChatPage.cpp b/src/ChatPage.cpp

index 698a4ae2..029444a3 100644 --- a/src/ChatPage.cpp +++ b/src/ChatPage.cpp
@@ -307,16 +307,16 @@ ChatPage::ChatPage(QSharedPointer<UserSettings> userSettings, QWidget *parent) QString mimeClass, const QString &fn, const std::optional<RelatedInfo> &related) { - QMimeDatabase db; - QMimeType mime = db.mimeTypeForData(dev.data()); - if (!dev->open(QIODevice::ReadOnly)) { emit uploadFailed( QString("Error while reading media: %1").arg(dev->errorString())); return; } - auto bin = dev->peek(dev->size()); + auto bin = dev->readAll(); + QMimeDatabase db; + QMimeType mime = db.mimeTypeForData(bin); + auto payload = std::string(bin.data(), bin.size()); std::optional<mtx::crypto::EncryptedFile> encryptedFile; if (cache::isRoomEncrypted(current_room_.toStdString())) { @@ -328,10 +328,9 @@ ChatPage::ChatPage(QSharedPointer<UserSettings> userSettings, QWidget *parent) QSize dimensions; QString blurhash; if (mimeClass == "image") { - dimensions = QImageReader(dev.data()).size(); - QImage img; img.loadFromData(bin); + dimensions = img.size(); if (img.height() > 200 && img.width() > 360) img = img.scaled(360, 200, Qt::KeepAspectRatioByExpanding); std::vector<unsigned char> data;