Bypass transparency optimization with HC themes.

Don't use transparency optimization for theme items in Windows 8
or later with a high contrast theme in use.

See MoonchildProductions/Pale-Moon#1591
This commit is contained in:
wolfbeast 2018-07-26 17:58:48 +02:00 committed by Roy Tam
commit bb95fcfca5

View file

@ -1541,7 +1541,10 @@ nsNativeThemeWin::GetThemePartAndState(nsIFrame* aFrame, uint8_t aWidgetType,
static bool
AssumeThemePartAndStateAreTransparent(int32_t aPart, int32_t aState)
{
if (aPart == MENU_POPUPITEM && aState == MBI_NORMAL) {
// When using a high contrast theme on Windows 8 or later, we can't
// use this optimization.
if (!(IsWin8OrLater() && nsUXThemeData::IsHighContrastOn()) &&
aPart == MENU_POPUPITEM && aState == MBI_NORMAL) {
return true;
}
return false;