From 27280661524d3f66741cb8e7c7b27a3b46eca542 Mon Sep 17 00:00:00 2001 From: Bruno Jesus <00cpxxx@gmail.com> Date: Thu, 29 May 2014 22:04:56 -0300 Subject: [PATCH] winspool.drv: Do not try to check the registry if opening the printer fails (valgrind). --- dlls/winspool.drv/info.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/dlls/winspool.drv/info.c b/dlls/winspool.drv/info.c index e33b2572dfa..bfb22cbc00c 100644 --- a/dlls/winspool.drv/info.c +++ b/dlls/winspool.drv/info.c @@ -2530,6 +2530,7 @@ BOOL WINAPI OpenPrinterA(LPSTR lpPrinterName,HANDLE *phPrinter, */ BOOL WINAPI OpenPrinterW(LPWSTR lpPrinterName,HANDLE *phPrinter, LPPRINTER_DEFAULTSW pDefault) { + HKEY key; TRACE("(%s, %p, %p)\n", debugstr_w(lpPrinterName), phPrinter, pDefault); @@ -2542,12 +2543,10 @@ BOOL WINAPI OpenPrinterW(LPWSTR lpPrinterName,HANDLE *phPrinter, LPPRINTER_DEFAU /* Get the unique handle of the printer or Printserver */ *phPrinter = get_opened_printer_entry(lpPrinterName, pDefault); - if (*phPrinter) + if (*phPrinter && WINSPOOL_GetOpenedPrinterRegKey( *phPrinter, &key ) == ERROR_SUCCESS) { - HKEY key; DWORD deleting = 0, size = sizeof( deleting ), type; DWORD status; - WINSPOOL_GetOpenedPrinterRegKey( *phPrinter, &key ); RegQueryValueExW( key, May_Delete_Value, NULL, &type, (LPBYTE)&deleting, &size ); WaitForSingleObject( init_mutex, INFINITE ); status = get_dword_from_reg( key, StatusW );