mirror of
git://source.winehq.org/git/wine.git
synced 2024-09-30 05:06:15 +00:00
iccvid: Reject unsupported output types.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=56698
This commit is contained in:
parent
66ceeed861
commit
640698e432
|
@ -797,26 +797,21 @@ static LRESULT ICCVID_DecompressQuery( ICCVID_Info *info, LPBITMAPINFO in, LPBIT
|
||||||
if( in->bmiHeader.biWidth != out->bmiHeader.biWidth )
|
if( in->bmiHeader.biWidth != out->bmiHeader.biWidth )
|
||||||
return ICERR_BADFORMAT;
|
return ICERR_BADFORMAT;
|
||||||
|
|
||||||
switch( out->bmiHeader.biBitCount )
|
switch( out->bmiHeader.biCompression )
|
||||||
{
|
{
|
||||||
case 16:
|
case BI_RGB:
|
||||||
if ( out->bmiHeader.biCompression == BI_BITFIELDS )
|
if ( out->bmiHeader.biBitCount == 16 || out->bmiHeader.biBitCount == 24 || out->bmiHeader.biBitCount == 32 )
|
||||||
{
|
return ICERR_OK;
|
||||||
if ( !ICCVID_CheckMask(out->bmiColors, 0x7C00, 0x03E0, 0x001F) &&
|
|
||||||
!ICCVID_CheckMask(out->bmiColors, 0xF800, 0x07E0, 0x001F) )
|
|
||||||
{
|
|
||||||
TRACE("unsupported output bit field(s) for 16-bit colors\n");
|
|
||||||
return ICERR_BADFORMAT;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
break;
|
break;
|
||||||
case 24:
|
case BI_BITFIELDS:
|
||||||
case 32:
|
if ( out->bmiHeader.biBitCount == 16 && ICCVID_CheckMask(out->bmiColors, 0x7C00, 0x03E0, 0x001F) )
|
||||||
|
return ICERR_OK;
|
||||||
|
if ( out->bmiHeader.biBitCount == 16 && ICCVID_CheckMask(out->bmiColors, 0xF800, 0x07E0, 0x001F) )
|
||||||
|
return ICERR_OK;
|
||||||
break;
|
break;
|
||||||
default:
|
|
||||||
TRACE("unsupported output bitcount = %d\n", out->bmiHeader.biBitCount );
|
|
||||||
return ICERR_BADFORMAT;
|
|
||||||
}
|
}
|
||||||
|
TRACE("unsupported output format\n");
|
||||||
|
return ICERR_BADFORMAT;
|
||||||
}
|
}
|
||||||
|
|
||||||
return ICERR_OK;
|
return ICERR_OK;
|
||||||
|
|
Loading…
Reference in a new issue