diff --git a/clients/modernsystem/modernsys.cpp b/clients/modernsystem/modernsys.cpp index 6295ba5441..b893c240fd 100644 --- a/clients/modernsystem/modernsys.cpp +++ b/clients/modernsystem/modernsys.cpp @@ -141,7 +141,7 @@ QSize ModernButton::sizeHint() const void ModernButton::reset() { - repaint(); + repaint(false); } void ModernButton::setBitmap(const unsigned char *bitmap) @@ -161,8 +161,10 @@ void ModernButton::drawButton(QPainter *p) if(iButtonPix) p->drawPixmap(0, 0, isDown() ? *iButtonPixDown : *iButtonPix); } - p->setPen(buttonFg); - p->drawPixmap(isDown() ? 4 : 3, isDown() ? 5 : 4, deco); + if(!deco.isNull()){ + p->setPen(buttonFg); + p->drawPixmap(isDown() ? 4 : 3, isDown() ? 5 : 4, deco); + } } void ModernSys::slotReset() @@ -453,4 +455,15 @@ void ModernSys::init() // } +void ModernSys::activeChange(bool) +{ + repaint(false); + button[0]->reset(); + button[1]->reset(); + button[2]->reset(); + button[3]->reset(); + if(button[4]) + button[4]->reset(); +} + diff --git a/clients/modernsystem/modernsys.h b/clients/modernsystem/modernsys.h index 6a76ce3e85..26fd9e0079 100644 --- a/clients/modernsystem/modernsys.h +++ b/clients/modernsystem/modernsys.h @@ -44,6 +44,7 @@ protected: void maximizeChange(bool m); void doShape(); void recalcTitleBuffer(); + void activeChange(bool); protected slots: void slotReset(); private: