summaryrefslogtreecommitdiffstats
path: root/WebCore/platform/win/PlatformScreenWin.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'WebCore/platform/win/PlatformScreenWin.cpp')
-rw-r--r--WebCore/platform/win/PlatformScreenWin.cpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/WebCore/platform/win/PlatformScreenWin.cpp b/WebCore/platform/win/PlatformScreenWin.cpp
index 4af9e17..21fa10d 100644
--- a/WebCore/platform/win/PlatformScreenWin.cpp
+++ b/WebCore/platform/win/PlatformScreenWin.cpp
@@ -68,14 +68,18 @@ static DEVMODE deviceInfoForWidget(Widget* widget)
int screenDepth(Widget* widget)
{
DEVMODE deviceInfo = deviceInfoForWidget(widget);
+ if (deviceInfo.dmBitsPerPel == 32) {
+ // Some video drivers return 32, but this function is supposed to ignore the alpha
+ // component. See <http://webkit.org/b/42972>.
+ return 24;
+ }
return deviceInfo.dmBitsPerPel;
}
int screenDepthPerComponent(Widget* widget)
{
// FIXME: Assumes RGB -- not sure if this is right.
- DEVMODE deviceInfo = deviceInfoForWidget(widget);
- return deviceInfo.dmBitsPerPel / 3;
+ return screenDepth(widget) / 3;
}
bool screenIsMonochrome(Widget* widget)