diff --git a/kdecoration/CMakeLists.txt b/kdecoration/CMakeLists.txt --- a/kdecoration/CMakeLists.txt +++ b/kdecoration/CMakeLists.txt @@ -1,6 +1,6 @@ add_definitions(-DTRANSLATION_DOMAIN="breeze_kwin_deco") -find_package(KF5 REQUIRED COMPONENTS CoreAddons GuiAddons ConfigWidgets WindowSystem I18n) +find_package(KF5 REQUIRED COMPONENTS CoreAddons GuiAddons ConfigWidgets WindowSystem I18n IconThemes) find_package(Qt5 CONFIG REQUIRED COMPONENTS DBus) ### XCB @@ -82,6 +82,7 @@ KF5::ConfigWidgets KF5::GuiAddons KF5::I18n + KF5::IconThemes KF5::WindowSystem) if(BREEZE_HAVE_X11) diff --git a/kdecoration/breezebutton.cpp b/kdecoration/breezebutton.cpp --- a/kdecoration/breezebutton.cpp +++ b/kdecoration/breezebutton.cpp @@ -22,6 +22,7 @@ #include #include +#include #include #include @@ -143,8 +144,11 @@ { const QRectF iconRect( geometry().topLeft(), m_iconSize ); + QPalette palette = decoration()->client().data()->palette(); + palette.setColor(QPalette::Foreground, qobject_cast(decoration())->fontColor()); + KIconLoader::global()->setCustomPalette(palette); decoration()->client().data()->icon().paint(painter, iconRect.toRect()); - + KIconLoader::global()->resetPalette(); } else {