Detlef Riekenberg : winspool: Add always the Win9x and the NT
printerdriver .
Alexandre Julliard
julliard at wine.codeweavers.com
Thu Aug 23 07:25:53 CDT 2007
Module: wine
Branch: master
Commit: 8506125cb96e45f226623663a0ebcfaa81115e7a
URL: http://source.winehq.org/git/wine.git/?a=commit;h=8506125cb96e45f226623663a0ebcfaa81115e7a
Author: Detlef Riekenberg <wine.dev at web.de>
Date: Wed Aug 22 20:24:35 2007 +0200
winspool: Add always the Win9x and the NT printerdriver.
---
dlls/winspool.drv/info.c | 38 +++++++++++++++++++++-----------------
1 files changed, 21 insertions(+), 17 deletions(-)
diff --git a/dlls/winspool.drv/info.c b/dlls/winspool.drv/info.c
index 56203da..1ed05fd 100644
--- a/dlls/winspool.drv/info.c
+++ b/dlls/winspool.drv/info.c
@@ -470,31 +470,35 @@ static BOOL add_printer_driver(const char *name)
{
DRIVER_INFO_3A di3a;
- static char driver_path[] = "wineps16",
- data_file[] = "<datafile?>",
- config_file[] = "wineps16",
- help_file[] = "<helpfile?>",
- dep_file[] = "<dependent files?>\0",
- monitor_name[] = "<monitor name?>",
+ static char driver_9x[] = "wineps16.drv",
+ driver_nt[] = "wineps.drv",
+ env_9x[] = "Windows 4.0",
+ env_nt[] = "Windows NT x86",
+ data_file[] = "generic.ppd",
default_data_type[] = "RAW";
- di3a.cVersion = (GetVersion() & 0x80000000) ? 0 : 3; /* FIXME: add 1, 2 */
+ ZeroMemory(&di3a, sizeof(DRIVER_INFO_3A));
+ di3a.cVersion = 3;
di3a.pName = (char *)name;
- di3a.pEnvironment = NULL; /* NULL means auto */
- di3a.pDriverPath = driver_path;
+ di3a.pEnvironment = env_nt;
+ di3a.pDriverPath = driver_nt;
di3a.pDataFile = data_file;
- di3a.pConfigFile = config_file;
- di3a.pHelpFile = help_file;
- di3a.pDependentFiles = dep_file;
- di3a.pMonitorName = monitor_name;
+ di3a.pConfigFile = driver_nt;
di3a.pDefaultDataType = default_data_type;
- if (!AddPrinterDriverA(NULL, 3, (LPBYTE)&di3a))
+ if (AddPrinterDriverA(NULL, 3, (LPBYTE)&di3a))
{
- ERR("Failed adding driver (%d)\n", GetLastError());
- return FALSE;
+ di3a.cVersion = 0;
+ di3a.pEnvironment = env_9x;
+ di3a.pDriverPath = driver_9x;
+ di3a.pConfigFile = driver_9x;
+ if (AddPrinterDriverA(NULL, 3, (LPBYTE)&di3a))
+ {
+ return TRUE;
+ }
}
- return TRUE;
+ ERR("Failed adding driver %s: %u\n", debugstr_a(di3a.pDriverPath), GetLastError());
+ return FALSE;
}
#ifdef SONAME_LIBCUPS
More information about the wine-cvs
mailing list