]> git.saurik.com Git - wxWidgets.git/blobdiff - src/msw/notebook.cpp
showing a bevel button for a multiline label (is not multline on the OS level, but...
[wxWidgets.git] / src / msw / notebook.cpp
index 765866b1912e4aae6010ff2a1bf110e31498f88c..e4cfd4c2a0b5c92b70e1da33b1d831ce29cf40d1 100644 (file)
@@ -946,9 +946,28 @@ wxColour wxNotebook::GetThemeBackgroundColour()
                                         hTheme,
                                         10 /* TABP_BODY */,
                                         1 /* NORMAL */,
-                                        3802 /* color of bg fill */,
+                                        3821 /* FILLCOLORHINT */,
                                         &themeColor);
-            
+
+            /*
+            [DS] Workaround for WindowBlinds:
+            Some themes return a near black theme color using FILLCOLORHINT,
+            this makes notebook pages have an ugly black background and makes
+            text (usually black) unreadable. Retry again with FILLCOLOR.
+
+            This workaround potentially breaks appearance of some themes,
+            but in practice it already fixes some themes.
+            */
+            if (themeColor == 1)
+            {
+                wxUxThemeEngine::Get()->GetThemeColor(
+                                            hTheme,
+                                            10 /* TABP_BODY */,
+                                            1 /* NORMAL */,
+                                            3802 /* FILLCOLOR */,
+                                            &themeColor);
+            }
+
             wxColour colour(GetRValue(themeColor), GetGValue(themeColor), GetBValue(themeColor));
             return colour;
         }