Rebase against 9ce9ba30ead7560065c3179796eea81066b3b346.

This commit is contained in:
Sebastian Lackner 2015-06-04 16:46:36 +02:00
parent 002f664b68
commit ee2f208b2b
7 changed files with 67 additions and 203 deletions

View File

@ -103,7 +103,7 @@ for more details.*
* Allow to enable/disable InsertMode in wineconsole settings ([Wine Bug #36704](https://bugs.winehq.org/show_bug.cgi?id=36704))
* Allow to open files/directories without any access rights in order to query attributes
* Allow to override number of quality levels for D3DMULTISAMPLE_NONMASKABLE. ([Wine Bug #12652](https://bugs.winehq.org/show_bug.cgi?id=12652))
* Also handle '\r' as whitespace in wbemprox queries
* ~~Also handle '\r' as whitespace in wbemprox queries~~
* Also output winedbg system information to the terminal, not only to dialog
* Anno 1602 installer depends on Windows 98 behavior of SHFileOperationW ([Wine Bug #37916](https://bugs.winehq.org/show_bug.cgi?id=37916))
* Assign a drive serial number during prefix creation/update ([Wine Bug #17823](https://bugs.winehq.org/show_bug.cgi?id=17823))
@ -218,7 +218,7 @@ for more details.*
* Multiple applications need EnumDisplayDevicesW implementation ([Wine Bug #34978](https://bugs.winehq.org/show_bug.cgi?id=34978))
* Multiple applications start wrong executable if whitespace present in name ([Wine Bug #19666](https://bugs.winehq.org/show_bug.cgi?id=19666))
* Need for Speed 3 installer requires devices in HKEY_DYN_DATA ([Wine Bug #7115](https://bugs.winehq.org/show_bug.cgi?id=7115))
* OpenClipboard with current owner shouldn't fail ([Wine Bug #2805](https://bugs.winehq.org/show_bug.cgi?id=2805))
* ~~OpenClipboard with current owner shouldn't fail~~ ([Wine Bug #2805](https://bugs.winehq.org/show_bug.cgi?id=2805))
* Other Pipelight-specific enhancements
* Port Royale doesn't display ocean correctly ([Wine Bug #17913](https://bugs.winehq.org/show_bug.cgi?id=17913))
* Prevent window managers from grouping all wine programs together ([Wine Bug #32699](https://bugs.winehq.org/show_bug.cgi?id=32699))

4
debian/changelog vendored
View File

@ -22,6 +22,10 @@ wine-staging (1.7.45) UNRELEASED; urgency=low
* Added patch to set NamedPipeState to FILE_PIPE_CLOSING_STATE on broken pipe
in NtQueryInformationFile.
* Added patch to allow setting pixel format for desktop window.
* Removed patch to handle '\r' as whitespace in wbemprox queries (accepted
upstream).
* Removed patch to make sure OpenClipboard with current owner doesn't fail
(accepted upstream).
* Removed patch to fix NULL pointer dereference in get_frame_by_name
(identical patch accepted upstream).
-- Sebastian Lackner <sebastian@fds-team.de> Sun, 31 May 2015 14:46:37 +0200

View File

@ -55,7 +55,7 @@ version()
echo "Copyright (C) 2014-2015 the Wine Staging project authors."
echo ""
echo "Patchset to be applied on upstream Wine:"
echo " commit 8d4f56810775757edc87f6f01754df7f9e98d7e3"
echo " commit 9ce9ba30ead7560065c3179796eea81066b3b346"
echo ""
}
@ -210,7 +210,6 @@ patch_enable_all ()
enable_server_Key_State="$1"
enable_server_Misc_ACL="$1"
enable_server_ObjectTypeInformation="$1"
enable_server_OpenClipboard="$1"
enable_server_OpenProcess="$1"
enable_server_PeekMessage="$1"
enable_server_Realtime_Priority="$1"
@ -244,7 +243,6 @@ patch_enable_all ()
enable_vcomp_Stub_Functions="$1"
enable_version_VerQueryValue="$1"
enable_wbemdisp_ISWbemSecurity="$1"
enable_wbemprox_Whitespace="$1"
enable_wiaservc_IEnumWIA_DEV_INFO="$1"
enable_windowscodecs_GIF_Decoder="$1"
enable_windowscodecs_TIFF_Decoder="$1"
@ -702,9 +700,6 @@ patch_enable ()
server-ObjectTypeInformation)
enable_server_ObjectTypeInformation="$2"
;;
server-OpenClipboard)
enable_server_OpenClipboard="$2"
;;
server-OpenProcess)
enable_server_OpenProcess="$2"
;;
@ -804,9 +799,6 @@ patch_enable ()
wbemdisp-ISWbemSecurity)
enable_wbemdisp_ISWbemSecurity="$2"
;;
wbemprox-Whitespace)
enable_wbemprox_Whitespace="$2"
;;
wiaservc-IEnumWIA_DEV_INFO)
enable_wiaservc_IEnumWIA_DEV_INFO="$2"
;;
@ -4216,6 +4208,27 @@ if test "$enable_secur32_ANSI_NTLM_Credentials" -eq 1; then
) >> "$patchlist"
fi
# Patchset server-ObjectTypeInformation
# |
# | Modified files:
# | * dlls/ntdll/om.c, dlls/ntdll/tests/om.c, server/change.c, server/completion.c, server/directory.c, server/file.c,
# | server/handle.c, server/object.h, server/protocol.def
# |
if test "$enable_server_ObjectTypeInformation" -eq 1; then
patch_apply server-ObjectTypeInformation/0001-ntdll-Implemenent-ObjectTypeInformation-class-suppor.patch
patch_apply server-ObjectTypeInformation/0002-ntdll-tests-Add-a-few-more-ObjectTypeInformation-tes.patch
patch_apply server-ObjectTypeInformation/0003-server-Fix-type-name-of-IoCompletion.patch
patch_apply server-ObjectTypeInformation/0004-server-Fix-type-name-of-File.patch
patch_apply server-ObjectTypeInformation/0005-server-Fix-type-name-of-directory-file.patch
(
echo '+ { "Qian Hong", "ntdll: Implemenent ObjectTypeInformation class support in NtQueryObject.", 2 },';
echo '+ { "Qian Hong", "ntdll/tests: Add a few more ObjectTypeInformation tests.", 1 },';
echo '+ { "Qian Hong", "server: Fix type name of IoCompletion.", 1 },';
echo '+ { "Qian Hong", "server: Fix type name of File.", 1 },';
echo '+ { "Qian Hong", "server: Fix type name of directory file.", 1 },';
) >> "$patchlist"
fi
# Patchset server-RootDirectory_File
# |
# | Modified files:
@ -4256,27 +4269,6 @@ if test "$enable_server_Stored_ACLs" -eq 1; then
) >> "$patchlist"
fi
# Patchset server-ObjectTypeInformation
# |
# | Modified files:
# | * dlls/ntdll/om.c, dlls/ntdll/tests/om.c, server/change.c, server/completion.c, server/directory.c, server/file.c,
# | server/handle.c, server/object.h, server/protocol.def
# |
if test "$enable_server_ObjectTypeInformation" -eq 1; then
patch_apply server-ObjectTypeInformation/0001-ntdll-Implemenent-ObjectTypeInformation-class-suppor.patch
patch_apply server-ObjectTypeInformation/0002-ntdll-tests-Add-a-few-more-ObjectTypeInformation-tes.patch
patch_apply server-ObjectTypeInformation/0003-server-Fix-type-name-of-IoCompletion.patch
patch_apply server-ObjectTypeInformation/0004-server-Fix-type-name-of-File.patch
patch_apply server-ObjectTypeInformation/0005-server-Fix-type-name-of-directory-file.patch
(
echo '+ { "Qian Hong", "ntdll: Implemenent ObjectTypeInformation class support in NtQueryObject.", 2 },';
echo '+ { "Qian Hong", "ntdll/tests: Add a few more ObjectTypeInformation tests.", 1 },';
echo '+ { "Qian Hong", "server: Fix type name of IoCompletion.", 1 },';
echo '+ { "Qian Hong", "server: Fix type name of File.", 1 },';
echo '+ { "Qian Hong", "server: Fix type name of directory file.", 1 },';
) >> "$patchlist"
fi
# Patchset server-Inherited_ACLs
# |
# | This patchset fixes the following Wine bugs:
@ -4405,21 +4397,6 @@ if test "$enable_server_Key_State" -eq 1; then
) >> "$patchlist"
fi
# Patchset server-OpenClipboard
# |
# | This patchset fixes the following Wine bugs:
# | * [#2805] OpenClipboard with current owner shouldn't fail
# |
# | Modified files:
# | * dlls/user32/tests/clipboard.c, server/clipboard.c
# |
if test "$enable_server_OpenClipboard" -eq 1; then
patch_apply server-OpenClipboard/0001-server-Fix-opening-clipboard-from-multiple-threads.patch
(
echo '+ { "Sebastian Lackner", "server: Fix opening clipboard from multiple threads.", 1 },';
) >> "$patchlist"
fi
# Patchset server-PeekMessage
# |
# | This patchset fixes the following Wine bugs:
@ -4885,18 +4862,6 @@ if test "$enable_wbemdisp_ISWbemSecurity" -eq 1; then
) >> "$patchlist"
fi
# Patchset wbemprox-Whitespace
# |
# | Modified files:
# | * dlls/wbemprox/tests/query.c, dlls/wbemprox/wql.y
# |
if test "$enable_wbemprox_Whitespace" -eq 1; then
patch_apply wbemprox-Whitespace/0001-wbemprox-Treat-r-as-whitespace.patch
(
echo '+ { "Michael Müller", "wbemprox: Treat \\\\r as whitespace.", 1 },';
) >> "$patchlist"
fi
# Patchset wiaservc-IEnumWIA_DEV_INFO
# |
# | This patchset fixes the following Wine bugs:
@ -5112,6 +5077,45 @@ if test "$enable_wined3d_CSMT_Helper" -eq 1; then
) >> "$patchlist"
fi
# Patchset wined3d-resource_check_usage
# |
# | Modified files:
# | * dlls/wined3d/resource.c
# |
if test "$enable_wined3d_resource_check_usage" -eq 1; then
patch_apply wined3d-resource_check_usage/0001-wined3d-Silence-repeated-resource_check_usage-FIXME.patch
(
echo '+ { "Erich E. Hoover", "wined3d: Silence repeated resource_check_usage FIXME.", 2 },';
) >> "$patchlist"
fi
# Patchset wined3d-wined3d_swapchain_present
# |
# | Modified files:
# | * dlls/wined3d/swapchain.c
# |
if test "$enable_wined3d_wined3d_swapchain_present" -eq 1; then
patch_apply wined3d-wined3d_swapchain_present/0001-wined3d-Silence-repeated-wined3d_swapchain_present-F.patch
(
echo '+ { "Sebastian Lackner", "wined3d: Silence repeated wined3d_swapchain_present FIXME.", 1 },';
) >> "$patchlist"
fi
# Patchset wined3d-Multisampling
# |
# | This patchset fixes the following Wine bugs:
# | * [#12652] Allow to override number of quality levels for D3DMULTISAMPLE_NONMASKABLE.
# |
# | Modified files:
# | * dlls/wined3d/directx.c, dlls/wined3d/wined3d_main.c, dlls/wined3d/wined3d_private.h
# |
if test "$enable_wined3d_Multisampling" -eq 1; then
patch_apply wined3d-Multisampling/0001-wined3d-Allow-to-specify-multisampling-AA-quality-le.patch
(
echo '+ { "Austin English", "wined3d: Allow to specify multisampling AA quality levels via registry.", 1 },';
) >> "$patchlist"
fi
# Patchset wined3d-Revert_PixelFormat
# |
# | This patchset fixes the following Wine bugs:
@ -5146,18 +5150,6 @@ if test "$enable_wined3d_Revert_PixelFormat" -eq 1; then
) >> "$patchlist"
fi
# Patchset wined3d-resource_check_usage
# |
# | Modified files:
# | * dlls/wined3d/resource.c
# |
if test "$enable_wined3d_resource_check_usage" -eq 1; then
patch_apply wined3d-resource_check_usage/0001-wined3d-Silence-repeated-resource_check_usage-FIXME.patch
(
echo '+ { "Erich E. Hoover", "wined3d: Silence repeated resource_check_usage FIXME.", 2 },';
) >> "$patchlist"
fi
# Patchset wined3d-UnhandledBlendFactor
# |
# | Modified files:
@ -5170,33 +5162,6 @@ if test "$enable_wined3d_UnhandledBlendFactor" -eq 1; then
) >> "$patchlist"
fi
# Patchset wined3d-wined3d_swapchain_present
# |
# | Modified files:
# | * dlls/wined3d/swapchain.c
# |
if test "$enable_wined3d_wined3d_swapchain_present" -eq 1; then
patch_apply wined3d-wined3d_swapchain_present/0001-wined3d-Silence-repeated-wined3d_swapchain_present-F.patch
(
echo '+ { "Sebastian Lackner", "wined3d: Silence repeated wined3d_swapchain_present FIXME.", 1 },';
) >> "$patchlist"
fi
# Patchset wined3d-Multisampling
# |
# | This patchset fixes the following Wine bugs:
# | * [#12652] Allow to override number of quality levels for D3DMULTISAMPLE_NONMASKABLE.
# |
# | Modified files:
# | * dlls/wined3d/directx.c, dlls/wined3d/wined3d_main.c, dlls/wined3d/wined3d_private.h
# |
if test "$enable_wined3d_Multisampling" -eq 1; then
patch_apply wined3d-Multisampling/0001-wined3d-Allow-to-specify-multisampling-AA-quality-le.patch
(
echo '+ { "Austin English", "wined3d: Allow to specify multisampling AA quality levels via registry.", 1 },';
) >> "$patchlist"
fi
# Patchset wined3d-CSMT_Main
# |
# | This patchset fixes the following Wine bugs:

View File

@ -1,63 +0,0 @@
From 2683d3a1e5f86624b1227933ad620dde8aefa171 Mon Sep 17 00:00:00 2001
From: Sebastian Lackner <sebastian@fds-team.de>
Date: Wed, 3 Jun 2015 18:12:07 +0200
Subject: server: Fix opening clipboard from multiple threads.
---
dlls/user32/tests/clipboard.c | 14 ++++++++++++++
server/clipboard.c | 3 ++-
2 files changed, 16 insertions(+), 1 deletion(-)
diff --git a/dlls/user32/tests/clipboard.c b/dlls/user32/tests/clipboard.c
index a9aef84..6f6cb39 100644
--- a/dlls/user32/tests/clipboard.c
+++ b/dlls/user32/tests/clipboard.c
@@ -24,9 +24,18 @@
#include "wingdi.h"
#include "winuser.h"
+static DWORD WINAPI open_clipboard_thread(LPVOID arg)
+{
+ HWND hWnd = arg;
+ ok(OpenClipboard(hWnd), "OpenClipboard second time in the same hwnd failed\n");
+ return 0;
+}
+
static void test_ClipboardOwner(void)
{
+ HANDLE thread;
HWND hWnd1, hWnd2;
+ DWORD dwret;
BOOL ret;
SetLastError(0xdeadbeef);
@@ -56,6 +65,11 @@ static void test_ClipboardOwner(void)
ok( ret, "CloseClipboard error %d\n", GetLastError());
ok(OpenClipboard(hWnd1), "OpenClipboard failed\n");
+ thread = CreateThread(NULL, 0, open_clipboard_thread, hWnd1, 0, NULL);
+ ok(thread != NULL, "CreateThread failed with error %d\n", GetLastError());
+ dwret = WaitForSingleObject(thread, 1000);
+ ok(dwret == WAIT_OBJECT_0, "expected WAIT_OBJECT_0, got %u\n", dwret);
+ CloseHandle(thread);
ok(OpenClipboard(hWnd1), "OpenClipboard second time in the same hwnd failed\n");
SetLastError(0xdeadbeef);
diff --git a/server/clipboard.c b/server/clipboard.c
index 9acee98..ad7ae6f 100644
--- a/server/clipboard.c
+++ b/server/clipboard.c
@@ -138,8 +138,9 @@ void cleanup_clipboard_thread(struct thread *thread)
static int open_clipboard( struct clipboard *clipboard, user_handle_t win )
{
win = get_user_full_handle( win );
- if (clipboard->open_thread && (clipboard->open_thread != current || clipboard->open_win != win))
+ if (clipboard->open_thread)
{
+ if (clipboard->open_win == win) return 1;
set_error(STATUS_WAS_LOCKED);
return 0;
}
--
2.4.2

View File

@ -1 +0,0 @@
Fixes: [2805] OpenClipboard with current owner shouldn't fail

View File

@ -1,40 +0,0 @@
From a70798633f4404744722bc43cde7f2c9e2bcdb26 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Sun, 24 May 2015 03:53:13 +0200
Subject: wbemprox: Treat \r as whitespace.
---
dlls/wbemprox/tests/query.c | 4 +++-
dlls/wbemprox/wql.y | 1 +
2 files changed, 4 insertions(+), 1 deletion(-)
diff --git a/dlls/wbemprox/tests/query.c b/dlls/wbemprox/tests/query.c
index a7bf201..b46ff52 100644
--- a/dlls/wbemprox/tests/query.c
+++ b/dlls/wbemprox/tests/query.c
@@ -96,7 +96,9 @@ static void test_select( IWbemServices *services )
{'S','E','L','E','C','T',' ','*',' ','F','R','O','M',' ','W','i','n','3','2','_',
'D','i','s','k','D','r','i','v','e',' ','W','H','E','R','E',' ','D','e','v','i','c','e','I','D','=',
'\"','\\','\\','\\','\\','.','\\','\\','P','H','Y','S','I','C','A','L','D','R','I','V','E','0','\"',0};
- static const WCHAR *test[] = { query1, query2, query3, query4, query5, query6, query7, query8 };
+ static const WCHAR query9[] =
+ {'S','E','L','E','C','T','\n','a','\r','F','R','O','M','\t','b',0};
+ static const WCHAR *test[] = { query1, query2, query3, query4, query5, query6, query7, query8, query9 };
HRESULT hr;
IEnumWbemClassObject *result;
BSTR wql = SysAllocString( wqlW );
diff --git a/dlls/wbemprox/wql.y b/dlls/wbemprox/wql.y
index 6eabe19..734c4da 100644
--- a/dlls/wbemprox/wql.y
+++ b/dlls/wbemprox/wql.y
@@ -583,6 +583,7 @@ static int get_token( const WCHAR *s, int *token )
{
case ' ':
case '\t':
+ case '\r':
case '\n':
for (i = 1; isspaceW( s[i] ); i++) {}
*token = TK_SPACE;
--
2.4.0

View File

@ -1 +0,0 @@
Fixes: Also handle '\r' as whitespace in wbemprox queries