gdi.exe: Rewrite QueryAbort16 to be independant of gdi32.dll internals.

This commit is contained in:
Eric Pouech 2009-11-15 22:10:05 +01:00 committed by Alexandre Julliard
parent 8e248c063f
commit 40eea7acd7
2 changed files with 21 additions and 25 deletions

View File

@ -134,6 +134,27 @@ static struct gdi_thunk* GDI_FindThunk(HDC16 hdc)
return NULL; return NULL;
} }
/**********************************************************************
* QueryAbort (GDI.155)
*
* Calls the app's AbortProc function if avail.
*
* RETURNS
* TRUE if no AbortProc avail or AbortProc wants to continue printing.
* FALSE if AbortProc wants to abort printing.
*/
BOOL16 WINAPI QueryAbort16(HDC16 hdc16, INT16 reserved)
{
struct gdi_thunk* thunk = GDI_FindThunk(hdc16);
if (!thunk) {
ERR("Invalid hdc 0x%x\n", hdc16);
return FALSE;
}
return GDI_Callback3216( thunk->pfn16, HDC_32(hdc16), 0 );
}
/********************************************************************** /**********************************************************************
* SetAbortProc (GDI.381) * SetAbortProc (GDI.381)
*/ */

View File

@ -57,31 +57,6 @@ static const char DefaultDevMode[] = "Default DevMode";
static const char PrinterDriverData[] = "PrinterDriverData"; static const char PrinterDriverData[] = "PrinterDriverData";
static const char Printers[] = "System\\CurrentControlSet\\Control\\Print\\Printers\\"; static const char Printers[] = "System\\CurrentControlSet\\Control\\Print\\Printers\\";
/**********************************************************************
* QueryAbort (GDI.155)
*
* Calls the app's AbortProc function if avail.
*
* RETURNS
* TRUE if no AbortProc avail or AbortProc wants to continue printing.
* FALSE if AbortProc wants to abort printing.
*/
BOOL16 WINAPI QueryAbort16(HDC16 hdc16, INT16 reserved)
{
BOOL ret = TRUE;
HDC hdc = HDC_32( hdc16 );
DC *dc = get_dc_ptr( hdc );
if(!dc) {
ERR("Invalid hdc %p\n", hdc);
return FALSE;
}
if (dc->pAbortProc) ret = dc->pAbortProc(hdc, 0);
release_dc_ptr( dc );
return ret;
}
/****************** misc. printer related functions */ /****************** misc. printer related functions */
/* /*