Module: wine Branch: master Commit: b74c9a64728353b98e68376b12f92abd6cb1c999 URL: http://source.winehq.org/git/wine.git/?a=commit;h=b74c9a64728353b98e68376b12...
Author: Huw Davies huw@codeweavers.com Date: Fri Mar 30 14:39:42 2012 +0100
winspool: Keep track of any supplied devmode.
---
dlls/winspool.drv/info.c | 5 +++++ 1 files changed, 5 insertions(+), 0 deletions(-)
diff --git a/dlls/winspool.drv/info.c b/dlls/winspool.drv/info.c index 24e5a97..d832b4b 100644 --- a/dlls/winspool.drv/info.c +++ b/dlls/winspool.drv/info.c @@ -96,6 +96,7 @@ typedef struct { HANDLE backend_printer; jobqueue_t *queue; started_doc_t *doc; + DEVMODEW *devmode; } opened_printer_t;
typedef struct { @@ -778,6 +779,7 @@ static void free_printer_entry( opened_printer_t *printer ) /* the queue is shared, so don't free that here */ HeapFree( GetProcessHeap(), 0, printer->printername ); HeapFree( GetProcessHeap(), 0, printer->name ); + HeapFree( GetProcessHeap(), 0, printer->devmode ); HeapFree( GetProcessHeap(), 0, printer ); }
@@ -872,6 +874,9 @@ static HANDLE get_opened_printer_entry(LPWSTR name, LPPRINTER_DEFAULTSW pDefault goto end; }
+ if (pDefault && pDefault->pDevMode) + printer->devmode = dup_devmode( pDefault->pDevMode ); + if(queue) printer->queue = queue; else