Detlef Riekenberg : winspool: Return a failure code in ClosePrinter.

Alexandre Julliard julliard at winehq.org
Wed Nov 2 15:04:07 CDT 2016


Module: wine
Branch: master
Commit: b611acc7369f4a260ec7d4b260b221524f04d440
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=b611acc7369f4a260ec7d4b260b221524f04d440

Author: Detlef Riekenberg <wine.dev at web.de>
Date:   Tue Nov  1 23:21:41 2016 +0100

winspool: Return a failure code in ClosePrinter.

Signed-off-by: Detlef Riekenberg <wine.dev at web.de>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/winspool.drv/info.c | 16 +++++++++-------
 1 file changed, 9 insertions(+), 7 deletions(-)

diff --git a/dlls/winspool.drv/info.c b/dlls/winspool.drv/info.c
index 2f0ff3d..2b2e0fc 100644
--- a/dlls/winspool.drv/info.c
+++ b/dlls/winspool.drv/info.c
@@ -3315,7 +3315,6 @@ BOOL WINAPI ClosePrinter(HANDLE hPrinter)
 {
     UINT_PTR i = (UINT_PTR)hPrinter;
     opened_printer_t *printer = NULL;
-    BOOL ret = FALSE;
 
     TRACE("(%p)\n", hPrinter);
 
@@ -3331,10 +3330,6 @@ BOOL WINAPI ClosePrinter(HANDLE hPrinter)
 
         TRACE("closing %s (doc: %p)\n", debugstr_w(printer->name), printer->doc);
 
-        if (printer->backend_printer) {
-            backend->fpClosePrinter(printer->backend_printer);
-        }
-
         if(printer->doc)
             EndDocPrinter(hPrinter);
 
@@ -3348,12 +3343,19 @@ BOOL WINAPI ClosePrinter(HANDLE hPrinter)
             HeapFree(GetProcessHeap(), 0, printer->queue);
         }
 
+        if (printer->backend_printer) {
+            backend->fpClosePrinter(printer->backend_printer);
+        }
+
         free_printer_entry( printer );
         printer_handles[i - 1] = NULL;
-        ret = TRUE;
+        LeaveCriticalSection(&printer_handles_cs);
+        return TRUE;
     }
+
     LeaveCriticalSection(&printer_handles_cs);
-    return ret;
+    SetLastError(ERROR_INVALID_HANDLE);
+    return FALSE;
 }
 
 /*****************************************************************************




More information about the wine-cvs mailing list