From 692adacc2aeb611e06ca49457bbd6b54ef403040 Mon Sep 17 00:00:00 2001 From: Ilya Fedin Date: Sat, 22 Jan 2022 18:04:05 +0400 Subject: [PATCH] Fix support icon on Linux when system icon is present --- Telegram/SourceFiles/window/main_window.cpp | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/Telegram/SourceFiles/window/main_window.cpp b/Telegram/SourceFiles/window/main_window.cpp index 16c274e5d5..ff63bddd86 100644 --- a/Telegram/SourceFiles/window/main_window.cpp +++ b/Telegram/SourceFiles/window/main_window.cpp @@ -106,20 +106,24 @@ void ConvertIconToBlack(QImage &image) { } } -QIcon CreateOfficialIcon(Main::Session *session, bool returnNullIfDefault) { +QIcon CreateOfficialIcon(Main::Session *session) { const auto support = (session && session->supportMode()); - if (!support && returnNullIfDefault) { + if (!support) { return QIcon(); } auto image = Logo(); - if (support) { - ConvertIconToBlack(image); - } + ConvertIconToBlack(image); return QIcon(Ui::PixmapFromImage(std::move(image))); } QIcon CreateIcon(Main::Session *session, bool returnNullIfDefault) { - auto result = CreateOfficialIcon(session, returnNullIfDefault); + const auto officialIcon = CreateOfficialIcon(session); + if (!officialIcon.isNull() || returnNullIfDefault) { + return officialIcon; + } + + auto result = QIcon(Ui::PixmapFromImage(Logo())); + #if defined Q_OS_UNIX && !defined Q_OS_MAC const auto iconFromTheme = QIcon::fromTheme( Platform::GetIconName(), @@ -159,6 +163,7 @@ QIcon CreateIcon(Main::Session *session, bool returnNullIfDefault) { result.addPixmap(iconPixmap); } #endif + return result; }