L. Rahyen wrote:
@@ -37,7 +37,7 @@ WINE_DEFAULT_DEBUG_CHANNEL(winecfg);
#define RES_MAXLEN 5 /* the maximum number of characters in a screen dimension. 5 digits should be plenty, what kind of crazy person runs their screen >10,000 pixels across? */ #define MINDPI 96 -#define MAXDPI 160 +#define MAXDPI 480 #define DEFDPI 96
static const char logpixels_reg[] = "System\\CurrentControlSet\\Hardware Profiles\\Current\\Software\\Fonts"; @@ -243,9 +243,12 @@ static void on_d3d_pshader_mode_clicked(HWND dialog) { } static INT read_logpixels_reg(void) { + static const WCHAR szLogPixels[] = {'L', 'o', 'g', 'P', 'i', 'x', 'e', 'l', 's', 0}; DWORD dwLogPixels; - char *buf = get_reg_key(HKEY_LOCAL_MACHINE, logpixels_reg, - "LogPixels", NULL); + WCHAR *buf; + WCHAR szLogPixelsReg[MAXBUFLEN]; + MultiByteToWideChar(GetACP(), 0, logpixels_reg, -1, szLogPixelsReg, sizeof(szLogPixelsReg)/sizeof(szLogPixelsReg[0]) ); + buf = get_reg_keyW(HKEY_LOCAL_MACHINE, szLogPixelsReg, szLogPixels, NULL); dwLogPixels = buf ? *buf : DEFDPI; HeapFree(GetProcessHeap(), 0, buf); return dwLogPixels;
Don't convert a constant string using MultiByteToWideChar. -- Rob Shearman