diff --git a/Telegram/SourceFiles/platform/linux/notifications_manager_linux.cpp b/Telegram/SourceFiles/platform/linux/notifications_manager_linux.cpp index 9265eb53b..84cd55b2c 100644 --- a/Telegram/SourceFiles/platform/linux/notifications_manager_linux.cpp +++ b/Telegram/SourceFiles/platform/linux/notifications_manager_linux.cpp @@ -691,7 +691,25 @@ void NotificationData::setImage(const QString &imagePath) { } if (_notification) { - _notification->set_icon(Gio::Icon::create(imagePath.toStdString())); + const auto imageData = [&] { + QFile f(imagePath); + if (f.open(QIODevice::ReadOnly)) { + return f.readAll(); + } + return QByteArray(); + }(); + + if (imageData.isEmpty()) { + return; + } + + const auto imageBytes = Glib::Bytes::create( + imageData.constData(), + imageData.size()); + + _notification->set_icon( + Glib::wrap(g_bytes_icon_new(imageBytes->gobj()))); + return; }