Andrew Eikum : gdi32: Update metafile world transform immediately in winnt mode.
Module: wine Branch: master Commit: 083e61fddf90ade32a119d5b6bf84d27adefc589 URL: http://source.winehq.org/git/wine.git/?a=commit;h=083e61fddf90ade32a119d5b6b... Author: Andrew Eikum <aeikum(a)codeweavers.com> Date: Fri Aug 25 08:10:44 2017 -0500 gdi32: Update metafile world transform immediately in winnt mode. The Chrome browser print function implements their own handling for EMR_MODIFYWORLDTRANSFORM which calls ModifyWorldTransform on the HDC directly without ever calling PlayEnhMetaFileRecord. In Wine, this transformation would get discarded when the callback function returned, causing the page to be printed at the wrong scale. Tests show that the transform is updated immediately during PlayEnhMetaFileRecord. In addition, a modified transform persists between callbacks until PlayEnhMetaFileRecord is called on a relevant type of callback, at which point the transform is reverted before playing back the record. Signed-off-by: Andrew Eikum <aeikum(a)codeweavers.com> Signed-off-by: Huw Davies <huw(a)codeweavers.com> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> --- dlls/gdi32/enhmetafile.c | 41 ++++++- dlls/gdi32/tests/metafile.c | 253 ++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 289 insertions(+), 5 deletions(-) Diff: http://source.winehq.org/git/wine.git/?a=commitdiff;h=083e61fddf90ade32a119d...
participants (1)
-
Alexandre Julliard