[winspool 5/6] More completely finish adding a printer before invoking DocumentProperties
Jeremy White
jwhite at codeweavers.com
Wed Dec 23 14:21:01 CST 2009
---
dlls/winspool.drv/info.c | 37 +++++++++++++++++++------------------
1 files changed, 19 insertions(+), 18 deletions(-)
diff --git a/dlls/winspool.drv/info.c b/dlls/winspool.drv/info.c
index 936599e..8598ddb 100644
--- a/dlls/winspool.drv/info.c
+++ b/dlls/winspool.drv/info.c
@@ -2818,6 +2818,25 @@ HANDLE WINAPI AddPrinterW(LPWSTR pName, DWORD Level, LPBYTE pPrinter)
(LPBYTE)&pi->Attributes, sizeof(DWORD));
set_reg_szW(hkeyPrinter, DatatypeW, pi->pDatatype);
+ set_reg_szW(hkeyPrinter, DescriptionW, pi->pComment);
+ set_reg_szW(hkeyPrinter, LocationW, pi->pLocation);
+ set_reg_szW(hkeyPrinter, NameW, pi->pPrinterName);
+ set_reg_szW(hkeyPrinter, ParametersW, pi->pParameters);
+
+ set_reg_szW(hkeyPrinter, PortW, pi->pPortName);
+ set_reg_szW(hkeyPrinter, Print_ProcessorW, pi->pPrintProcessor);
+ set_reg_szW(hkeyPrinter, Printer_DriverW, pi->pDriverName);
+ RegSetValueExW(hkeyPrinter, priorityW, 0, REG_DWORD,
+ (LPBYTE)&pi->Priority, sizeof(DWORD));
+ set_reg_szW(hkeyPrinter, Separator_FileW, pi->pSepFile);
+ set_reg_szW(hkeyPrinter, Share_NameW, pi->pShareName);
+ RegSetValueExW(hkeyPrinter, start_timeW, 0, REG_DWORD,
+ (LPBYTE)&pi->StartTime, sizeof(DWORD));
+ RegSetValueExW(hkeyPrinter, statusW, 0, REG_DWORD,
+ (LPBYTE)&pi->Status, sizeof(DWORD));
+ RegSetValueExW(hkeyPrinter, until_timeW, 0, REG_DWORD,
+ (LPBYTE)&pi->UntilTime, sizeof(DWORD));
+
/* See if we can load the driver. We may need the devmode structure anyway
*
* FIXME:
@@ -2863,24 +2882,6 @@ HANDLE WINAPI AddPrinterW(LPWSTR pName, DWORD Level, LPBYTE pPrinter)
if(!pi->pDevMode)
HeapFree(GetProcessHeap(), 0, dmW);
}
- set_reg_szW(hkeyPrinter, DescriptionW, pi->pComment);
- set_reg_szW(hkeyPrinter, LocationW, pi->pLocation);
- set_reg_szW(hkeyPrinter, NameW, pi->pPrinterName);
- set_reg_szW(hkeyPrinter, ParametersW, pi->pParameters);
-
- set_reg_szW(hkeyPrinter, PortW, pi->pPortName);
- set_reg_szW(hkeyPrinter, Print_ProcessorW, pi->pPrintProcessor);
- set_reg_szW(hkeyPrinter, Printer_DriverW, pi->pDriverName);
- RegSetValueExW(hkeyPrinter, priorityW, 0, REG_DWORD,
- (LPBYTE)&pi->Priority, sizeof(DWORD));
- set_reg_szW(hkeyPrinter, Separator_FileW, pi->pSepFile);
- set_reg_szW(hkeyPrinter, Share_NameW, pi->pShareName);
- RegSetValueExW(hkeyPrinter, start_timeW, 0, REG_DWORD,
- (LPBYTE)&pi->StartTime, sizeof(DWORD));
- RegSetValueExW(hkeyPrinter, statusW, 0, REG_DWORD,
- (LPBYTE)&pi->Status, sizeof(DWORD));
- RegSetValueExW(hkeyPrinter, until_timeW, 0, REG_DWORD,
- (LPBYTE)&pi->UntilTime, sizeof(DWORD));
RegCloseKey(hkeyPrinter);
RegCloseKey(hkeyPrinters);
More information about the wine-patches
mailing list