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

index d0556f85..603bb71a 100644 --- a/src/AvatarProvider.cpp +++ b/src/AvatarProvider.cpp
@@ -24,6 +24,7 @@ #include "Cache.h" #include "Logging.h" #include "MatrixClient.h" +#include "Utils.h" static QPixmapCache avatar_cache; @@ -44,7 +45,7 @@ resolve(const QString &avatarUrl, int size, QObject *receiver, AvatarCallback ca auto data = cache::image(cacheKey); if (!data.isNull()) { - pixmap.loadFromData(data); + pixmap = QPixmap::fromImage(utils::readImage(&data)); avatar_cache.insert(cacheKey, pixmap); callback(pixmap); return; @@ -54,9 +55,8 @@ resolve(const QString &avatarUrl, int size, QObject *receiver, AvatarCallback ca QObject::connect(proxy.get(), &AvatarProxy::avatarDownloaded, receiver, - [callback, cacheKey](const QByteArray &data) { - QPixmap pm; - pm.loadFromData(data); + [callback, cacheKey](QByteArray data) { + QPixmap pm = QPixmap::fromImage(utils::readImage(&data)); avatar_cache.insert(cacheKey, pm); callback(pm); });