diff --git a/lcl/interfaces/qt/qtobject.inc b/lcl/interfaces/qt/qtobject.inc index 393b3e2962..eadb5674f6 100644 --- a/lcl/interfaces/qt/qtobject.inc +++ b/lcl/interfaces/qt/qtobject.inc @@ -932,6 +932,17 @@ begin begin ClearCachedColors; FreeSysColorBrushes(True); + end else + begin + if QObject_isWidgetType(Sender) then + begin + W := QtObjectFromWidgetH(QWidgetH(Sender)); + if (W <> nil) and Assigned(W.LCLObject) and W.IsWindow then + begin + RecreateWnd(W.LCLObject); + Result := True; + end; + end; end; end; QEventShow, diff --git a/lcl/interfaces/qt5/qtobject.inc b/lcl/interfaces/qt5/qtobject.inc index 966fa081a7..4c7cfa6246 100644 --- a/lcl/interfaces/qt5/qtobject.inc +++ b/lcl/interfaces/qt5/qtobject.inc @@ -911,6 +911,17 @@ begin begin ClearCachedColors; FreeSysColorBrushes(True); + end else + begin + if QObject_isWidgetType(Sender) then + begin + W := QtObjectFromWidgetH(QWidgetH(Sender)); + if (W <> nil) and Assigned(W.LCLObject) and W.IsWindow then + begin + RecreateWnd(W.LCLObject); + Result := True; + end; + end; end; end; QEventShow,