Added patch with stub for winspool.SetPrinterW level 8.

This commit is contained in:
Sebastian Lackner 2015-08-30 19:09:10 +02:00
parent 299b3b59f2
commit c5e1cdaffb
5 changed files with 68 additions and 1 deletions

View File

@ -39,8 +39,9 @@ Wine. All those differences are also documented on the
Included bug fixes and improvements
-----------------------------------
**Bug fixes and features included in the next upcoming release [6]:**
**Bug fixes and features included in the next upcoming release [7]:**
* Add stub for winspool.SetPrinterW level 8 ([Wine Bug #24645](https://bugs.winehq.org/show_bug.cgi?id=24645))
* Allow non-nullterminated string as working directory in kernel32.create_startup_info
* Fix access violation in MSYS2 git when cloning repository
* Fix error handling in DeferWindowPos when passing an invalid HWND ([Wine Bug #23187](https://bugs.winehq.org/show_bug.cgi?id=23187))

1
debian/changelog vendored
View File

@ -14,6 +14,7 @@ wine-staging (1.7.51) UNRELEASED; urgency=low
HWND.
* Added patch to allow non-nullterminated string as working directory in
kernel32.create_startup_info (fixes Wine Staging Bug #543).
* Added patch with stub for winspool.SetPrinterW level 8.
* Removed patch to fix bug in wineserver debug_children inheritance (accepted
upstream).
* Removed patch to use helper function for NtWaitForMultipleObjects and

View File

@ -304,6 +304,7 @@ patch_enable_all ()
enable_wininet_ParseX509EncodedCertificateForListBoxEntry="$1"
enable_winmm_Delay_Import_Depends="$1"
enable_winscard_SCardListReaders="$1"
enable_winspool_drv_SetPrinterW="$1"
enable_winsta_WinStationEnumerateW="$1"
enable_wpcap_Dynamic_Linking="$1"
enable_ws2_32_APC_Performance="$1"
@ -994,6 +995,9 @@ patch_enable ()
winscard-SCardListReaders)
enable_winscard_SCardListReaders="$2"
;;
winspool.drv-SetPrinterW)
enable_winspool_drv_SetPrinterW="$2"
;;
winsta-WinStationEnumerateW)
enable_winsta_WinStationEnumerateW="$2"
;;
@ -6121,6 +6125,21 @@ if test "$enable_winscard_SCardListReaders" -eq 1; then
) >> "$patchlist"
fi
# Patchset winspool.drv-SetPrinterW
# |
# | This patchset fixes the following Wine bugs:
# | * [#24645] Add stub for winspool.SetPrinterW level 8
# |
# | Modified files:
# | * dlls/winspool.drv/info.c
# |
if test "$enable_winspool_drv_SetPrinterW" -eq 1; then
patch_apply winspool.drv-SetPrinterW/0001-winspool.drv-Add-case-8-for-SetPrinterW.patch
(
echo '+ { "Jarkko Korpi", "winspool.drv Add case 8 for SetPrinterW.", 1 },';
) >> "$patchlist"
fi
# Patchset winsta-WinStationEnumerateW
# |
# | This patchset fixes the following Wine bugs:

View File

@ -0,0 +1,45 @@
From 2ba7980e47f0c593a17f13e73a19dec6fa4f8955 Mon Sep 17 00:00:00 2001
From: Jarkko Korpi <jarkko_korpi@hotmail.com>
Date: Mon, 24 Aug 2015 21:44:20 +0300
Subject: winspool.drv Add case 8 for SetPrinterW.
---
dlls/winspool.drv/info.c | 15 ++++++++++++++-
1 file changed, 14 insertions(+), 1 deletion(-)
diff --git a/dlls/winspool.drv/info.c b/dlls/winspool.drv/info.c
index ca2c34d..e39509d 100644
--- a/dlls/winspool.drv/info.c
+++ b/dlls/winspool.drv/info.c
@@ -3452,6 +3452,14 @@ static void set_printer_2( HKEY key, const PRINTER_INFO_2W *pi )
set_reg_DWORD( key, UntilTimeW, pi->UntilTime );
}
+static BOOL set_printer_8( HKEY key, const PRINTER_INFO_8W *pi )
+{
+ if (!pi->pDevMode) return FALSE;
+
+ set_reg_devmode( key, Default_DevModeW, pi->pDevMode );
+ return TRUE;
+}
+
static BOOL set_printer_9( HKEY key, const PRINTER_INFO_9W *pi )
{
if (!pi->pDevMode) return FALSE;
@@ -3484,7 +3492,12 @@ BOOL WINAPI SetPrinterW( HANDLE printer, DWORD level, LPBYTE data, DWORD command
ret = TRUE;
break;
}
-
+ case 8:
+ {
+ PRINTER_INFO_8W *pi = (PRINTER_INFO_8W *)data;
+ ret = set_printer_8( key, pi );
+ break;
+ }
case 9:
{
PRINTER_INFO_9W *pi = (PRINTER_INFO_9W *)data;
--
2.5.0

View File

@ -0,0 +1 @@
Fixes: [24645] Add stub for winspool.SetPrinterW level 8