Huw Davies : comdlg32: Initialize the printer combobox using unicode strings.
Alexandre Julliard
julliard at winehq.org
Wed Jan 21 06:39:51 CST 2009
Module: wine
Branch: master
Commit: bb9494ba82835ee6f097a2efd0dffe8df18264e2
URL: http://source.winehq.org/git/wine.git/?a=commit;h=bb9494ba82835ee6f097a2efd0dffe8df18264e2
Author: Huw Davies <huw at codeweavers.com>
Date: Wed Jan 21 10:28:00 2009 +0000
comdlg32: Initialize the printer combobox using unicode strings.
---
dlls/comdlg32/printdlg.c | 19 ++++++++++++++++++-
1 files changed, 18 insertions(+), 1 deletions(-)
diff --git a/dlls/comdlg32/printdlg.c b/dlls/comdlg32/printdlg.c
index 146fe4f..168b9b6 100644
--- a/dlls/comdlg32/printdlg.c
+++ b/dlls/comdlg32/printdlg.c
@@ -2597,6 +2597,20 @@ static void pagesetup_set_defaultsource(PageSetupDataA *pda, WORD source)
GlobalUnlock(pda->dlga->hDevMode);
}
+static WCHAR *pagesetup_get_devname(const PageSetupDataA *pda)
+{
+ DEVNAMES *dn;
+ int len;
+ WCHAR *name;
+
+ dn = GlobalLock(pda->dlga->hDevNames);
+ len = MultiByteToWideChar(CP_ACP, 0, (char*)dn + dn->wDeviceOffset, -1, NULL, 0);
+ name = HeapAlloc(GetProcessHeap(), 0, len * sizeof(WCHAR));
+ MultiByteToWideChar(CP_ACP, 0, (char*)dn + dn->wDeviceOffset, -1, name, len);
+ GlobalUnlock(pda->dlga->hDevNames);
+ return name;
+}
+
static BOOL pagesetup_update_papersize(PageSetupDataA *pda)
{
DEVNAMES *dn;
@@ -2793,14 +2807,17 @@ static void pagesetup_init_combos(HWND hDlg, PageSetupDataA *pda)
DEVNAMES *dn;
DEVMODEA *dm;
LPSTR devname,portname;
+ LPWSTR devnameW;
dn = GlobalLock(pda->dlga->hDevNames);
dm = GlobalLock(pda->dlga->hDevMode);
+ devnameW = pagesetup_get_devname(pda);
devname = ((char*)dn)+dn->wDeviceOffset;
portname = ((char*)dn)+dn->wOutputOffset;
- PRINTDLG_SetUpPrinterListComboA(hDlg, cmb1, devname);
+ PRINTDLG_SetUpPrinterListComboW(hDlg, cmb1, devnameW);
PRINTDLG_SetUpPaperComboBoxA(hDlg,cmb2,devname,portname,dm);
PRINTDLG_SetUpPaperComboBoxA(hDlg,cmb3,devname,portname,dm);
+ HeapFree(GetProcessHeap(), 0, devnameW);
GlobalUnlock(pda->dlga->hDevNames);
GlobalUnlock(pda->dlga->hDevMode);
}
More information about the wine-cvs
mailing list