1
0
mirror of https://github.com/wine-mirror/wine synced 2024-06-29 06:14:34 +00:00

notepad: Use GetDesktopWindow() when main window is not yet created.

Commit 100504d2f5 introduced using GetDpiForWindow().
Unfortunately NOTEPAD_LoadSettingFromRegistry is executed when
the main window is not yet created, resulting in
having Globals.lfFont.lfHeight=0.
This is later stored in the registry in iPointSize=0.

In a fresh wine prefix there are not yet registry values created,
therefore the first run of notepad does not show this problem,
and iPointSize is saved with a sane value to the registry.

Having Globals.lfFont.lfHeight=0 manifests for example
in cups PDF prints being a single empty page.

The check of point_size for having a non-zero value should also fix
wine prefixes which have already a stored registry value of iPointSize=0.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55852
This commit is contained in:
Bernhard Übelacker 2023-11-20 14:35:38 +01:00 committed by Alexandre Julliard
parent a255dd1f3c
commit feda122578

View File

@ -280,9 +280,9 @@ static VOID NOTEPAD_LoadSettingFromRegistry(void)
size = sizeof(DWORD);
if(RegQueryValueExW(hkey, value_iPointSize, 0, &type, (LPBYTE)&point_size, &size) == ERROR_SUCCESS)
if(type == REG_DWORD)
if(type == REG_DWORD && point_size)
/* The value is stored as 10 * twips */
Globals.lfFont.lfHeight = -MulDiv(abs(point_size), GetDpiForWindow(Globals.hMainWnd), 720);
Globals.lfFont.lfHeight = -MulDiv(abs(point_size), GetDpiForWindow(GetDesktopWindow()), 720);
size = sizeof(Globals.lfFont.lfFaceName);
if(RegQueryValueExW(hkey, value_lfFaceName, 0, &type, (LPBYTE)&data_helper, &size) == ERROR_SUCCESS)