diff options
Diffstat (limited to 'WebCore/platform/win/PlatformScreenWin.cpp')
-rw-r--r-- | WebCore/platform/win/PlatformScreenWin.cpp | 8 |
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) |