Module: wine Branch: master Commit: d99f6821183ef16457f5cedb13289bc715d11f09 URL: https://source.winehq.org/git/wine.git/?a=commit;h=d99f6821183ef16457f5cedb1...
Author: Alexandre Julliard julliard@winehq.org Date: Wed Sep 5 19:52:16 2018 +0200
gdi32: Don't return screen resolution on printer devices.
Signed-off-by: Alexandre Julliard julliard@winehq.org
---
dlls/gdi32/driver.c | 4 ++-- dlls/gdi32/tests/dc.c | 6 ++++++ 2 files changed, 8 insertions(+), 2 deletions(-)
diff --git a/dlls/gdi32/driver.c b/dlls/gdi32/driver.c index 6580008..ce60d11 100644 --- a/dlls/gdi32/driver.c +++ b/dlls/gdi32/driver.c @@ -355,7 +355,7 @@ static INT nulldrv_GetDeviceCaps( PHYSDEV dev, INT cap ) case SCALINGFACTORY: return 0; case VREFRESH: return GetDeviceCaps( dev->hdc, TECHNOLOGY ) == DT_RASDISPLAY ? 1 : 0; case DESKTOPHORZRES: - if (pGetSystemMetrics) + if (GetDeviceCaps( dev->hdc, TECHNOLOGY ) == DT_RASDISPLAY && pGetSystemMetrics) { DPI_AWARENESS_CONTEXT context; UINT ret; @@ -366,7 +366,7 @@ static INT nulldrv_GetDeviceCaps( PHYSDEV dev, INT cap ) } return GetDeviceCaps( dev->hdc, HORZRES ); case DESKTOPVERTRES: - if (pGetSystemMetrics) + if (GetDeviceCaps( dev->hdc, TECHNOLOGY ) == DT_RASDISPLAY && pGetSystemMetrics) { DPI_AWARENESS_CONTEXT context; UINT ret; diff --git a/dlls/gdi32/tests/dc.c b/dlls/gdi32/tests/dc.c index 5ad3b31..5eec74a 100644 --- a/dlls/gdi32/tests/dc.c +++ b/dlls/gdi32/tests/dc.c @@ -471,6 +471,12 @@ static void test_device_caps( HDC hdc, HDC ref_dc, const char *descr, int scale } else { + ok( GetDeviceCaps( ref_dc, DESKTOPHORZRES ) == GetDeviceCaps( ref_dc, HORZRES ), + "Got DESKTOPHORZRES %d on %s, expected %d\n", + GetDeviceCaps( ref_dc, DESKTOPHORZRES ), descr, GetDeviceCaps( ref_dc, HORZRES )); + ok( GetDeviceCaps( ref_dc, DESKTOPVERTRES ) == GetDeviceCaps( ref_dc, VERTRES ), + "Got DESKTOPVERTRES %d on %s, expected %d\n", + GetDeviceCaps( ref_dc, DESKTOPVERTRES ), descr, GetDeviceCaps( ref_dc, VERTRES )); SetRect( &ref_rect, 0, 0, GetDeviceCaps( ref_dc, DESKTOPHORZRES ), GetDeviceCaps( ref_dc, DESKTOPVERTRES ) ); }