Module: wine Branch: master Commit: 4216179eaa75a12a48d96567b599be0af79e75d2 URL: https://gitlab.winehq.org/wine/wine/-/commit/4216179eaa75a12a48d96567b599be0...
Author: Piotr Caban piotr@codeweavers.com Date: Mon Apr 24 18:52:04 2023 +0200
wineps: Fix default device font selection.
---
dlls/wineps.drv/init.c | 2 +- dlls/wineps.drv/printproc.c | 2 ++ dlls/wineps.drv/psdrv.h | 1 + 3 files changed, 4 insertions(+), 1 deletion(-)
diff --git a/dlls/wineps.drv/init.c b/dlls/wineps.drv/init.c index 779abf1c98b..01cfa07e591 100644 --- a/dlls/wineps.drv/init.c +++ b/dlls/wineps.drv/init.c @@ -92,7 +92,7 @@ static const PSDRV_DEVMODE DefaultDevmode = HINSTANCE PSDRV_hInstance = 0; HANDLE PSDRV_Heap = 0;
-static HFONT PSDRV_DefaultFont = 0; +HFONT PSDRV_DefaultFont = 0; static const LOGFONTA DefaultLogFont = { 100, 0, 0, 0, FW_NORMAL, FALSE, FALSE, FALSE, ANSI_CHARSET, 0, 0, DEFAULT_QUALITY, FIXED_PITCH | FF_MODERN, "" diff --git a/dlls/wineps.drv/printproc.c b/dlls/wineps.drv/printproc.c index 0169873ceaf..af76b76a2ba 100644 --- a/dlls/wineps.drv/printproc.c +++ b/dlls/wineps.drv/printproc.c @@ -1134,6 +1134,8 @@ static HGDIOBJ get_object_handle(struct pp_data *data, HANDLETABLE *handletable, if (i & 0x80000000) { *pattern = NULL; + if ((i & 0x7fffffff) == DEVICE_DEFAULT_FONT) + return PSDRV_DefaultFont; return GetStockObject(i & 0x7fffffff); } *pattern = data->patterns + i; diff --git a/dlls/wineps.drv/psdrv.h b/dlls/wineps.drv/psdrv.h index 9817128fc70..81cb0206e7e 100644 --- a/dlls/wineps.drv/psdrv.h +++ b/dlls/wineps.drv/psdrv.h @@ -417,6 +417,7 @@ extern const UNICODEGLYPH PSDRV_AGLbyUV[] DECLSPEC_HIDDEN; /* duplicates inc extern HINSTANCE PSDRV_hInstance DECLSPEC_HIDDEN; extern HANDLE PSDRV_Heap DECLSPEC_HIDDEN; extern char *PSDRV_ANSIVector[256] DECLSPEC_HIDDEN; +extern HFONT PSDRV_DefaultFont DECLSPEC_HIDDEN;
extern INPUTSLOT *find_slot( PPD *ppd, const PSDRV_DEVMODE *dm ) DECLSPEC_HIDDEN; extern PAGESIZE *find_pagesize( PPD *ppd, const PSDRV_DEVMODE *dm ) DECLSPEC_HIDDEN;