===================================================================
--- listview.c (revision 51320)
+++ listview.c (working copy)
-@@ -1634,8 +1635,19 @@
+@@ -315,6 +315,7 @@
+ COLORREF clrBk;
+ COLORREF clrText;
+ COLORREF clrTextBk;
++ BOOL bDefaultBkColor;
+
+ /* font */
+ HFONT hDefaultFont;
+@@ -1635,8 +1636,19 @@
/* used to handle collapse main item column case */
static inline BOOL LISTVIEW_DrawFocusRect(const LISTVIEW_INFO *infoPtr, HDC hdc)
{
}
/* Listview invalidation functions: use _only_ these functions to invalidate */
-@@ -5041,7 +5053,11 @@
+@@ -5042,7 +5054,11 @@
/* Draw marquee rectangle if appropriate */
if (infoPtr->bMarqueeSelect)
if (cdmode & CDRF_NOTIFYPOSTPAINT)
notify_postpaint(infoPtr, &nmlvcd);
+@@ -7856,6 +7872,7 @@
+ {
+ TRACE("(clrBk=%x)\n", clrBk);
+
++ infoPtr->bDefaultBkColor = FALSE;
+ if(infoPtr->clrBk != clrBk) {
+ if (infoPtr->clrBk != CLR_NONE) DeleteObject(infoPtr->hBkBrush);
+ infoPtr->clrBk = clrBk;
+@@ -9248,6 +9265,7 @@
+ infoPtr->clrText = CLR_DEFAULT;
+ infoPtr->clrTextBk = CLR_DEFAULT;
+ LISTVIEW_SetBkColor(infoPtr, comctl32_color.clrWindow);
++ infoPtr->bDefaultBkColor = TRUE;
+
+ /* set default values */
+ infoPtr->nFocusedItem = -1;
+@@ -11510,6 +11528,11 @@
+
+ case WM_SYSCOLORCHANGE:
+ COMCTL32_RefreshSysColors();
++ if (infoPtr->bDefaultBkColor)
++ {
++ LISTVIEW_SetBkColor(infoPtr, comctl32_color.clrWindow);
++ infoPtr->bDefaultBkColor = TRUE;
++ }
+ return 0;
+
+ /* case WM_TIMER: */
+Index: rebar.c
+===================================================================
+--- rebar.c (revision 51320)
++++ rebar.c (working copy)
+@@ -51,7 +51,6 @@
+ * - WM_QUERYNEWPALETTE
+ * - WM_RBUTTONDOWN
+ * - WM_RBUTTONUP
+- * - WM_SYSCOLORCHANGE
+ * - WM_VKEYTOITEM
+ * - WM_WININICHANGE
+ * Notifications:
+@@ -2540,10 +2539,8 @@
+
+ /* initialize band */
+ memset(lpBand, 0, sizeof(*lpBand));
+- lpBand->clrFore = infoPtr->clrText == CLR_NONE ? infoPtr->clrBtnText :
+- infoPtr->clrText;
+- lpBand->clrBack = infoPtr->clrBk == CLR_NONE ? infoPtr->clrBtnFace :
+- infoPtr->clrBk;
++ lpBand->clrFore = infoPtr->clrText;
++ lpBand->clrBack = infoPtr->clrBk;
+ lpBand->iImage = -1;
+
+ REBAR_CommonSetupBand(infoPtr->hwndSelf, lprbbi, lpBand);
+@@ -3793,6 +3790,8 @@
+
+ case WM_SYSCOLORCHANGE:
+ COMCTL32_RefreshSysColors();
++ infoPtr->clrBtnText = comctl32_color.clrBtnText;
++ infoPtr->clrBtnFace = comctl32_color.clrBtnFace;
+ return 0;
+
+ /* case WM_VKEYTOITEM: supported according to ControlSpy */