Disable use of AlphaBlend() on Win98, it's broken. Bug 36694. r=kmcclusk, a=brendan

This commit is contained in:
uid408 2000-07-25 03:51:39 +00:00
Родитель af71c3262b
Коммит 25243d7e90
1 изменённых файлов: 12 добавлений и 2 удалений

Просмотреть файл

@ -18,6 +18,7 @@
* Rights Reserved.
*
* Contributor(s):
* emk <VYV03354@nifty.ne.jp>
*/
@ -920,8 +921,17 @@ PRBool nsImageWin::CanAlphaBlend(void)
static PRBool alreadyChecked = PR_FALSE;
if (!alreadyChecked) {
gAlphaBlend = (ALPHABLENDPROC)::GetProcAddress(::LoadLibrary("msimg32"),
"AlphaBlend");
OSVERSIONINFO os;
os.dwOSVersionInfoSize = sizeof(os);
::GetVersionEx(&os);
// If running on Win98, disable using AlphaBlend()
// to avoid Win98 AlphaBlend() bug
if (VER_PLATFORM_WIN32_WINDOWS != os.dwPlatformId ||
os.dwMajorVersion != 4 || os.dwMinorVersion != 10) {
gAlphaBlend = (ALPHABLENDPROC)::GetProcAddress(::LoadLibrary("msimg32"),
"AlphaBlend");
}
alreadyChecked = PR_TRUE;
}