Removed document's requirement when it's unavailable in userpic builder.
This commit is contained in:
parent
4807244682
commit
ae2182c1e5
|
@ -47,9 +47,8 @@ PreviewPainter::PreviewPainter(int size)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
not_null<DocumentData*> PreviewPainter::document() const {
|
DocumentData *PreviewPainter::document() const {
|
||||||
Expects(_media != nullptr);
|
return _media ? _media->owner() : nullptr;
|
||||||
return _media->owner();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void PreviewPainter::setPlayOnce(bool value) {
|
void PreviewPainter::setPlayOnce(bool value) {
|
||||||
|
@ -183,7 +182,7 @@ void EmojiUserpic::result(int size, Fn<void(UserpicBuilder::Result)> done) {
|
||||||
const auto painter = lifetime().make_state<PreviewPainter>(size);
|
const auto painter = lifetime().make_state<PreviewPainter>(size);
|
||||||
// Reset to the first frame.
|
// Reset to the first frame.
|
||||||
const auto document = _painter.document();
|
const auto document = _painter.document();
|
||||||
painter->setDocument(document, [=] {
|
const auto callback = [=] {
|
||||||
auto background = GenerateGradient(Size(size), _colors, false);
|
auto background = GenerateGradient(Size(size), _colors, false);
|
||||||
|
|
||||||
{
|
{
|
||||||
|
@ -194,12 +193,17 @@ void EmojiUserpic::result(int size, Fn<void(UserpicBuilder::Result)> done) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (*_playOnce) {
|
if (*_playOnce && document) {
|
||||||
done({ std::move(background), document->id, _colors });
|
done({ std::move(background), document->id, _colors });
|
||||||
} else {
|
} else {
|
||||||
done({ std::move(background) });
|
done({ std::move(background) });
|
||||||
}
|
}
|
||||||
});
|
};
|
||||||
|
if (document) {
|
||||||
|
painter->setDocument(document, callback);
|
||||||
|
} else {
|
||||||
|
callback();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void EmojiUserpic::setGradientColors(std::vector<QColor> colors) {
|
void EmojiUserpic::setGradientColors(std::vector<QColor> colors) {
|
||||||
|
|
|
@ -29,7 +29,7 @@ class PreviewPainter final {
|
||||||
public:
|
public:
|
||||||
PreviewPainter(int size);
|
PreviewPainter(int size);
|
||||||
|
|
||||||
[[nodiscard]] not_null<DocumentData*> document() const;
|
[[nodiscard]] DocumentData *document() const;
|
||||||
|
|
||||||
void setPlayOnce(bool value);
|
void setPlayOnce(bool value);
|
||||||
void setDocument(
|
void setDocument(
|
||||||
|
|
Loading…
Reference in New Issue
Block a user