gdi32: Add support for 16-bit QUERYESCSUPPORT queries.
This commit is contained in:
parent
7b3305169c
commit
c7d33e1d44
@ -1101,9 +1101,11 @@ INT WINAPI Escape( HDC hdc, INT escape, INT in_count, LPCSTR in_data, LPVOID out
|
|||||||
|
|
||||||
case QUERYESCSUPPORT:
|
case QUERYESCSUPPORT:
|
||||||
{
|
{
|
||||||
const INT *ptr = (const INT *)in_data;
|
DWORD code;
|
||||||
if (in_count < sizeof(INT)) return 0;
|
|
||||||
switch(*ptr)
|
if (in_count < sizeof(SHORT)) return 0;
|
||||||
|
code = (in_count < sizeof(DWORD)) ? *(const USHORT *)in_data : *(const DWORD *)in_data;
|
||||||
|
switch (code)
|
||||||
{
|
{
|
||||||
case ABORTDOC:
|
case ABORTDOC:
|
||||||
case ENDDOC:
|
case ENDDOC:
|
||||||
|
@ -66,15 +66,18 @@ INT PSDRV_ExtEscape( PHYSDEV dev, INT nEscape, INT cbInput, LPCVOID in_data,
|
|||||||
{
|
{
|
||||||
PSDRV_PDEVICE *physDev = get_psdrv_dev( dev );
|
PSDRV_PDEVICE *physDev = get_psdrv_dev( dev );
|
||||||
|
|
||||||
|
TRACE("%p,%d,%d,%p,%d,%p\n",
|
||||||
|
dev->hdc, nEscape, cbInput, in_data, cbOutput, out_data);
|
||||||
|
|
||||||
switch(nEscape)
|
switch(nEscape)
|
||||||
{
|
{
|
||||||
case QUERYESCSUPPORT:
|
case QUERYESCSUPPORT:
|
||||||
if(cbInput < sizeof(INT))
|
if(cbInput < sizeof(SHORT))
|
||||||
{
|
{
|
||||||
WARN("cbInput < sizeof(INT) (=%d) for QUERYESCSUPPORT\n", cbInput);
|
WARN("cbInput < sizeof(SHORT) (=%d) for QUERYESCSUPPORT\n", cbInput);
|
||||||
return 0;
|
return 0;
|
||||||
} else {
|
} else {
|
||||||
UINT num = *(const UINT *)in_data;
|
DWORD num = (cbInput < sizeof(DWORD)) ? *(const USHORT *)in_data : *(const DWORD *)in_data;
|
||||||
TRACE("QUERYESCSUPPORT for %d\n", num);
|
TRACE("QUERYESCSUPPORT for %d\n", num);
|
||||||
|
|
||||||
switch(num) {
|
switch(num) {
|
||||||
|
@ -316,7 +316,7 @@ static INT X11DRV_ExtEscape( PHYSDEV dev, INT escape, INT in_count, LPCVOID in_d
|
|||||||
switch(escape)
|
switch(escape)
|
||||||
{
|
{
|
||||||
case QUERYESCSUPPORT:
|
case QUERYESCSUPPORT:
|
||||||
if (in_data)
|
if (in_data && in_count >= sizeof(DWORD))
|
||||||
{
|
{
|
||||||
switch (*(const INT *)in_data)
|
switch (*(const INT *)in_data)
|
||||||
{
|
{
|
||||||
|
Loading…
x
Reference in New Issue
Block a user