On St, 08 srp 2001, Alexandre Julliard wrote:
Ladislav Sladecek <lsla(a)post.cz> writes:
2) The real reason for the crash is that the application calls Escape16 with hdc equal to 0 and function equal to GETPRINTINGOFFSET. I do not understand
It's not supposed to crash even if the hdc is invalid. Do you have a backtrace of the crash?
I ovelooked that the EscapeXXXX functions changed too. If you look at the source of Escape16 you will find this: case GETPHYSPAGESIZE: case GETPRINTINGOFFSET: case GETSCALINGFACTOR: { POINT16 *ptr = MapSL(in_data); POINT pt32; ret = Escape( hdc, escape, 0, NULL, &pt32 ); ptr->x = pt32.x; ptr->y = pt32.y; return ret; } The function is called like this: 0806c1c8:Call GDI.38: ESCAPE(0x0000,0x000d,0x0000,0x00000000,0657:e8f4) ret=0ff7:4428 ds=1207 The in_data pointer is null but the code assigns to it, thats why it crashes. I think that the result should be assigned to the output parameter. Ladislav Sladecek