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 7c03578558..573a9baa4d 100644 --- a/lcl/interfaces/qt5/qtobject.inc +++ b/lcl/interfaces/qt5/qtobject.inc @@ -907,6 +907,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,