Commit 2546468b authored by Piotr Caban's avatar Piotr Caban Committed by Alexandre Julliard

gdi32: Implicitly call StartPage in ExtEscape on printer DC.

parent dd68561c
...@@ -743,17 +743,32 @@ INT WINAPI Escape( HDC hdc, INT escape, INT in_count, const char *in_data, void ...@@ -743,17 +743,32 @@ INT WINAPI Escape( HDC hdc, INT escape, INT in_count, const char *in_data, void
INT WINAPI ExtEscape( HDC hdc, INT escape, INT input_size, const char *input, INT WINAPI ExtEscape( HDC hdc, INT escape, INT input_size, const char *input,
INT output_size, char *output ) INT output_size, char *output )
{ {
struct print *print;
DC_ATTR *dc_attr; DC_ATTR *dc_attr;
if (is_meta_dc( hdc )) if (is_meta_dc( hdc ))
return METADC_ExtEscape( hdc, escape, input_size, input, output_size, output ); return METADC_ExtEscape( hdc, escape, input_size, input, output_size, output );
if (!(dc_attr = get_dc_attr( hdc ))) return 0; if (!(dc_attr = get_dc_attr( hdc ))) return 0;
if ((print = get_dc_print( dc_attr )) && dc_attr->emf) if (dc_attr->print)
{
switch (escape)
{
case PASSTHROUGH:
case POSTSCRIPT_DATA:
case GETFACENAME:
case DOWNLOADFACE:
case BEGIN_PATH:
case CLIP_TO_PATH:
case END_PATH:
case DOWNLOADHEADER:
print_call_start_page( dc_attr );
}
if (dc_attr->emf)
{ {
int ret = EMFDC_ExtEscape( dc_attr, escape, input_size, input, output_size, output ); int ret = EMFDC_ExtEscape( dc_attr, escape, input_size, input, output_size, output );
if (ret) return ret; if (ret) return ret;
} }
}
return NtGdiExtEscape( hdc, NULL, 0, escape, input_size, input, output_size, output ); return NtGdiExtEscape( hdc, NULL, 0, escape, input_size, input, output_size, output );
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment