aboutsummaryrefslogtreecommitdiff
path: root/lib/avatar.cpp
diff options
context:
space:
mode:
authorBlack Hat <bhat@encom.eu.org>2018-09-12 21:04:29 +0800
committerGitHub <noreply@github.com>2018-09-12 21:04:29 +0800
commit1e78ca6b9c09cb16677ab3db1656085adbd4901b (patch)
tree633a6e8fe8a244b44b510b608ec3103431a0e042 /lib/avatar.cpp
parent79f338877dec3de5ec7394f190025395877cb00b (diff)
parent2a1596c16baad77fc80391c66694101f91028deb (diff)
downloadlibquotient-1e78ca6b9c09cb16677ab3db1656085adbd4901b.tar.gz
libquotient-1e78ca6b9c09cb16677ab3db1656085adbd4901b.zip
Merge pull request #1 from QMatrixClient/master
Merge to latest commit.
Diffstat (limited to 'lib/avatar.cpp')
-rw-r--r--lib/avatar.cpp17
1 files changed, 8 insertions, 9 deletions
diff --git a/lib/avatar.cpp b/lib/avatar.cpp
index 7e6dc50b..be9b6a78 100644
--- a/lib/avatar.cpp
+++ b/lib/avatar.cpp
@@ -126,6 +126,14 @@ QImage Avatar::Private::get(Connection* connection, QSize size,
if (callback)
callbacks.emplace_back(move(callback));
_thumbnailRequest = connection->getThumbnail(_url, size);
+ if (_originalImage.isNull() && !_defaultIcon.isNull())
+ {
+ _originalImage = QImage(_defaultIcon.actualSize(size),
+ QImage::Format_ARGB32_Premultiplied);
+ _originalImage.fill(Qt::transparent);
+ QPainter p { &_originalImage };
+ _defaultIcon.paint(&p, { QPoint(), _defaultIcon.actualSize(size) });
+ }
QObject::connect( _thumbnailRequest, &MediaThumbnailJob::success,
_thumbnailRequest, [this] {
_fetched = true;
@@ -138,15 +146,6 @@ QImage Avatar::Private::get(Connection* connection, QSize size,
});
}
- if( _originalImage.isNull() )
- {
- if (_defaultIcon.isNull())
- return _originalImage;
-
- QPainter p { &_originalImage };
- _defaultIcon.paint(&p, { QPoint(), _defaultIcon.actualSize(size) });
- }
-
for (const auto& p: _scaledImages)
if (p.first == size)
return p.second;