You've already forked wine-staging
mirror of
https://gitlab.winehq.org/wine/wine-staging.git
synced 2025-04-13 14:42:51 -07:00
Compare commits
10 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
1f77584097 | ||
|
6e793996ba | ||
|
6f1ebb84a2 | ||
|
d26687d90a | ||
|
067a975495 | ||
|
bc4e00ae02 | ||
|
086d99f83e | ||
|
bc7627cdf1 | ||
|
e380c1e9a7 | ||
|
a568bd3e79 |
@@ -1,4 +1,4 @@
|
||||
From ee1533db82fa2a955765b6a00f5300900350d2fe Mon Sep 17 00:00:00 2001
|
||||
From 9e585de1f2f28e1ef18c1edca875779c491375cb Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Lackner <sebastian@fds-team.de>
|
||||
Date: Thu, 2 Oct 2014 19:44:31 +0200
|
||||
Subject: [PATCH] kernel32: Add winediag message to show warning, that this
|
||||
@@ -9,7 +9,7 @@ Subject: [PATCH] kernel32: Add winediag message to show warning, that this
|
||||
1 file changed, 10 insertions(+)
|
||||
|
||||
diff --git a/dlls/kernel32/process.c b/dlls/kernel32/process.c
|
||||
index 0a3fd70..206224f 100644
|
||||
index 36ed82bff8c..b8a677c5485 100644
|
||||
--- a/dlls/kernel32/process.c
|
||||
+++ b/dlls/kernel32/process.c
|
||||
@@ -65,6 +65,7 @@
|
||||
@@ -18,9 +18,9 @@ index 0a3fd70..206224f 100644
|
||||
WINE_DECLARE_DEBUG_CHANNEL(relay);
|
||||
+WINE_DECLARE_DEBUG_CHANNEL(winediag);
|
||||
|
||||
#ifdef __APPLE__
|
||||
extern char **__wine_get_main_environment(void);
|
||||
@@ -1090,6 +1091,15 @@ void WINAPI start_process( LPTHREAD_START_ROUTINE entry, PEB *peb )
|
||||
typedef struct
|
||||
{
|
||||
@@ -997,6 +998,15 @@ void WINAPI start_process( LPTHREAD_START_ROUTINE entry, PEB *peb )
|
||||
|
||||
__TRY
|
||||
{
|
||||
@@ -37,5 +37,5 @@ index 0a3fd70..206224f 100644
|
||||
being_debugged = FALSE;
|
||||
|
||||
--
|
||||
1.9.1
|
||||
2.23.0
|
||||
|
||||
|
@@ -1,68 +0,0 @@
|
||||
From e72b9a5931139e2d4c651e62f9b5ac226af2bedd Mon Sep 17 00:00:00 2001
|
||||
From: Louis Lenders <xerox.xerox2000x@gmail.com>
|
||||
Date: Mon, 8 Apr 2019 08:26:43 +0200
|
||||
Subject: [PATCH 1/2] include: Add restrictederrorinfo.idl.
|
||||
|
||||
Signed-off-by: Louis Lenders <xerox.xerox2000x@gmail.com>
|
||||
---
|
||||
include/Makefile.in | 1 +
|
||||
include/restrictederrorinfo.idl | 35 +++++++++++++++++++++++++++++++++++
|
||||
2 files changed, 36 insertions(+)
|
||||
create mode 100644 include/restrictederrorinfo.idl
|
||||
|
||||
diff --git a/include/Makefile.in b/include/Makefile.in
|
||||
index b03b967..5bc8dde 100644
|
||||
--- a/include/Makefile.in
|
||||
+++ b/include/Makefile.in
|
||||
@@ -545,6 +545,7 @@ SOURCES = \
|
||||
reason.h \
|
||||
regstr.h \
|
||||
restartmanager.h \
|
||||
+ restrictederrorinfo.idl \
|
||||
richedit.h \
|
||||
richole.idl \
|
||||
rmxfguid.h \
|
||||
diff --git a/include/restrictederrorinfo.idl b/include/restrictederrorinfo.idl
|
||||
new file mode 100644
|
||||
index 0000000..e444256
|
||||
--- /dev/null
|
||||
+++ b/include/restrictederrorinfo.idl
|
||||
@@ -0,0 +1,35 @@
|
||||
+/*
|
||||
+ * Copyright 2019 Louis Lenders
|
||||
+ *
|
||||
+ * This library is free software; you can redistribute it and/or
|
||||
+ * modify it under the terms of the GNU Lesser General Public
|
||||
+ * License as published by the Free Software Foundation; either
|
||||
+ * version 2.1 of the License, or (at your option) any later version.
|
||||
+ *
|
||||
+ * This library is distributed in the hope that it will be useful,
|
||||
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
+ * Lesser General Public License for more details.
|
||||
+ *
|
||||
+ * You should have received a copy of the GNU Lesser General Public
|
||||
+ * License along with this library; if not, write to the Free Software
|
||||
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
|
||||
+ */
|
||||
+
|
||||
+import "oaidl.idl";
|
||||
+
|
||||
+[
|
||||
+ object,
|
||||
+ uuid(82ba7092-4c88-427d-a7bc-16dd93feb67e),
|
||||
+ pointer_default(unique)
|
||||
+]
|
||||
+interface IRestrictedErrorInfo : IUnknown
|
||||
+{
|
||||
+ HRESULT GetErrorDetails (
|
||||
+ [out] BSTR *desc,
|
||||
+ [out] HRESULT *error,
|
||||
+ [out] BSTR *restricted_desc,
|
||||
+ [out] BSTR *sid);
|
||||
+
|
||||
+ HRESULT GetReference ([out] BSTR *reference);
|
||||
+}
|
||||
--
|
||||
1.9.1
|
||||
|
@@ -1,128 +0,0 @@
|
||||
From 50ba23f4d3f7e40bf02cb8f3cdcc4d729f6d68d4 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
|
||||
Date: Mon, 27 Feb 2017 20:42:27 +0100
|
||||
Subject: crypt32: Add MS root CA 2010.
|
||||
|
||||
---
|
||||
dlls/crypt32/rootstore.c | 98 ++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
1 file changed, 98 insertions(+)
|
||||
|
||||
diff --git a/dlls/crypt32/rootstore.c b/dlls/crypt32/rootstore.c
|
||||
index 73d954f7404..d6c0dfbc819 100644
|
||||
--- a/dlls/crypt32/rootstore.c
|
||||
+++ b/dlls/crypt32/rootstore.c
|
||||
@@ -666,6 +666,103 @@ static const BYTE rootcertauthority[] = {
|
||||
0x7e,0x6c,0x9e,0xdb,0x73,0x13,0x64,0x62,0x69,0xa5,0x2f,0x7d,0xca,0x96,0x6d,0x9f,
|
||||
0xf8,0x04,0x4d,0x30,0x92,0x3d,0x6e,0x21,0x14,0x21,0xc9,0x3d,0xe0,0xc3,0xfd,0x8a,
|
||||
0x6b,0x9d,0x4a,0xfd,0xd1,0xa1,0x9d,0x99,0x43,0x77,0x3f,0xb0,0xda };
|
||||
+static const BYTE rootcertauthority2010[] = {
|
||||
+0x30,0x82,0x05,0xed,0x30,0x82,0x03,0xd5,0xa0,0x03,0x02,0x01,0x02,0x02,0x10,0x28,
|
||||
+0xcc,0x3a,0x25,0xbf,0xba,0x44,0xac,0x44,0x9a,0x9b,0x58,0x6b,0x43,0x39,0xaa,0x30,
|
||||
+0x0d,0x06,0x09,0x2a,0x86,0x48,0x86,0xf7,0x0d,0x01,0x01,0x0b,0x05,0x00,0x30,0x81,
|
||||
+0x88,0x31,0x0b,0x30,0x09,0x06,0x03,0x55,0x04,0x06,0x13,0x02,0x55,0x53,0x31,0x13,
|
||||
+0x30,0x11,0x06,0x03,0x55,0x04,0x08,0x13,0x0a,0x57,0x61,0x73,0x68,0x69,0x6e,0x67,
|
||||
+0x74,0x6f,0x6e,0x31,0x10,0x30,0x0e,0x06,0x03,0x55,0x04,0x07,0x13,0x07,0x52,0x65,
|
||||
+0x64,0x6d,0x6f,0x6e,0x64,0x31,0x1e,0x30,0x1c,0x06,0x03,0x55,0x04,0x0a,0x13,0x15,
|
||||
+0x4d,0x69,0x63,0x72,0x6f,0x73,0x6f,0x66,0x74,0x20,0x43,0x6f,0x72,0x70,0x6f,0x72,
|
||||
+0x61,0x74,0x69,0x6f,0x6e,0x31,0x32,0x30,0x30,0x06,0x03,0x55,0x04,0x03,0x13,0x29,
|
||||
+0x4d,0x69,0x63,0x72,0x6f,0x73,0x6f,0x66,0x74,0x20,0x52,0x6f,0x6f,0x74,0x20,0x43,
|
||||
+0x65,0x72,0x74,0x69,0x66,0x69,0x63,0x61,0x74,0x65,0x20,0x41,0x75,0x74,0x68,0x6f,
|
||||
+0x72,0x69,0x74,0x79,0x20,0x32,0x30,0x31,0x30,0x30,0x1e,0x17,0x0d,0x31,0x30,0x30,
|
||||
+0x36,0x32,0x33,0x32,0x31,0x35,0x37,0x32,0x34,0x5a,0x17,0x0d,0x33,0x35,0x30,0x36,
|
||||
+0x32,0x33,0x32,0x32,0x30,0x34,0x30,0x31,0x5a,0x30,0x81,0x88,0x31,0x0b,0x30,0x09,
|
||||
+0x06,0x03,0x55,0x04,0x06,0x13,0x02,0x55,0x53,0x31,0x13,0x30,0x11,0x06,0x03,0x55,
|
||||
+0x04,0x08,0x13,0x0a,0x57,0x61,0x73,0x68,0x69,0x6e,0x67,0x74,0x6f,0x6e,0x31,0x10,
|
||||
+0x30,0x0e,0x06,0x03,0x55,0x04,0x07,0x13,0x07,0x52,0x65,0x64,0x6d,0x6f,0x6e,0x64,
|
||||
+0x31,0x1e,0x30,0x1c,0x06,0x03,0x55,0x04,0x0a,0x13,0x15,0x4d,0x69,0x63,0x72,0x6f,
|
||||
+0x73,0x6f,0x66,0x74,0x20,0x43,0x6f,0x72,0x70,0x6f,0x72,0x61,0x74,0x69,0x6f,0x6e,
|
||||
+0x31,0x32,0x30,0x30,0x06,0x03,0x55,0x04,0x03,0x13,0x29,0x4d,0x69,0x63,0x72,0x6f,
|
||||
+0x73,0x6f,0x66,0x74,0x20,0x52,0x6f,0x6f,0x74,0x20,0x43,0x65,0x72,0x74,0x69,0x66,
|
||||
+0x69,0x63,0x61,0x74,0x65,0x20,0x41,0x75,0x74,0x68,0x6f,0x72,0x69,0x74,0x79,0x20,
|
||||
+0x32,0x30,0x31,0x30,0x30,0x82,0x02,0x22,0x30,0x0d,0x06,0x09,0x2a,0x86,0x48,0x86,
|
||||
+0xf7,0x0d,0x01,0x01,0x01,0x05,0x00,0x03,0x82,0x02,0x0f,0x00,0x30,0x82,0x02,0x0a,
|
||||
+0x02,0x82,0x02,0x01,0x00,0xb9,0x08,0x9e,0x28,0xe4,0xe4,0xec,0x06,0x4e,0x50,0x68,
|
||||
+0xb3,0x41,0xc5,0x7b,0xeb,0xae,0xb6,0x8e,0xaf,0x81,0xba,0x22,0x44,0x1f,0x65,0x34,
|
||||
+0x69,0x4c,0xbe,0x70,0x40,0x17,0xf2,0x16,0x7b,0xe2,0x79,0xfd,0x86,0xed,0x0d,0x39,
|
||||
+0xf4,0x1b,0xa8,0xad,0x92,0x90,0x1e,0xcb,0x3d,0x76,0x8f,0x5a,0xd9,0xb5,0x91,0x10,
|
||||
+0x2e,0x3c,0x05,0x8d,0x8a,0x6d,0x24,0x54,0xe7,0x1f,0xed,0x56,0xad,0x83,0xb4,0x50,
|
||||
+0x9c,0x15,0xa5,0x17,0x74,0x88,0x59,0x20,0xfc,0x08,0xc5,0x84,0x76,0xd3,0x68,0xd4,
|
||||
+0x6f,0x28,0x78,0xce,0x5c,0xb8,0xf3,0x50,0x90,0x44,0xff,0xe3,0x63,0x5f,0xbe,0xa1,
|
||||
+0x9a,0x2c,0x96,0x15,0x04,0xd6,0x07,0xfe,0x1e,0x84,0x21,0xe0,0x42,0x31,0x11,0xc4,
|
||||
+0x28,0x36,0x94,0xcf,0x50,0xa4,0x62,0x9e,0xc9,0xd6,0xab,0x71,0x00,0xb2,0x5b,0x0c,
|
||||
+0xe6,0x96,0xd4,0x0a,0x24,0x96,0xf5,0xff,0xc6,0xd5,0xb7,0x1b,0xd7,0xcb,0xb7,0x21,
|
||||
+0x62,0xaf,0x12,0xdc,0xa1,0x5d,0x37,0xe3,0x1a,0xfb,0x1a,0x46,0x98,0xc0,0x9b,0xc0,
|
||||
+0xe7,0x63,0x1f,0x2a,0x08,0x93,0x02,0x7e,0x1e,0x6a,0x8e,0xf2,0x9f,0x18,0x89,0xe4,
|
||||
+0x22,0x85,0xa2,0xb1,0x84,0x57,0x40,0xff,0xf5,0x0e,0xd8,0x6f,0x9c,0xed,0xe2,0x45,
|
||||
+0x31,0x01,0xcd,0x17,0xe9,0x7f,0xb0,0x81,0x45,0xe3,0xaa,0x21,0x40,0x26,0xa1,0x72,
|
||||
+0xaa,0xa7,0x4f,0x3c,0x01,0x05,0x7e,0xee,0x83,0x58,0xb1,0x5e,0x06,0x63,0x99,0x62,
|
||||
+0x91,0x78,0x82,0xb7,0x0d,0x93,0x0c,0x24,0x6a,0xb4,0x1b,0xdb,0x27,0xec,0x5f,0x95,
|
||||
+0x04,0x3f,0x93,0x4a,0x30,0xf5,0x97,0x18,0xb3,0xa7,0xf9,0x19,0xa7,0x93,0x33,0x1d,
|
||||
+0x01,0xc8,0xdb,0x22,0x52,0x5c,0xd7,0x25,0xc9,0x46,0xf9,0xa2,0xfb,0x87,0x59,0x43,
|
||||
+0xbe,0x9b,0x62,0xb1,0x8d,0x2d,0x86,0x44,0x1a,0x46,0xac,0x78,0x61,0x7e,0x30,0x09,
|
||||
+0xfa,0xae,0x89,0xc4,0x41,0x2a,0x22,0x66,0x03,0x91,0x39,0x45,0x9c,0xc7,0x8b,0x0c,
|
||||
+0xa8,0xca,0x0d,0x2f,0xfb,0x52,0xea,0x0c,0xf7,0x63,0x33,0x23,0x9d,0xfe,0xb0,0x1f,
|
||||
+0xad,0x67,0xd6,0xa7,0x50,0x03,0xc6,0x04,0x70,0x63,0xb5,0x2c,0xb1,0x86,0x5a,0x43,
|
||||
+0xb7,0xfb,0xae,0xf9,0x6e,0x29,0x6e,0x21,0x21,0x41,0x26,0x06,0x8c,0xc9,0xc3,0xee,
|
||||
+0xb0,0xc2,0x85,0x93,0xa1,0xb9,0x85,0xd9,0xe6,0x32,0x6c,0x4b,0x4c,0x3f,0xd6,0x5d,
|
||||
+0xa3,0xe5,0xb5,0x9d,0x77,0xc3,0x9c,0xc0,0x55,0xb7,0x74,0x00,0xe3,0xb8,0x38,0xab,
|
||||
+0x83,0x97,0x50,0xe1,0x9a,0x42,0x24,0x1d,0xc6,0xc0,0xa3,0x30,0xd1,0x1a,0x5a,0xc8,
|
||||
+0x52,0x34,0xf7,0x73,0xf1,0xc7,0x18,0x1f,0x33,0xad,0x7a,0xec,0xcb,0x41,0x60,0xf3,
|
||||
+0x23,0x94,0x20,0xc2,0x48,0x45,0xac,0x5c,0x51,0xc6,0x2e,0x80,0xc2,0xe2,0x77,0x15,
|
||||
+0xbd,0x85,0x87,0xed,0x36,0x9d,0x96,0x91,0xee,0x00,0xb5,0xa3,0x70,0xec,0x9f,0xe3,
|
||||
+0x8d,0x80,0x68,0x83,0x76,0xba,0xaf,0x5d,0x70,0x52,0x22,0x16,0xe2,0x66,0xfb,0xba,
|
||||
+0xb3,0xc5,0xc2,0xf7,0x3e,0x2f,0x77,0xa6,0xca,0xde,0xc1,0xa6,0xc6,0x48,0x4c,0xc3,
|
||||
+0x37,0x51,0x23,0xd3,0x27,0xd7,0xb8,0x4e,0x70,0x96,0xf0,0xa1,0x44,0x76,0xaf,0x78,
|
||||
+0xcf,0x9a,0xe1,0x66,0x13,0x02,0x03,0x01,0x00,0x01,0xa3,0x51,0x30,0x4f,0x30,0x0b,
|
||||
+0x06,0x03,0x55,0x1d,0x0f,0x04,0x04,0x03,0x02,0x01,0x86,0x30,0x0f,0x06,0x03,0x55,
|
||||
+0x1d,0x13,0x01,0x01,0xff,0x04,0x05,0x30,0x03,0x01,0x01,0xff,0x30,0x1d,0x06,0x03,
|
||||
+0x55,0x1d,0x0e,0x04,0x16,0x04,0x14,0xd5,0xf6,0x56,0xcb,0x8f,0xe8,0xa2,0x5c,0x62,
|
||||
+0x68,0xd1,0x3d,0x94,0x90,0x5b,0xd7,0xce,0x9a,0x18,0xc4,0x30,0x10,0x06,0x09,0x2b,
|
||||
+0x06,0x01,0x04,0x01,0x82,0x37,0x15,0x01,0x04,0x03,0x02,0x01,0x00,0x30,0x0d,0x06,
|
||||
+0x09,0x2a,0x86,0x48,0x86,0xf7,0x0d,0x01,0x01,0x0b,0x05,0x00,0x03,0x82,0x02,0x01,
|
||||
+0x00,0xac,0xa5,0x96,0x8c,0xbf,0xbb,0xae,0xa6,0xf6,0xd7,0x71,0x87,0x43,0x31,0x56,
|
||||
+0x88,0xfd,0x1c,0x32,0x71,0x5b,0x35,0xb7,0xd4,0xf0,0x91,0xf2,0xaf,0x37,0xe2,0x14,
|
||||
+0xf1,0xf3,0x02,0x26,0x05,0x3e,0x16,0x14,0x7f,0x14,0xba,0xb8,0x4f,0xfb,0x89,0xb2,
|
||||
+0xb2,0xe7,0xd4,0x09,0xcc,0x6d,0xb9,0x5b,0x3b,0x64,0x65,0x70,0x66,0xb7,0xf2,0xb1,
|
||||
+0x5a,0xdf,0x1a,0x02,0xf3,0xf5,0x51,0xb8,0x67,0x6d,0x79,0xf3,0xbf,0x56,0x7b,0xe4,
|
||||
+0x84,0xb9,0x2b,0x1e,0x9b,0x40,0x9c,0x26,0x34,0xf9,0x47,0x18,0x98,0x69,0xd8,0x1c,
|
||||
+0xd7,0xb6,0xd1,0xbf,0x8f,0x61,0xc2,0x67,0xc4,0xb5,0xef,0x60,0x43,0x8e,0x10,0x1b,
|
||||
+0x36,0x49,0xe4,0x20,0xca,0xad,0xa7,0xc1,0xb1,0x27,0x65,0x09,0xf8,0xcd,0xf5,0x5b,
|
||||
+0x2a,0xd0,0x84,0x33,0xf3,0xef,0x1f,0xf2,0xf5,0x9c,0x0b,0x58,0x93,0x37,0xa0,0x75,
|
||||
+0xa0,0xde,0x72,0xde,0x6c,0x75,0x2a,0x66,0x22,0xf5,0x8c,0x06,0x30,0x56,0x9f,0x40,
|
||||
+0xb9,0x30,0xaa,0x40,0x77,0x15,0x82,0xd7,0x8b,0xec,0xc0,0xd3,0xb2,0xbd,0x83,0xc5,
|
||||
+0x77,0x0c,0x1e,0xae,0xaf,0x19,0x53,0xa0,0x4d,0x79,0x71,0x9f,0x0f,0xaf,0x30,0xce,
|
||||
+0x67,0xf9,0xd6,0x2c,0xcc,0x22,0x41,0x7a,0x07,0xf2,0x97,0x42,0x18,0xce,0x59,0x79,
|
||||
+0x10,0x55,0xde,0x6f,0x10,0xe4,0xb8,0xda,0x83,0x66,0x40,0x16,0x09,0x68,0x23,0x5b,
|
||||
+0x97,0x2e,0x26,0x9a,0x02,0xbb,0x57,0x8c,0xc5,0xb8,0xba,0x69,0x62,0x32,0x80,0x89,
|
||||
+0x9e,0xa1,0xfd,0xc0,0x92,0x7c,0x7b,0x2b,0x33,0x19,0x84,0x2a,0x63,0xc5,0x00,0x68,
|
||||
+0x62,0xfa,0x9f,0x47,0x8d,0x99,0x7a,0x45,0x3a,0xa7,0xe9,0xed,0xee,0x69,0x42,0xb5,
|
||||
+0xf3,0x81,0x9b,0x47,0x56,0x10,0x7b,0xfc,0x70,0x36,0x84,0x18,0x73,0xea,0xef,0xf9,
|
||||
+0x97,0x4d,0x9e,0x33,0x23,0xdd,0x26,0x0b,0xba,0x2a,0xb7,0x3f,0x44,0xdc,0x83,0x27,
|
||||
+0xff,0xbd,0x61,0x59,0x2b,0x11,0xb7,0xca,0x4f,0xdb,0xc5,0x8b,0x0c,0x1c,0x31,0xae,
|
||||
+0x32,0xf8,0xf8,0xb9,0x42,0xf7,0x7f,0xdc,0x61,0x9a,0x76,0xb1,0x5a,0x04,0xe1,0x11,
|
||||
+0x3d,0x66,0x45,0xb7,0x18,0x71,0xbe,0xc9,0x24,0x85,0xd6,0xf3,0xd4,0xba,0x41,0x34,
|
||||
+0x5d,0x12,0x2d,0x25,0xb9,0x8d,0xa6,0x13,0x48,0x6d,0x4b,0xb0,0x07,0x7d,0x99,0x93,
|
||||
+0x09,0x61,0x81,0x74,0x57,0x26,0x8a,0xab,0x69,0xe3,0xe4,0xd9,0xc7,0x88,0xcc,0x24,
|
||||
+0xd8,0xec,0x52,0x24,0x5c,0x1e,0xbc,0x91,0x14,0xe2,0x96,0xde,0xeb,0x0a,0xda,0x9e,
|
||||
+0xdd,0x5f,0xb3,0x5b,0xdb,0xd4,0x82,0xec,0xc6,0x20,0x50,0x87,0x25,0x40,0x3a,0xfb,
|
||||
+0xc7,0xee,0xcd,0xfe,0x33,0xe5,0x6e,0xc3,0x84,0x09,0x55,0x03,0x25,0x39,0xc0,0xe9,
|
||||
+0x35,0x5d,0x65,0x31,0xa8,0xf6,0xbf,0xa0,0x09,0xcd,0x29,0xc7,0xb3,0x36,0x32,0x2e,
|
||||
+0xdc,0x95,0xf3,0x83,0xc1,0x5a,0xcf,0x8b,0x8d,0xf6,0xea,0xb3,0x21,0xf8,0xa4,0xed,
|
||||
+0x1e,0x31,0x0e,0xb6,0x4c,0x11,0xab,0x60,0x0b,0xa4,0x12,0x23,0x22,0x17,0xa3,0x36,
|
||||
+0x64,0x82,0x91,0x04,0x12,0xe0,0xab,0x6f,0x1e,0xcb,0x50,0x05,0x61,0xb4,0x40,0xff,
|
||||
+0x59,0x86,0x71,0xd1,0xd5,0x33,0x69,0x7c,0xa9,0x73,0x8a,0x38,0xd7,0x64,0x0c,0xf1,
|
||||
+0x69 };
|
||||
static const BYTE rootcertauthority2011[] = {
|
||||
0x30,0x82,0x05,0xed,0x30,0x82,0x03,0xd5,0xa0,0x03,0x02,0x01,0x02,0x02,0x10,0x3f,
|
||||
0x8b,0xc8,0xb5,0xfc,0x9f,0xb2,0x96,0x43,0xb5,0x69,0xd6,0x6c,0x42,0xe1,0x44,0x30,
|
||||
@@ -771,6 +868,7 @@ static const struct CONST_BLOB {
|
||||
{ authenticode, sizeof(authenticode) },
|
||||
{ rootauthority, sizeof(rootauthority) },
|
||||
{ rootcertauthority, sizeof(rootcertauthority) },
|
||||
+ { rootcertauthority2010, sizeof(rootcertauthority2010) },
|
||||
{ rootcertauthority2011, sizeof(rootcertauthority2011) },
|
||||
};
|
||||
|
||||
--
|
||||
2.14.1
|
||||
|
@@ -1 +0,0 @@
|
||||
Fixes: Add MS root certificates 2010/2011
|
@@ -1,15 +1,15 @@
|
||||
From 31a800096eb212cda55f6fbea955f05c650ea2c1 Mon Sep 17 00:00:00 2001
|
||||
From c01cbb5811cb9de58a0c3fa7822382f45900b435 Mon Sep 17 00:00:00 2001
|
||||
From: Paul Gofman <gofmanp@gmail.com>
|
||||
Date: Fri, 27 Sep 2019 16:26:04 +0300
|
||||
Subject: [PATCH] d3d11/tests: Add a basic test for drawing with deferred
|
||||
context.
|
||||
|
||||
---
|
||||
dlls/d3d11/tests/d3d11.c | 101 +++++++++++++++++++++++++++++++--------
|
||||
1 file changed, 81 insertions(+), 20 deletions(-)
|
||||
dlls/d3d11/tests/d3d11.c | 100 +++++++++++++++++++++++++++++++--------
|
||||
1 file changed, 81 insertions(+), 19 deletions(-)
|
||||
|
||||
diff --git a/dlls/d3d11/tests/d3d11.c b/dlls/d3d11/tests/d3d11.c
|
||||
index e653fb30b2..202179174b 100644
|
||||
index 7f11a59d0cb..c63bae8bbab 100644
|
||||
--- a/dlls/d3d11/tests/d3d11.c
|
||||
+++ b/dlls/d3d11/tests/d3d11.c
|
||||
@@ -1692,10 +1692,11 @@ static void release_test_context_(unsigned int line, struct d3d11_test_context *
|
||||
@@ -158,7 +158,7 @@ index e653fb30b2..202179174b 100644
|
||||
static void test_device_interfaces(const D3D_FEATURE_LEVEL feature_level)
|
||||
{
|
||||
struct device_desc device_desc;
|
||||
@@ -29400,11 +29462,11 @@ START_TEST(d3d11)
|
||||
@@ -29639,11 +29701,11 @@ START_TEST(d3d11)
|
||||
}
|
||||
|
||||
print_adapter_info();
|
||||
@@ -171,13 +171,6 @@ index e653fb30b2..202179174b 100644
|
||||
queue_test(test_create_texture1d);
|
||||
queue_test(test_texture1d_interfaces);
|
||||
queue_test(test_create_texture2d);
|
||||
@@ -29538,6 +29600,5 @@ START_TEST(d3d11)
|
||||
queue_test(test_render_a8);
|
||||
queue_test(test_standard_pattern);
|
||||
queue_test(test_desktop_window);
|
||||
-
|
||||
run_queued_tests();
|
||||
}
|
||||
--
|
||||
2.21.0
|
||||
2.17.1
|
||||
|
||||
|
@@ -1,10 +1,9 @@
|
||||
From 1a21bd1a5584a1d2b54a8a6df9944d44a83b05d1 Mon Sep 17 00:00:00 2001
|
||||
From 2dbc476ab7a1edb75f07108a6a44ea2700513797 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
|
||||
Date: Wed, 29 Jul 2015 17:09:50 +0200
|
||||
Subject: [PATCH] ddraw: Create rendering targets in video memory if possible.
|
||||
|
||||
Based on a patch by Henri Verbeet.
|
||||
|
||||
---
|
||||
dlls/ddraw/ddraw.c | 6 +++---
|
||||
dlls/ddraw/ddraw_private.h | 3 ++-
|
||||
@@ -13,10 +12,10 @@ Based on a patch by Henri Verbeet.
|
||||
4 files changed, 56 insertions(+), 15 deletions(-)
|
||||
|
||||
diff --git a/dlls/ddraw/ddraw.c b/dlls/ddraw/ddraw.c
|
||||
index 68e9286590..1141739e78 100644
|
||||
index e77aab1cc5c..7df9cf5b28f 100644
|
||||
--- a/dlls/ddraw/ddraw.c
|
||||
+++ b/dlls/ddraw/ddraw.c
|
||||
@@ -4296,7 +4296,7 @@ static HRESULT WINAPI d3d7_CreateDevice(IDirect3D7 *iface, REFCLSID riid,
|
||||
@@ -4297,7 +4297,7 @@ static HRESULT WINAPI d3d7_CreateDevice(IDirect3D7 *iface, REFCLSID riid,
|
||||
TRACE("iface %p, riid %s, surface %p, device %p.\n", iface, debugstr_guid(riid), surface, device);
|
||||
|
||||
wined3d_mutex_lock();
|
||||
@@ -25,7 +24,7 @@ index 68e9286590..1141739e78 100644
|
||||
{
|
||||
*device = &object->IDirect3DDevice7_iface;
|
||||
}
|
||||
@@ -4325,7 +4325,7 @@ static HRESULT WINAPI d3d3_CreateDevice(IDirect3D3 *iface, REFCLSID riid,
|
||||
@@ -4326,7 +4326,7 @@ static HRESULT WINAPI d3d3_CreateDevice(IDirect3D3 *iface, REFCLSID riid,
|
||||
return CLASS_E_NOAGGREGATION;
|
||||
|
||||
wined3d_mutex_lock();
|
||||
@@ -34,7 +33,7 @@ index 68e9286590..1141739e78 100644
|
||||
{
|
||||
*device = &device_impl->IDirect3DDevice3_iface;
|
||||
}
|
||||
@@ -4351,7 +4351,7 @@ static HRESULT WINAPI d3d2_CreateDevice(IDirect3D2 *iface, REFCLSID riid,
|
||||
@@ -4352,7 +4352,7 @@ static HRESULT WINAPI d3d2_CreateDevice(IDirect3D2 *iface, REFCLSID riid,
|
||||
iface, debugstr_guid(riid), surface, device);
|
||||
|
||||
wined3d_mutex_lock();
|
||||
@@ -44,10 +43,10 @@ index 68e9286590..1141739e78 100644
|
||||
*device = &device_impl->IDirect3DDevice2_iface;
|
||||
}
|
||||
diff --git a/dlls/ddraw/ddraw_private.h b/dlls/ddraw/ddraw_private.h
|
||||
index 771b2a44d1..4bf0e46462 100644
|
||||
index 4ecd83d006b..c11f4f0aa80 100644
|
||||
--- a/dlls/ddraw/ddraw_private.h
|
||||
+++ b/dlls/ddraw/ddraw_private.h
|
||||
@@ -307,6 +307,7 @@ struct d3d_device
|
||||
@@ -309,6 +309,7 @@ struct d3d_device
|
||||
IUnknown IUnknown_inner;
|
||||
LONG ref;
|
||||
UINT version;
|
||||
@@ -55,8 +54,8 @@ index 771b2a44d1..4bf0e46462 100644
|
||||
|
||||
IUnknown *outer_unknown;
|
||||
struct wined3d_device *wined3d_device;
|
||||
@@ -354,7 +355,7 @@ struct d3d_device
|
||||
struct wined3d_stateblock *recording;
|
||||
@@ -356,7 +357,7 @@ struct d3d_device
|
||||
struct wined3d_stateblock *recording, *state, *update_state;
|
||||
};
|
||||
|
||||
-HRESULT d3d_device_create(struct ddraw *ddraw, struct ddraw_surface *target, IUnknown *rt_iface,
|
||||
@@ -65,7 +64,7 @@ index 771b2a44d1..4bf0e46462 100644
|
||||
enum wined3d_depth_buffer_type d3d_device_update_depth_stencil(struct d3d_device *device) DECLSPEC_HIDDEN;
|
||||
|
||||
diff --git a/dlls/ddraw/device.c b/dlls/ddraw/device.c
|
||||
index 43e5d0aa92..5d18a129f7 100644
|
||||
index 3702454bde0..cc43cdc8840 100644
|
||||
--- a/dlls/ddraw/device.c
|
||||
+++ b/dlls/ddraw/device.c
|
||||
@@ -1854,7 +1854,7 @@ static HRESULT d3d_device7_SetRenderTarget(IDirect3DDevice7 *iface,
|
||||
@@ -95,7 +94,7 @@ index 43e5d0aa92..5d18a129f7 100644
|
||||
{
|
||||
WARN("Surface %p is not in video memory.\n", target_impl);
|
||||
IDirectDrawSurface_AddRef(target);
|
||||
@@ -6933,7 +6933,7 @@ enum wined3d_depth_buffer_type d3d_device_update_depth_stencil(struct d3d_device
|
||||
@@ -6947,7 +6947,7 @@ enum wined3d_depth_buffer_type d3d_device_update_depth_stencil(struct d3d_device
|
||||
return WINED3D_ZB_TRUE;
|
||||
}
|
||||
|
||||
@@ -104,7 +103,7 @@ index 43e5d0aa92..5d18a129f7 100644
|
||||
struct ddraw_surface *target, IUnknown *rt_iface, UINT version, IUnknown *outer_unknown)
|
||||
{
|
||||
static const D3DMATRIX ident =
|
||||
@@ -6956,6 +6956,7 @@ static HRESULT d3d_device_init(struct d3d_device *device, struct ddraw *ddraw,
|
||||
@@ -6970,6 +6970,7 @@ static HRESULT d3d_device_init(struct d3d_device *device, struct ddraw *ddraw,
|
||||
device->IUnknown_inner.lpVtbl = &d3d_device_inner_vtbl;
|
||||
device->ref = 1;
|
||||
device->version = version;
|
||||
@@ -112,7 +111,7 @@ index 43e5d0aa92..5d18a129f7 100644
|
||||
|
||||
if (outer_unknown)
|
||||
device->outer_unknown = outer_unknown;
|
||||
@@ -7009,14 +7010,18 @@ static HRESULT d3d_device_init(struct d3d_device *device, struct ddraw *ddraw,
|
||||
@@ -7026,14 +7027,18 @@ static HRESULT d3d_device_init(struct d3d_device *device, struct ddraw *ddraw,
|
||||
return D3D_OK;
|
||||
}
|
||||
|
||||
@@ -134,7 +133,7 @@ index 43e5d0aa92..5d18a129f7 100644
|
||||
|
||||
if (!(target->surface_desc.ddsCaps.dwCaps & DDSCAPS_3DDEVICE)
|
||||
|| (target->surface_desc.ddsCaps.dwCaps & DDSCAPS_ZBUFFER))
|
||||
@@ -7039,7 +7044,7 @@ HRESULT d3d_device_create(struct ddraw *ddraw, struct ddraw_surface *target, IUn
|
||||
@@ -7056,7 +7061,7 @@ HRESULT d3d_device_create(struct ddraw *ddraw, struct ddraw_surface *target, IUn
|
||||
return DDERR_OUTOFMEMORY;
|
||||
}
|
||||
|
||||
@@ -143,7 +142,7 @@ index 43e5d0aa92..5d18a129f7 100644
|
||||
{
|
||||
WARN("Surface %p is not in video memory.\n", target);
|
||||
return D3DERR_SURFACENOTINVIDMEM;
|
||||
@@ -7057,7 +7062,7 @@ HRESULT d3d_device_create(struct ddraw *ddraw, struct ddraw_surface *target, IUn
|
||||
@@ -7074,7 +7079,7 @@ HRESULT d3d_device_create(struct ddraw *ddraw, struct ddraw_surface *target, IUn
|
||||
return DDERR_OUTOFMEMORY;
|
||||
}
|
||||
|
||||
@@ -153,7 +152,7 @@ index 43e5d0aa92..5d18a129f7 100644
|
||||
WARN("Failed to initialize device, hr %#x.\n", hr);
|
||||
heap_free(object);
|
||||
diff --git a/dlls/ddraw/surface.c b/dlls/ddraw/surface.c
|
||||
index 66e5a9e616..31ccce29b8 100644
|
||||
index 0c03120662b..3e0d6d66573 100644
|
||||
--- a/dlls/ddraw/surface.c
|
||||
+++ b/dlls/ddraw/surface.c
|
||||
@@ -223,7 +223,7 @@ static HRESULT WINAPI ddraw_surface7_QueryInterface(IDirectDrawSurface7 *iface,
|
||||
@@ -165,7 +164,7 @@ index 66e5a9e616..31ccce29b8 100644
|
||||
1, &This->device1, (IUnknown *)&This->IDirectDrawSurface_iface)))
|
||||
{
|
||||
This->device1 = NULL;
|
||||
@@ -6197,7 +6197,42 @@ HRESULT ddraw_surface_create(struct ddraw *ddraw, const DDSURFACEDESC2 *surface_
|
||||
@@ -6198,7 +6198,42 @@ HRESULT ddraw_surface_create(struct ddraw *ddraw, const DDSURFACEDESC2 *surface_
|
||||
|
||||
if (desc->ddsCaps.dwCaps & DDSCAPS_SYSTEMMEMORY)
|
||||
{
|
||||
@@ -210,5 +209,5 @@ index 66e5a9e616..31ccce29b8 100644
|
||||
}
|
||||
else
|
||||
--
|
||||
2.21.0
|
||||
2.17.1
|
||||
|
||||
|
@@ -0,0 +1,165 @@
|
||||
From 19635dea9206b1606ad0ac53c99205d48bc2ee41 Mon Sep 17 00:00:00 2001
|
||||
From: Paul Gofman <gofmanp@gmail.com>
|
||||
Date: Thu, 24 Oct 2019 20:17:36 +0300
|
||||
Subject: [PATCH] ntdll: Fix free area search outside of reserved area in
|
||||
map_view() for non-zero bitmask.
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
Patch includes logic changes suggested and edited by Rémi Bernon.
|
||||
---
|
||||
dlls/ntdll/virtual.c | 90 ++++++++++++++++++++++++++++++++------------
|
||||
1 file changed, 66 insertions(+), 24 deletions(-)
|
||||
|
||||
diff --git a/dlls/ntdll/virtual.c b/dlls/ntdll/virtual.c
|
||||
index 72ee2cade3..25fbe3b0b1 100644
|
||||
--- a/dlls/ntdll/virtual.c
|
||||
+++ b/dlls/ntdll/virtual.c
|
||||
@@ -543,6 +543,24 @@ static struct file_view *find_view_range( const void *addr, size_t size )
|
||||
return NULL;
|
||||
}
|
||||
|
||||
+/***********************************************************************
|
||||
+ * try_map_free_area
|
||||
+ *
|
||||
+ * Try mmaping some expected free memory region, and return whether it
|
||||
+ * succeeded as expected.
|
||||
+ */
|
||||
+static BOOL try_map_free_area( void *start, size_t size, int unix_prot )
|
||||
+{
|
||||
+ void *map_ptr;
|
||||
+
|
||||
+ if ((map_ptr = wine_anon_mmap(start, size, unix_prot, 0)) == start)
|
||||
+ return TRUE;
|
||||
+
|
||||
+ if (map_ptr != (void *)-1)
|
||||
+ munmap(map_ptr, size);
|
||||
+
|
||||
+ return FALSE;
|
||||
+}
|
||||
|
||||
/***********************************************************************
|
||||
* find_free_area
|
||||
@@ -550,7 +568,7 @@ static struct file_view *find_view_range( const void *addr, size_t size )
|
||||
* Find a free area between views inside the specified range.
|
||||
* The csVirtual section must be held by caller.
|
||||
*/
|
||||
-static void *find_free_area( void *base, void *end, size_t size, size_t mask, int top_down )
|
||||
+static void *find_free_area( void *base, void *end, size_t size, size_t mask, int top_down, BOOL map, int unix_prot )
|
||||
{
|
||||
struct wine_rb_entry *first = NULL, *ptr = views_tree.root;
|
||||
void *start;
|
||||
@@ -579,33 +597,53 @@ static void *find_free_area( void *base, void *end, size_t size, size_t mask, in
|
||||
if (top_down)
|
||||
{
|
||||
start = ROUND_ADDR( (char *)end - size, mask );
|
||||
- if (start >= end || start < base) return NULL;
|
||||
|
||||
- while (first)
|
||||
+ for (;;)
|
||||
{
|
||||
- struct file_view *view = WINE_RB_ENTRY_VALUE( first, struct file_view, entry );
|
||||
+ if (start >= end || start < base) return NULL;
|
||||
+
|
||||
+ while (first)
|
||||
+ {
|
||||
+ struct file_view *view = WINE_RB_ENTRY_VALUE( first, struct file_view, entry );
|
||||
+
|
||||
+ if ((char *)view->base + view->size <= (char *)start) break;
|
||||
+ start = ROUND_ADDR( (char *)view->base - size, mask );
|
||||
+ /* stop if remaining space is not large enough */
|
||||
+ if (!start || start >= end || start < base) return NULL;
|
||||
+ first = wine_rb_prev( first );
|
||||
+ }
|
||||
|
||||
- if ((char *)view->base + view->size <= (char *)start) break;
|
||||
- start = ROUND_ADDR( (char *)view->base - size, mask );
|
||||
- /* stop if remaining space is not large enough */
|
||||
- if (!start || start >= end || start < base) return NULL;
|
||||
- first = wine_rb_prev( first );
|
||||
+ if (!map || try_map_free_area(start, size, unix_prot))
|
||||
+ break;
|
||||
+
|
||||
+ TRACE("Found free area is already mapped, start %p.\n", start);
|
||||
+ start = ROUND_ADDR((char *)start - 1, mask);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
start = ROUND_ADDR( (char *)base + mask, mask );
|
||||
- if (!start || start >= end || (char *)end - (char *)start < size) return NULL;
|
||||
|
||||
- while (first)
|
||||
+ for (;;)
|
||||
{
|
||||
- struct file_view *view = WINE_RB_ENTRY_VALUE( first, struct file_view, entry );
|
||||
-
|
||||
- if ((char *)view->base >= (char *)start + size) break;
|
||||
- start = ROUND_ADDR( (char *)view->base + view->size + mask, mask );
|
||||
- /* stop if remaining space is not large enough */
|
||||
if (!start || start >= end || (char *)end - (char *)start < size) return NULL;
|
||||
- first = wine_rb_next( first );
|
||||
+
|
||||
+ while (first)
|
||||
+ {
|
||||
+ struct file_view *view = WINE_RB_ENTRY_VALUE( first, struct file_view, entry );
|
||||
+
|
||||
+ if ((char *)view->base >= (char *)start + size) break;
|
||||
+ start = ROUND_ADDR( (char *)view->base + view->size + mask, mask );
|
||||
+ /* stop if remaining space is not large enough */
|
||||
+ if (!start || start >= end || (char *)end - (char *)start < size) return NULL;
|
||||
+ first = wine_rb_next( first );
|
||||
+ }
|
||||
+
|
||||
+ if (!map || try_map_free_area(start, size, unix_prot))
|
||||
+ break;
|
||||
+
|
||||
+ TRACE("Found free area is already mapped, start %p.\n", start);
|
||||
+ start = (char *)start + mask + 1;
|
||||
}
|
||||
}
|
||||
return start;
|
||||
@@ -1101,13 +1139,13 @@ static int alloc_reserved_area_callback( void *start, size_t size, void *arg )
|
||||
{
|
||||
/* range is split in two by the preloader reservation, try first part */
|
||||
if ((alloc->result = find_free_area( start, preload_reserve_start, alloc->size,
|
||||
- alloc->mask, alloc->top_down )))
|
||||
+ alloc->mask, alloc->top_down, FALSE, 0 )))
|
||||
return 1;
|
||||
/* then fall through to try second part */
|
||||
start = preload_reserve_end;
|
||||
}
|
||||
}
|
||||
- if ((alloc->result = find_free_area( start, end, alloc->size, alloc->mask, alloc->top_down )))
|
||||
+ if ((alloc->result = find_free_area( start, end, alloc->size, alloc->mask, alloc->top_down, FALSE, 0 )))
|
||||
return 1;
|
||||
|
||||
return 0;
|
||||
@@ -1210,14 +1248,18 @@ static NTSTATUS map_view( struct file_view **view_ret, void *base, size_t size,
|
||||
goto done;
|
||||
}
|
||||
|
||||
- for (;;)
|
||||
+ if (zero_bits_64)
|
||||
{
|
||||
- if (!zero_bits_64)
|
||||
- ptr = NULL;
|
||||
- else if (!(ptr = find_free_area( (void*)0, alloc.limit, view_size, mask, top_down )))
|
||||
+ if (!(ptr = find_free_area(address_space_start, alloc.limit, size,
|
||||
+ mask, top_down, TRUE, VIRTUAL_GetUnixProt(vprot))))
|
||||
return STATUS_NO_MEMORY;
|
||||
+ TRACE( "got mem with find_free_area %p-%p\n", ptr, (char *)ptr + size );
|
||||
+ goto done;
|
||||
+ }
|
||||
|
||||
- if ((ptr = wine_anon_mmap( ptr, view_size, VIRTUAL_GetUnixProt(vprot), ptr ? MAP_FIXED : 0 )) == (void *)-1)
|
||||
+ for (;;)
|
||||
+ {
|
||||
+ if ((ptr = wine_anon_mmap(NULL, view_size, VIRTUAL_GetUnixProt(vprot), 0 )) == (void *)-1)
|
||||
{
|
||||
if (errno == ENOMEM) return STATUS_NO_MEMORY;
|
||||
return STATUS_INVALID_PARAMETER;
|
||||
--
|
||||
2.23.0
|
||||
|
2
patches/ntdll-BitmaskAllocAreaSearch/definition
Normal file
2
patches/ntdll-BitmaskAllocAreaSearch/definition
Normal file
@@ -0,0 +1,2 @@
|
||||
Fixes: [47974] X Rebirth: NtVirtualAlloc() does not find available memory with nonzero bitmask
|
||||
|
@@ -1,4 +1,4 @@
|
||||
From 7d5594cc0b3760843d7d566e642e175a9e542a08 Mon Sep 17 00:00:00 2001
|
||||
From 169d29bc138015c6d54cc71c817bad9ff25ba7f3 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
|
||||
Date: Mon, 3 Apr 2017 05:30:27 +0200
|
||||
Subject: [PATCH] ntdll: Implement HashLinks field in LDR module data.
|
||||
@@ -10,7 +10,7 @@ Subject: [PATCH] ntdll: Implement HashLinks field in LDR module data.
|
||||
3 files changed, 145 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/dlls/kernel32/tests/loader.c b/dlls/kernel32/tests/loader.c
|
||||
index bdcb3448ab7..8e9e780bb50 100644
|
||||
index d48c422e432..1d246ec7a71 100644
|
||||
--- a/dlls/kernel32/tests/loader.c
|
||||
+++ b/dlls/kernel32/tests/loader.c
|
||||
@@ -30,6 +30,7 @@
|
||||
@@ -21,7 +21,7 @@ index bdcb3448ab7..8e9e780bb50 100644
|
||||
#include "wine/test.h"
|
||||
#include "delayloadhandler.h"
|
||||
|
||||
@@ -3993,6 +3994,79 @@ static void test_dll_file( const char *name )
|
||||
@@ -4039,6 +4040,79 @@ static void test_dll_file( const char *name )
|
||||
#undef OK_FIELD
|
||||
}
|
||||
|
||||
@@ -101,10 +101,10 @@ index bdcb3448ab7..8e9e780bb50 100644
|
||||
START_TEST(loader)
|
||||
{
|
||||
int argc;
|
||||
@@ -4061,10 +4135,12 @@ START_TEST(loader)
|
||||
test_import_resolution();
|
||||
@@ -4110,10 +4184,12 @@ START_TEST(loader)
|
||||
test_ExitProcess();
|
||||
test_InMemoryOrderModuleList();
|
||||
test_wow64_redirection();
|
||||
+ test_HashLinks();
|
||||
test_dll_file( "ntdll.dll" );
|
||||
test_dll_file( "kernel32.dll" );
|
||||
@@ -115,10 +115,10 @@ index bdcb3448ab7..8e9e780bb50 100644
|
||||
test_Loader();
|
||||
}
|
||||
diff --git a/dlls/ntdll/loader.c b/dlls/ntdll/loader.c
|
||||
index 8fe2038b346..5a3036e1246 100644
|
||||
index 432369e40a8..b00d9ce13bb 100644
|
||||
--- a/dlls/ntdll/loader.c
|
||||
+++ b/dlls/ntdll/loader.c
|
||||
@@ -96,6 +96,9 @@ static const char * const reason_names[] =
|
||||
@@ -119,6 +119,9 @@ static const char * const reason_names[] =
|
||||
|
||||
static const WCHAR dllW[] = {'.','d','l','l',0};
|
||||
|
||||
@@ -128,7 +128,7 @@ index 8fe2038b346..5a3036e1246 100644
|
||||
/* internal representation of 32bit modules. per process. */
|
||||
typedef struct _wine_modref
|
||||
{
|
||||
@@ -429,6 +432,52 @@ static void call_ldr_notifications( ULONG reason, LDR_MODULE *module )
|
||||
@@ -461,6 +464,52 @@ static void call_ldr_notifications( ULONG reason, LDR_MODULE *module )
|
||||
}
|
||||
}
|
||||
|
||||
@@ -181,7 +181,7 @@ index 8fe2038b346..5a3036e1246 100644
|
||||
/*************************************************************************
|
||||
* get_modref
|
||||
*
|
||||
@@ -1176,7 +1225,12 @@ static WINE_MODREF *alloc_module( HMODULE hModule, const UNICODE_STRING *nt_name
|
||||
@@ -1208,7 +1257,12 @@ static WINE_MODREF *alloc_module( HMODULE hModule, const UNICODE_STRING *nt_name
|
||||
&wm->ldr.InLoadOrderModuleList);
|
||||
InsertTailList(&NtCurrentTeb()->Peb->LdrData->InMemoryOrderModuleList,
|
||||
&wm->ldr.InMemoryOrderModuleList);
|
||||
@@ -194,7 +194,7 @@ index 8fe2038b346..5a3036e1246 100644
|
||||
|
||||
if (!(nt->OptionalHeader.DllCharacteristics & IMAGE_DLLCHARACTERISTICS_NX_COMPAT))
|
||||
{
|
||||
@@ -1921,6 +1975,7 @@ static void load_builtin_callback( void *module, const char *filename )
|
||||
@@ -1953,6 +2007,7 @@ static void load_builtin_callback( void *module, const char *filename )
|
||||
/* the module has only be inserted in the load & memory order lists */
|
||||
RemoveEntryList(&wm->ldr.InLoadOrderModuleList);
|
||||
RemoveEntryList(&wm->ldr.InMemoryOrderModuleList);
|
||||
@@ -202,7 +202,7 @@ index 8fe2038b346..5a3036e1246 100644
|
||||
/* FIXME: free the modref */
|
||||
builtin_load_info->status = STATUS_DLL_NOT_FOUND;
|
||||
return;
|
||||
@@ -2288,6 +2343,7 @@ static NTSTATUS load_native_dll( LPCWSTR load_path, const UNICODE_STRING *nt_nam
|
||||
@@ -2476,6 +2531,7 @@ static NTSTATUS load_native_dll( LPCWSTR load_path, const UNICODE_STRING *nt_nam
|
||||
/* the module has only be inserted in the load & memory order lists */
|
||||
RemoveEntryList(&wm->ldr.InLoadOrderModuleList);
|
||||
RemoveEntryList(&wm->ldr.InMemoryOrderModuleList);
|
||||
@@ -210,7 +210,7 @@ index 8fe2038b346..5a3036e1246 100644
|
||||
|
||||
/* FIXME: there are several more dangling references
|
||||
* left. Including dlls loaded by this dll before the
|
||||
@@ -3451,6 +3507,7 @@ static void free_modref( WINE_MODREF *wm )
|
||||
@@ -3650,6 +3706,7 @@ static void free_modref( WINE_MODREF *wm )
|
||||
{
|
||||
RemoveEntryList(&wm->ldr.InLoadOrderModuleList);
|
||||
RemoveEntryList(&wm->ldr.InMemoryOrderModuleList);
|
||||
@@ -218,7 +218,7 @@ index 8fe2038b346..5a3036e1246 100644
|
||||
if (wm->ldr.InInitializationOrderModuleList.Flink)
|
||||
RemoveEntryList(&wm->ldr.InInitializationOrderModuleList);
|
||||
|
||||
@@ -3937,6 +3994,7 @@ void __wine_process_init(void)
|
||||
@@ -4376,6 +4433,7 @@ void __wine_process_init(void)
|
||||
UNICODE_STRING nt_name;
|
||||
void * (CDECL *init_func)(void);
|
||||
INITIAL_TEB stack;
|
||||
@@ -226,7 +226,7 @@ index 8fe2038b346..5a3036e1246 100644
|
||||
|
||||
thread_init();
|
||||
|
||||
@@ -3946,6 +4004,10 @@ void __wine_process_init(void)
|
||||
@@ -4385,6 +4443,10 @@ void __wine_process_init(void)
|
||||
|
||||
load_global_options();
|
||||
|
||||
@@ -237,7 +237,7 @@ index 8fe2038b346..5a3036e1246 100644
|
||||
/* setup the load callback and create ntdll modref */
|
||||
wine_dll_set_callback( load_builtin_callback );
|
||||
|
||||
@@ -4000,6 +4062,9 @@ void __wine_process_init(void)
|
||||
@@ -4439,6 +4501,9 @@ void __wine_process_init(void)
|
||||
RemoveEntryList( &wm->ldr.InMemoryOrderModuleList );
|
||||
InsertHeadList( &NtCurrentTeb()->Peb->LdrData->InMemoryOrderModuleList, &wm->ldr.InMemoryOrderModuleList );
|
||||
|
||||
@@ -248,10 +248,10 @@ index 8fe2038b346..5a3036e1246 100644
|
||||
{
|
||||
ERR( "Main exe initialization for %s failed, status %x\n",
|
||||
diff --git a/include/winternl.h b/include/winternl.h
|
||||
index 4cd531a4613..0d5e0e9bd8a 100644
|
||||
index df1418477ad..2d7c86c389c 100644
|
||||
--- a/include/winternl.h
|
||||
+++ b/include/winternl.h
|
||||
@@ -2225,8 +2225,8 @@ typedef struct _LDR_MODULE
|
||||
@@ -2242,8 +2242,8 @@ typedef struct _LDR_MODULE
|
||||
ULONG Flags;
|
||||
SHORT LoadCount;
|
||||
SHORT TlsIndex;
|
||||
@@ -261,7 +261,7 @@ index 4cd531a4613..0d5e0e9bd8a 100644
|
||||
ULONG TimeDateStamp;
|
||||
HANDLE ActivationContext;
|
||||
PVOID PatchInformation;
|
||||
@@ -2236,6 +2236,9 @@ typedef struct _LDR_MODULE
|
||||
@@ -2253,6 +2253,9 @@ typedef struct _LDR_MODULE
|
||||
PVOID ContextInformation;
|
||||
ULONG_PTR OriginalBase;
|
||||
LARGE_INTEGER LoadTime;
|
||||
|
@@ -1,4 +1,4 @@
|
||||
From e319578c8c47d7a2f7303f39de7f20e0d10e6675 Mon Sep 17 00:00:00 2001
|
||||
From f13c148654c044ac15de82d43febf6469340e922 Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Lackner <sebastian@fds-team.de>
|
||||
Date: Sat, 30 May 2015 02:23:15 +0200
|
||||
Subject: [PATCH] ntdll: Add support for hiding wine version information from
|
||||
@@ -10,18 +10,18 @@ Subject: [PATCH] ntdll: Add support for hiding wine version information from
|
||||
2 files changed, 103 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/dlls/ntdll/loader.c b/dlls/ntdll/loader.c
|
||||
index 174569d3cf..2dc0202b36 100644
|
||||
index 4400b7ecbe8..9cb5ed420bf 100644
|
||||
--- a/dlls/ntdll/loader.c
|
||||
+++ b/dlls/ntdll/loader.c
|
||||
@@ -68,6 +68,7 @@ typedef void (CALLBACK *LDRENUMPROC)(LDR_MODULE *, void *, BOOLEAN *);
|
||||
const WCHAR system_dir[] = {'C',':','\\','w','i','n','d','o','w','s','\\',
|
||||
's','y','s','t','e','m','3','2','\\',0};
|
||||
@@ -70,6 +70,7 @@ const WCHAR system_dir[] = {'C',':','\\','w','i','n','d','o','w','s','\\',
|
||||
const WCHAR syswow64_dir[] = {'C',':','\\','w','i','n','d','o','w','s','\\',
|
||||
's','y','s','w','o','w','6','4','\\',0};
|
||||
|
||||
+
|
||||
/* system search path */
|
||||
static const WCHAR system_path[] =
|
||||
{'C',':','\\','w','i','n','d','o','w','s','\\','s','y','s','t','e','m','3','2',';',
|
||||
@@ -76,6 +77,9 @@ static const WCHAR system_path[] =
|
||||
@@ -78,6 +79,9 @@ static const WCHAR system_path[] =
|
||||
|
||||
static const WCHAR dotW[] = {'.',0};
|
||||
|
||||
@@ -31,7 +31,7 @@ index 174569d3cf..2dc0202b36 100644
|
||||
static BOOL imports_fixup_done = FALSE; /* set once the imports have been fixed up, before attaching them */
|
||||
static BOOL process_detaching = FALSE; /* set on process detach to avoid deadlocks with thread detach */
|
||||
static int free_lib_count; /* recursion depth of LdrUnloadDll calls */
|
||||
@@ -92,6 +96,8 @@ struct dll_dir_entry
|
||||
@@ -94,6 +98,8 @@ struct dll_dir_entry
|
||||
|
||||
static struct list dll_dir_list = LIST_INIT( dll_dir_list ); /* extra dirs from LdrAddDllDirectory */
|
||||
|
||||
@@ -40,7 +40,7 @@ index 174569d3cf..2dc0202b36 100644
|
||||
struct ldr_notification
|
||||
{
|
||||
struct list entry;
|
||||
@@ -1707,6 +1713,96 @@ NTSTATUS WINAPI LdrUnlockLoaderLock( ULONG flags, ULONG_PTR magic )
|
||||
@@ -1709,6 +1715,96 @@ NTSTATUS WINAPI LdrUnlockLoaderLock( ULONG flags, ULONG_PTR magic )
|
||||
}
|
||||
|
||||
|
||||
@@ -137,7 +137,7 @@ index 174569d3cf..2dc0202b36 100644
|
||||
/******************************************************************
|
||||
* LdrGetProcedureAddress (NTDLL.@)
|
||||
*/
|
||||
@@ -1727,7 +1823,7 @@ NTSTATUS WINAPI LdrGetProcedureAddress(HMODULE module, const ANSI_STRING *name,
|
||||
@@ -1729,7 +1825,7 @@ NTSTATUS WINAPI LdrGetProcedureAddress(HMODULE module, const ANSI_STRING *name,
|
||||
LPCWSTR load_path = NtCurrentTeb()->Peb->ProcessParameters->DllPath.Buffer;
|
||||
void *proc = name ? find_named_export( module, exports, exp_size, name->Buffer, -1, load_path )
|
||||
: find_ordinal_export( module, exports, exp_size, ord - exports->Base, load_path );
|
||||
@@ -146,7 +146,7 @@ index 174569d3cf..2dc0202b36 100644
|
||||
{
|
||||
*address = proc;
|
||||
ret = STATUS_SUCCESS;
|
||||
@@ -4289,6 +4385,7 @@ void __wine_process_init(void)
|
||||
@@ -4291,6 +4387,7 @@ void __wine_process_init(void)
|
||||
NtCurrentTeb()->Peb->LoaderLock = &loader_section;
|
||||
update_user_process_params( &wm->ldr.FullDllName );
|
||||
version_init( wm->ldr.FullDllName.Buffer );
|
||||
@@ -155,10 +155,10 @@ index 174569d3cf..2dc0202b36 100644
|
||||
|
||||
LdrQueryImageFileExecutionOptions( &wm->ldr.FullDllName, globalflagW, REG_DWORD,
|
||||
diff --git a/dlls/ntdll/ntdll_misc.h b/dlls/ntdll/ntdll_misc.h
|
||||
index a111530534..e7bf510c28 100644
|
||||
index 88fed7ebcff..c7b821cbf30 100644
|
||||
--- a/dlls/ntdll/ntdll_misc.h
|
||||
+++ b/dlls/ntdll/ntdll_misc.h
|
||||
@@ -269,6 +269,11 @@ extern SYSTEM_CPU_INFORMATION cpu_info DECLSPEC_HIDDEN;
|
||||
@@ -270,6 +270,11 @@ extern SYSTEM_CPU_INFORMATION cpu_info DECLSPEC_HIDDEN;
|
||||
NTSTATUS WINAPI RtlHashUnicodeString(PCUNICODE_STRING,BOOLEAN,ULONG,ULONG*);
|
||||
void WINAPI LdrInitializeThunk(CONTEXT*,void**,ULONG_PTR,ULONG_PTR);
|
||||
|
||||
@@ -171,5 +171,5 @@ index a111530534..e7bf510c28 100644
|
||||
extern BOOL read_process_time(int unix_pid, int unix_tid, unsigned long clk_tck,
|
||||
LARGE_INTEGER *kernel, LARGE_INTEGER *user) DECLSPEC_HIDDEN;
|
||||
--
|
||||
2.21.0
|
||||
2.23.0
|
||||
|
||||
|
@@ -1,7 +1,7 @@
|
||||
From 4ae8c8dcc501081481fd07302f7cba16d19ecda6 Mon Sep 17 00:00:00 2001
|
||||
From fb0f6b366765e5cd7cf236d660a974541e85b100 Mon Sep 17 00:00:00 2001
|
||||
From: Andrew Wesie <awesie@gmail.com>
|
||||
Date: Fri, 12 Apr 2019 20:04:03 -0500
|
||||
Subject: [PATCH 2/3] ntdll: Return ntdll.dll as the first entry for
|
||||
Subject: [PATCH] ntdll: Return ntdll.dll as the first entry for
|
||||
SystemModuleInformation.
|
||||
|
||||
---
|
||||
@@ -9,10 +9,10 @@ Subject: [PATCH 2/3] ntdll: Return ntdll.dll as the first entry for
|
||||
1 file changed, 28 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/dlls/ntdll/nt.c b/dlls/ntdll/nt.c
|
||||
index 7cc5d81b2..df3c40fcc 100644
|
||||
index a9cec53e0b6..c7d4c804e2c 100644
|
||||
--- a/dlls/ntdll/nt.c
|
||||
+++ b/dlls/ntdll/nt.c
|
||||
@@ -2352,6 +2352,33 @@ BOOLEAN WINAPI RtlIsProcessorFeaturePresent( UINT feature )
|
||||
@@ -2454,6 +2454,33 @@ BOOLEAN WINAPI RtlIsProcessorFeaturePresent( UINT feature )
|
||||
return feature < PROCESSOR_FEATURE_MAX && user_shared_data->ProcessorFeatures[feature];
|
||||
}
|
||||
|
||||
@@ -27,14 +27,14 @@ index 7cc5d81b2..df3c40fcc 100644
|
||||
+ entry = NtCurrentTeb()->Peb->LdrData->InLoadOrderModuleList.Flink;
|
||||
+ mod = CONTAINING_RECORD(entry, LDR_MODULE, InLoadOrderModuleList);
|
||||
+
|
||||
+ sm->Reserved1 = 0;
|
||||
+ sm->Reserved2 = 0;
|
||||
+ sm->Section = 0;
|
||||
+ sm->MappedBaseAddress = 0;
|
||||
+ sm->ImageBaseAddress = mod->BaseAddress;
|
||||
+ sm->ImageSize = mod->SizeOfImage;
|
||||
+ sm->Flags = mod->Flags;
|
||||
+ sm->Id = 0;
|
||||
+ sm->Rank = 0;
|
||||
+ sm->Unknown = 0;
|
||||
+ sm->LoadOrderIndex = 0;
|
||||
+ sm->InitOrderIndex = 0;
|
||||
+ sm->LoadCount = 0;
|
||||
+ str.Length = 0;
|
||||
+ str.MaximumLength = MAXIMUM_FILENAME_LENGTH;
|
||||
+ str.Buffer = (char*)sm->Name;
|
||||
@@ -46,7 +46,7 @@ index 7cc5d81b2..df3c40fcc 100644
|
||||
/******************************************************************************
|
||||
* NtQuerySystemInformation [NTDLL.@]
|
||||
* ZwQuerySystemInformation [NTDLL.@]
|
||||
@@ -2780,7 +2807,7 @@ NTSTATUS WINAPI NtQuerySystemInformation(
|
||||
@@ -2853,7 +2880,7 @@ NTSTATUS WINAPI NtQuerySystemInformation(
|
||||
|
||||
FIXME("returning fake driver list\n");
|
||||
smi->ModulesCount = 1;
|
||||
@@ -56,5 +56,5 @@ index 7cc5d81b2..df3c40fcc 100644
|
||||
}
|
||||
break;
|
||||
--
|
||||
2.21.0
|
||||
2.17.1
|
||||
|
||||
|
@@ -1,4 +1,4 @@
|
||||
From 6416e68e4d81d9b37d24076d446115f08f99bf81 Mon Sep 17 00:00:00 2001
|
||||
From 06a283fc4f686ee3c3cf33fec4f7e7b2c3f64bc4 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
|
||||
Date: Thu, 9 Mar 2017 16:27:23 +0100
|
||||
Subject: [PATCH] ntdll: Fill process kernel and user time.
|
||||
@@ -10,10 +10,10 @@ Subject: [PATCH] ntdll: Fill process kernel and user time.
|
||||
3 files changed, 57 insertions(+), 37 deletions(-)
|
||||
|
||||
diff --git a/dlls/ntdll/nt.c b/dlls/ntdll/nt.c
|
||||
index 2cd2ab327..c3250746b 100644
|
||||
index 91d504f90aa..9c138726d68 100644
|
||||
--- a/dlls/ntdll/nt.c
|
||||
+++ b/dlls/ntdll/nt.c
|
||||
@@ -2384,6 +2384,7 @@ NTSTATUS WINAPI NtQuerySystemInformation(
|
||||
@@ -2600,6 +2600,7 @@ NTSTATUS WINAPI NtQuerySystemInformation(
|
||||
{
|
||||
SYSTEM_PROCESS_INFORMATION* spi = SystemInformation;
|
||||
SYSTEM_PROCESS_INFORMATION* last = NULL;
|
||||
@@ -21,7 +21,7 @@ index 2cd2ab327..c3250746b 100644
|
||||
HANDLE hSnap = 0;
|
||||
WCHAR procname[1024];
|
||||
WCHAR* exename;
|
||||
@@ -2421,7 +2422,7 @@ NTSTATUS WINAPI NtQuerySystemInformation(
|
||||
@@ -2637,7 +2638,7 @@ NTSTATUS WINAPI NtQuerySystemInformation(
|
||||
|
||||
if (Length >= len + procstructlen)
|
||||
{
|
||||
@@ -30,7 +30,7 @@ index 2cd2ab327..c3250746b 100644
|
||||
* vmCounters, ioCounters
|
||||
*/
|
||||
|
||||
@@ -2439,6 +2440,9 @@ NTSTATUS WINAPI NtQuerySystemInformation(
|
||||
@@ -2655,6 +2656,9 @@ NTSTATUS WINAPI NtQuerySystemInformation(
|
||||
|
||||
/* spi->ti will be set later on */
|
||||
|
||||
@@ -41,10 +41,10 @@ index 2cd2ab327..c3250746b 100644
|
||||
len += procstructlen;
|
||||
}
|
||||
diff --git a/dlls/ntdll/ntdll_misc.h b/dlls/ntdll/ntdll_misc.h
|
||||
index 3463ebd38..78831cf37 100644
|
||||
index 70707bec042..db7f00359cf 100644
|
||||
--- a/dlls/ntdll/ntdll_misc.h
|
||||
+++ b/dlls/ntdll/ntdll_misc.h
|
||||
@@ -265,6 +265,10 @@ extern SYSTEM_CPU_INFORMATION cpu_info DECLSPEC_HIDDEN;
|
||||
@@ -270,6 +270,10 @@ extern SYSTEM_CPU_INFORMATION cpu_info DECLSPEC_HIDDEN;
|
||||
NTSTATUS WINAPI RtlHashUnicodeString(PCUNICODE_STRING,BOOLEAN,ULONG,ULONG*);
|
||||
void WINAPI LdrInitializeThunk(CONTEXT*,void**,ULONG_PTR,ULONG_PTR);
|
||||
|
||||
@@ -56,13 +56,13 @@ index 3463ebd38..78831cf37 100644
|
||||
int __cdecl NTDLL_tolower( int c );
|
||||
int __cdecl _stricmp( LPCSTR str1, LPCSTR str2 );
|
||||
diff --git a/dlls/ntdll/thread.c b/dlls/ntdll/thread.c
|
||||
index 70320afe7..8dac11393 100644
|
||||
index c6b70c557b4..029d94d8a38 100644
|
||||
--- a/dlls/ntdll/thread.c
|
||||
+++ b/dlls/ntdll/thread.c
|
||||
@@ -149,6 +149,53 @@ static ULONG_PTR get_image_addr(void)
|
||||
}
|
||||
@@ -153,6 +153,53 @@ static ULONG_PTR get_image_addr(void)
|
||||
#endif
|
||||
|
||||
|
||||
+
|
||||
+BOOL read_process_time(int unix_pid, int unix_tid, unsigned long clk_tck,
|
||||
+ LARGE_INTEGER *kernel, LARGE_INTEGER *user)
|
||||
@@ -111,9 +111,9 @@ index 70320afe7..8dac11393 100644
|
||||
+
|
||||
+
|
||||
/***********************************************************************
|
||||
* thread_init
|
||||
* set_process_name
|
||||
*
|
||||
@@ -902,42 +949,7 @@ NTSTATUS WINAPI NtQueryInformationThread( HANDLE handle, THREADINFOCLASS class,
|
||||
@@ -975,42 +1022,7 @@ NTSTATUS WINAPI NtQueryInformationThread( HANDLE handle, THREADINFOCLASS class,
|
||||
#ifdef __linux__
|
||||
/* only /proc provides exact values for a specific thread */
|
||||
if (unix_pid != -1 && unix_tid != -1)
|
||||
@@ -158,5 +158,5 @@ index 70320afe7..8dac11393 100644
|
||||
|
||||
/* get values for current process instead */
|
||||
--
|
||||
2.21.0
|
||||
2.23.0
|
||||
|
||||
|
@@ -1,4 +1,4 @@
|
||||
From d2f9bcfc14a960a4b365406a8610f9ab96f78e9b Mon Sep 17 00:00:00 2001
|
||||
From d9078607a8e6b8ff82df648b94b5340e6736b923 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
|
||||
Date: Thu, 9 Mar 2017 22:56:45 +0100
|
||||
Subject: [PATCH] ntdll: Fill process virtual memory counters in
|
||||
@@ -13,10 +13,10 @@ FIXME: fill_VM_COUNTERS now uses a different method ... which one is better?
|
||||
4 files changed, 41 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/dlls/ntdll/nt.c b/dlls/ntdll/nt.c
|
||||
index 3c2838f365e..5092b97d252 100644
|
||||
index 2b2d3df89f..a8fb48a83d 100644
|
||||
--- a/dlls/ntdll/nt.c
|
||||
+++ b/dlls/ntdll/nt.c
|
||||
@@ -2510,8 +2510,11 @@ NTSTATUS WINAPI NtQuerySystemInformation(
|
||||
@@ -2561,8 +2561,11 @@ NTSTATUS WINAPI NtQuerySystemInformation(
|
||||
/* spi->ti will be set later on */
|
||||
|
||||
if (reply->unix_pid != -1)
|
||||
@@ -29,10 +29,10 @@ index 3c2838f365e..5092b97d252 100644
|
||||
}
|
||||
len += procstructlen;
|
||||
diff --git a/dlls/ntdll/ntdll_misc.h b/dlls/ntdll/ntdll_misc.h
|
||||
index 40bf66f1d24..5ec14a399cc 100644
|
||||
index 425ede4486..51965eccaf 100644
|
||||
--- a/dlls/ntdll/ntdll_misc.h
|
||||
+++ b/dlls/ntdll/ntdll_misc.h
|
||||
@@ -263,6 +263,7 @@ void WINAPI LdrInitializeThunk(CONTEXT*,void**,ULONG_PTR,ULONG_PTR);
|
||||
@@ -270,6 +270,7 @@ void WINAPI LdrInitializeThunk(CONTEXT*,void**,ULONG_PTR,ULONG_PTR);
|
||||
/* process / thread time */
|
||||
extern BOOL read_process_time(int unix_pid, int unix_tid, unsigned long clk_tck,
|
||||
LARGE_INTEGER *kernel, LARGE_INTEGER *user) DECLSPEC_HIDDEN;
|
||||
@@ -41,10 +41,10 @@ index 40bf66f1d24..5ec14a399cc 100644
|
||||
/* string functions */
|
||||
int __cdecl NTDLL_tolower( int c );
|
||||
diff --git a/dlls/ntdll/process.c b/dlls/ntdll/process.c
|
||||
index 34051c2ef93..94e8df8d8d1 100644
|
||||
index c7e2cdb1b7..b1f529fb3d 100644
|
||||
--- a/dlls/ntdll/process.c
|
||||
+++ b/dlls/ntdll/process.c
|
||||
@@ -203,7 +203,7 @@ static void fill_VM_COUNTERS(VM_COUNTERS* pvmi)
|
||||
@@ -188,7 +188,7 @@ static void fill_VM_COUNTERS(VM_COUNTERS* pvmi)
|
||||
|
||||
static void fill_VM_COUNTERS(VM_COUNTERS* pvmi)
|
||||
{
|
||||
@@ -54,11 +54,11 @@ index 34051c2ef93..94e8df8d8d1 100644
|
||||
|
||||
#endif
|
||||
diff --git a/dlls/ntdll/thread.c b/dlls/ntdll/thread.c
|
||||
index 4279ae77099..0f90291e222 100644
|
||||
index 8b6c937df2..863b337024 100644
|
||||
--- a/dlls/ntdll/thread.c
|
||||
+++ b/dlls/ntdll/thread.c
|
||||
@@ -195,6 +195,42 @@ BOOL read_process_time(int unix_pid, int unix_tid, unsigned long clk_tck,
|
||||
return FALSE;
|
||||
@@ -314,6 +314,42 @@ void thread_init(void)
|
||||
NtCreateKeyedEvent( &keyed_event, GENERIC_READ | GENERIC_WRITE, NULL, 0 );
|
||||
}
|
||||
|
||||
+BOOL read_process_memory_stats(int unix_pid, VM_COUNTERS *pvmi)
|
||||
@@ -99,7 +99,7 @@ index 4279ae77099..0f90291e222 100644
|
||||
+}
|
||||
|
||||
/***********************************************************************
|
||||
* thread_init
|
||||
* free_thread_data
|
||||
--
|
||||
2.20.1
|
||||
2.23.0
|
||||
|
||||
|
@@ -1,4 +1,4 @@
|
||||
From 690b0a49ae9e8ee3935e7c4e19bcd6c637ce28d8 Mon Sep 17 00:00:00 2001
|
||||
From 74b51edf67a0b31bf8e3341a403b11387ad5801d Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Lackner <sebastian@fds-team.de>
|
||||
Date: Wed, 26 Nov 2014 10:46:09 +0100
|
||||
Subject: [PATCH] ntdll: Move code to update user shared data into a separate
|
||||
@@ -10,10 +10,10 @@ Subject: [PATCH] ntdll: Move code to update user shared data into a separate
|
||||
2 files changed, 21 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/dlls/ntdll/ntdll.spec b/dlls/ntdll/ntdll.spec
|
||||
index fb01a26590d..b7dfdc44e19 100644
|
||||
index f0ac1d77b00..4003a36c8be 100644
|
||||
--- a/dlls/ntdll/ntdll.spec
|
||||
+++ b/dlls/ntdll/ntdll.spec
|
||||
@@ -1552,3 +1552,6 @@
|
||||
@@ -1574,3 +1574,6 @@
|
||||
# Filesystem
|
||||
@ cdecl wine_nt_to_unix_file_name(ptr ptr long long)
|
||||
@ cdecl wine_unix_to_nt_file_name(ptr ptr)
|
||||
@@ -21,10 +21,10 @@ index fb01a26590d..b7dfdc44e19 100644
|
||||
+# User shared data
|
||||
+@ cdecl __wine_user_shared_data()
|
||||
diff --git a/dlls/ntdll/thread.c b/dlls/ntdll/thread.c
|
||||
index c1d6012b4da..b6ede0d18cf 100644
|
||||
index 863b337024c..90d49f2d92e 100644
|
||||
--- a/dlls/ntdll/thread.c
|
||||
+++ b/dlls/ntdll/thread.c
|
||||
@@ -245,7 +245,6 @@ void thread_init(void)
|
||||
@@ -211,7 +211,6 @@ void thread_init(void)
|
||||
void *addr;
|
||||
BOOL suspend;
|
||||
SIZE_T size, info_size;
|
||||
@@ -32,7 +32,7 @@ index c1d6012b4da..b6ede0d18cf 100644
|
||||
NTSTATUS status;
|
||||
struct ntdll_thread_data *thread_data;
|
||||
|
||||
@@ -333,7 +332,23 @@ void thread_init(void)
|
||||
@@ -300,7 +299,23 @@ void thread_init(void)
|
||||
init_directories();
|
||||
init_user_process_params( info_size );
|
||||
|
||||
@@ -57,7 +57,7 @@ index c1d6012b4da..b6ede0d18cf 100644
|
||||
NtQuerySystemTime( &now );
|
||||
user_shared_data->SystemTime.LowPart = now.u.LowPart;
|
||||
user_shared_data->SystemTime.High1Time = user_shared_data->SystemTime.High2Time = now.u.HighPart;
|
||||
@@ -341,10 +356,7 @@ void thread_init(void)
|
||||
@@ -308,10 +323,7 @@ void thread_init(void)
|
||||
user_shared_data->u.TickCount.High2Time = user_shared_data->u.TickCount.High1Time;
|
||||
user_shared_data->TickCountLowDeprecated = user_shared_data->u.TickCount.LowPart;
|
||||
user_shared_data->TickCountMultiplier = 1 << 24;
|
||||
@@ -68,7 +68,7 @@ index c1d6012b4da..b6ede0d18cf 100644
|
||||
+ return (BYTE *)user_shared_data;
|
||||
}
|
||||
|
||||
|
||||
BOOL read_process_memory_stats(int unix_pid, VM_COUNTERS *pvmi)
|
||||
--
|
||||
2.20.1
|
||||
2.23.0
|
||||
|
||||
|
@@ -1,21 +1,21 @@
|
||||
From f3483229e702bed0791a35666237e8583f5d47b0 Mon Sep 17 00:00:00 2001
|
||||
From daa8c43bfa8584ef006f324f8009759bd4ce6d70 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
|
||||
Date: Fri, 5 May 2017 05:40:50 +0200
|
||||
Subject: [PATCH] ntdll: Create thread to update user_shared_data time values
|
||||
when necessary.
|
||||
|
||||
---
|
||||
dlls/ntdll/loader.c | 31 ++++++++++++++++++++++
|
||||
dlls/ntdll/ntdll_misc.h | 3 +++
|
||||
dlls/ntdll/thread.c | 70 ++++++++++++++++++++++++++++++++++++++++++++-----
|
||||
dlls/ntdll/virtual.c | 17 ++++++++++++
|
||||
4 files changed, 114 insertions(+), 7 deletions(-)
|
||||
dlls/ntdll/loader.c | 31 ++++++++++++++++++
|
||||
dlls/ntdll/ntdll_misc.h | 3 ++
|
||||
dlls/ntdll/thread.c | 71 ++++++++++++++++++++++++++++++++++++-----
|
||||
dlls/ntdll/virtual.c | 17 ++++++++++
|
||||
4 files changed, 114 insertions(+), 8 deletions(-)
|
||||
|
||||
diff --git a/dlls/ntdll/loader.c b/dlls/ntdll/loader.c
|
||||
index 8073434..0546478 100644
|
||||
index 9cb5ed420bf..39e122d9933 100644
|
||||
--- a/dlls/ntdll/loader.c
|
||||
+++ b/dlls/ntdll/loader.c
|
||||
@@ -3340,6 +3340,36 @@ PIMAGE_NT_HEADERS WINAPI RtlImageNtHeader(HMODULE hModule)
|
||||
@@ -3815,6 +3815,36 @@ PIMAGE_NT_HEADERS WINAPI RtlImageNtHeader(HMODULE hModule)
|
||||
}
|
||||
|
||||
|
||||
@@ -52,7 +52,7 @@ index 8073434..0546478 100644
|
||||
/******************************************************************
|
||||
* LdrInitializeThunk (NTDLL.@)
|
||||
*
|
||||
@@ -3669,6 +3699,7 @@ void __wine_process_init(void)
|
||||
@@ -4387,6 +4417,7 @@ void __wine_process_init(void)
|
||||
NtCurrentTeb()->Peb->LoaderLock = &loader_section;
|
||||
update_user_process_params( &wm->ldr.FullDllName );
|
||||
version_init( wm->ldr.FullDllName.Buffer );
|
||||
@@ -61,10 +61,10 @@ index 8073434..0546478 100644
|
||||
virtual_set_large_address_space();
|
||||
|
||||
diff --git a/dlls/ntdll/ntdll_misc.h b/dlls/ntdll/ntdll_misc.h
|
||||
index 0dba878..47abfba 100644
|
||||
index c7b821cbf30..6d6cccab6b5 100644
|
||||
--- a/dlls/ntdll/ntdll_misc.h
|
||||
+++ b/dlls/ntdll/ntdll_misc.h
|
||||
@@ -194,6 +194,9 @@ extern void virtual_set_large_address_space(void) DECLSPEC_HIDDEN;
|
||||
@@ -197,6 +197,9 @@ extern void virtual_set_large_address_space(void) DECLSPEC_HIDDEN;
|
||||
extern void virtual_fill_image_information( const pe_image_info_t *pe_info,
|
||||
SECTION_IMAGE_INFORMATION *info ) DECLSPEC_HIDDEN;
|
||||
extern struct _KUSER_SHARED_DATA *user_shared_data DECLSPEC_HIDDEN;
|
||||
@@ -75,10 +75,10 @@ index 0dba878..47abfba 100644
|
||||
/* completion */
|
||||
extern NTSTATUS NTDLL_AddCompletion( HANDLE hFile, ULONG_PTR CompletionValue,
|
||||
diff --git a/dlls/ntdll/thread.c b/dlls/ntdll/thread.c
|
||||
index 0a11cfe..1c09344 100644
|
||||
index 90d49f2d92e..14f355cebb5 100644
|
||||
--- a/dlls/ntdll/thread.c
|
||||
+++ b/dlls/ntdll/thread.c
|
||||
@@ -44,6 +44,7 @@
|
||||
@@ -47,6 +47,7 @@
|
||||
#include "wine/library.h"
|
||||
#include "wine/server.h"
|
||||
#include "wine/debug.h"
|
||||
@@ -86,7 +86,7 @@ index 0a11cfe..1c09344 100644
|
||||
#include "ntdll_misc.h"
|
||||
#include "ddk/wdm.h"
|
||||
#include "wine/exception.h"
|
||||
@@ -54,7 +55,9 @@ WINE_DEFAULT_DEBUG_CHANNEL(thread);
|
||||
@@ -57,7 +58,9 @@ WINE_DEFAULT_DEBUG_CHANNEL(thread);
|
||||
#define PTHREAD_STACK_MIN 16384
|
||||
#endif
|
||||
|
||||
@@ -97,7 +97,7 @@ index 0a11cfe..1c09344 100644
|
||||
static const WCHAR default_windirW[] = {'C',':','\\','w','i','n','d','o','w','s',0};
|
||||
|
||||
void (WINAPI *kernel32_start_process)(LPTHREAD_START_ROUTINE,void*) = NULL;
|
||||
@@ -263,7 +266,7 @@ void thread_init(void)
|
||||
@@ -227,7 +230,7 @@ void thread_init(void)
|
||||
MESSAGE( "wine: failed to map the shared user data: %08x\n", status );
|
||||
exit(1);
|
||||
}
|
||||
@@ -106,16 +106,17 @@ index 0a11cfe..1c09344 100644
|
||||
memcpy( user_shared_data->NtSystemRoot, default_windirW, sizeof(default_windirW) );
|
||||
|
||||
/* allocate and initialize the PEB */
|
||||
@@ -355,18 +358,71 @@ void thread_init(void)
|
||||
@@ -315,17 +318,69 @@ void thread_init(void)
|
||||
*/
|
||||
BYTE* CDECL __wine_user_shared_data(void)
|
||||
{
|
||||
- LARGE_INTEGER now;
|
||||
+ static int spinlock;
|
||||
+ ULARGE_INTEGER interrupt;
|
||||
LARGE_INTEGER now;
|
||||
+
|
||||
+ LARGE_INTEGER now;
|
||||
+
|
||||
+ while (interlocked_cmpxchg( &spinlock, 1, 0 ) != 0);
|
||||
+
|
||||
+
|
||||
NtQuerySystemTime( &now );
|
||||
- user_shared_data->SystemTime.LowPart = now.u.LowPart;
|
||||
- user_shared_data->SystemTime.High1Time = user_shared_data->SystemTime.High2Time = now.u.HighPart;
|
||||
@@ -137,12 +138,11 @@ index 0a11cfe..1c09344 100644
|
||||
+ user_shared_data->u.TickCount.High1Time = interrupt.HighPart;
|
||||
+ user_shared_data->TickCountLowDeprecated = interrupt.LowPart;
|
||||
user_shared_data->TickCountMultiplier = 1 << 24;
|
||||
+
|
||||
+
|
||||
+ spinlock = 0;
|
||||
return (BYTE *)user_shared_data;
|
||||
}
|
||||
|
||||
|
||||
+static void *user_shared_data_thread(void *arg)
|
||||
+{
|
||||
+ struct timeval tv;
|
||||
@@ -168,7 +168,7 @@ index 0a11cfe..1c09344 100644
|
||||
+ if (interlocked_cmpxchg(&thread_created, 1, 0) != 0)
|
||||
+ return;
|
||||
+
|
||||
+ FIXME("Creating user shared data update thread.\n");
|
||||
+ TRACE("Creating user shared data update thread.\n");
|
||||
+
|
||||
+ user_shared_data = user_shared_data_external;
|
||||
+ __wine_user_shared_data();
|
||||
@@ -179,15 +179,14 @@ index 0a11cfe..1c09344 100644
|
||||
+ pthread_attr_destroy(&attr);
|
||||
+}
|
||||
+
|
||||
+
|
||||
/***********************************************************************
|
||||
* free_thread_data
|
||||
*/
|
||||
BOOL read_process_memory_stats(int unix_pid, VM_COUNTERS *pvmi)
|
||||
{
|
||||
BOOL ret = FALSE;
|
||||
diff --git a/dlls/ntdll/virtual.c b/dlls/ntdll/virtual.c
|
||||
index da40aab..de63460 100644
|
||||
index d15b49f6fdf..186d7335bfc 100644
|
||||
--- a/dlls/ntdll/virtual.c
|
||||
+++ b/dlls/ntdll/virtual.c
|
||||
@@ -2013,6 +2013,7 @@ NTSTATUS virtual_handle_fault( LPCVOID addr, DWORD err, BOOL on_signal_stack )
|
||||
@@ -2088,6 +2088,7 @@ NTSTATUS virtual_handle_fault( LPCVOID addr, DWORD err, BOOL on_signal_stack )
|
||||
{
|
||||
NTSTATUS ret = STATUS_ACCESS_VIOLATION;
|
||||
void *page = ROUND_ADDR( addr, page_mask );
|
||||
@@ -195,7 +194,7 @@ index da40aab..de63460 100644
|
||||
sigset_t sigset;
|
||||
BYTE vprot;
|
||||
|
||||
@@ -2038,7 +2039,23 @@ NTSTATUS virtual_handle_fault( LPCVOID addr, DWORD err, BOOL on_signal_stack )
|
||||
@@ -2113,7 +2114,23 @@ NTSTATUS virtual_handle_fault( LPCVOID addr, DWORD err, BOOL on_signal_stack )
|
||||
ret = STATUS_SUCCESS;
|
||||
}
|
||||
}
|
||||
@@ -220,5 +219,5 @@ index da40aab..de63460 100644
|
||||
}
|
||||
|
||||
--
|
||||
1.9.1
|
||||
2.23.0
|
||||
|
||||
|
@@ -52,13 +52,13 @@ usage()
|
||||
# Get the upstream commit sha
|
||||
upstream_commit()
|
||||
{
|
||||
echo "8c74027ba60a360f24cf232ee233e71262d8f1ff"
|
||||
echo "6f2ef158b78f7d0a950c9398c26278d6523c112e"
|
||||
}
|
||||
|
||||
# Show version information
|
||||
version()
|
||||
{
|
||||
echo "Wine Staging 4.18"
|
||||
echo "Wine Staging 4.19"
|
||||
echo "Copyright (C) 2014-2019 the Wine Staging project authors."
|
||||
echo "Copyright (C) 2018-2019 Alistair Leslie-Hughes"
|
||||
echo ""
|
||||
@@ -100,7 +100,6 @@ patch_enable_all ()
|
||||
enable_comdlg32_lpstrFileTitle="$1"
|
||||
enable_configure_Absolute_RPATH="$1"
|
||||
enable_crypt32_CMS_Certificates="$1"
|
||||
enable_crypt32_MS_Root_Certs="$1"
|
||||
enable_cryptext_CryptExtOpenCER="$1"
|
||||
enable_d2d1_ID2D1Factory1="$1"
|
||||
enable_d3d11_Deferred_Context="$1"
|
||||
@@ -180,6 +179,7 @@ patch_enable_all ()
|
||||
enable_ntdll_APC_Performance="$1"
|
||||
enable_ntdll_Activation_Context="$1"
|
||||
enable_ntdll_ApiSetMap="$1"
|
||||
enable_ntdll_BitmaskAllocAreaSearch="$1"
|
||||
enable_ntdll_Builtin_Prot="$1"
|
||||
enable_ntdll_CriticalSection="$1"
|
||||
enable_ntdll_DOS_Attributes="$1"
|
||||
@@ -281,7 +281,6 @@ patch_enable_all ()
|
||||
enable_shlwapi_UrlCombine="$1"
|
||||
enable_stdole32_idl_Typelib="$1"
|
||||
enable_stdole32_tlb_SLTG_Typelib="$1"
|
||||
enable_uianimation_stubs="$1"
|
||||
enable_user32_DM_SETDEFID="$1"
|
||||
enable_user32_Dialog_Paint_Event="$1"
|
||||
enable_user32_DrawMenuItem="$1"
|
||||
@@ -424,9 +423,6 @@ patch_enable ()
|
||||
crypt32-CMS_Certificates)
|
||||
enable_crypt32_CMS_Certificates="$2"
|
||||
;;
|
||||
crypt32-MS_Root_Certs)
|
||||
enable_crypt32_MS_Root_Certs="$2"
|
||||
;;
|
||||
cryptext-CryptExtOpenCER)
|
||||
enable_cryptext_CryptExtOpenCER="$2"
|
||||
;;
|
||||
@@ -664,6 +660,9 @@ patch_enable ()
|
||||
ntdll-ApiSetMap)
|
||||
enable_ntdll_ApiSetMap="$2"
|
||||
;;
|
||||
ntdll-BitmaskAllocAreaSearch)
|
||||
enable_ntdll_BitmaskAllocAreaSearch="$2"
|
||||
;;
|
||||
ntdll-Builtin_Prot)
|
||||
enable_ntdll_Builtin_Prot="$2"
|
||||
;;
|
||||
@@ -967,9 +966,6 @@ patch_enable ()
|
||||
stdole32.tlb-SLTG_Typelib)
|
||||
enable_stdole32_tlb_SLTG_Typelib="$2"
|
||||
;;
|
||||
uianimation-stubs)
|
||||
enable_uianimation_stubs="$2"
|
||||
;;
|
||||
user32-DM_SETDEFID)
|
||||
enable_user32_DM_SETDEFID="$2"
|
||||
;;
|
||||
@@ -2243,14 +2239,11 @@ fi
|
||||
# |
|
||||
# | Modified files:
|
||||
# | * dlls/api-ms-win-core-winrt-error-l1-1-0/api-ms-win-core-winrt-error-l1-1-0.spec, dlls/api-ms-win-core-winrt-error-l1-1-1
|
||||
# | /api-ms-win-core-winrt-error-l1-1-1.spec, dlls/combase/combase.spec, dlls/combase/roapi.c, include/Makefile.in,
|
||||
# | include/restrictederrorinfo.idl
|
||||
# | /api-ms-win-core-winrt-error-l1-1-1.spec, dlls/combase/combase.spec, dlls/combase/roapi.c
|
||||
# |
|
||||
if test "$enable_combase_GetRestrictedErrorInfo" -eq 1; then
|
||||
patch_apply combase-GetRestrictedErrorInfo/0001-include-Add-restrictederrorinfo.idl.patch
|
||||
patch_apply combase-GetRestrictedErrorInfo/0002-combase-Add-GetRestrictedErrorInfo-and-RoOriginateLa.patch
|
||||
(
|
||||
printf '%s\n' '+ { "Louis Lenders", "include: Add restrictederrorinfo.idl.", 1 },';
|
||||
printf '%s\n' '+ { "Louis Lenders", "combase: Add GetRestrictedErrorInfo and RoOriginateLanguageException stubs.", 1 },';
|
||||
) >> "$patchlist"
|
||||
fi
|
||||
@@ -2348,18 +2341,6 @@ if test "$enable_crypt32_CMS_Certificates" -eq 1; then
|
||||
) >> "$patchlist"
|
||||
fi
|
||||
|
||||
# Patchset crypt32-MS_Root_Certs
|
||||
# |
|
||||
# | Modified files:
|
||||
# | * dlls/crypt32/rootstore.c
|
||||
# |
|
||||
if test "$enable_crypt32_MS_Root_Certs" -eq 1; then
|
||||
patch_apply crypt32-MS_Root_Certs/0001-crypt32-Add-MS-root-CA-2010-2011.patch
|
||||
(
|
||||
printf '%s\n' '+ { "Michael MĂĽller", "crypt32: Add MS root CA 2010.", 1 },';
|
||||
) >> "$patchlist"
|
||||
fi
|
||||
|
||||
# Patchset cryptext-CryptExtOpenCER
|
||||
# |
|
||||
# | Modified files:
|
||||
@@ -4540,6 +4521,21 @@ if test "$enable_ntdll_ApiSetMap" -eq 1; then
|
||||
) >> "$patchlist"
|
||||
fi
|
||||
|
||||
# Patchset ntdll-BitmaskAllocAreaSearch
|
||||
# |
|
||||
# | This patchset fixes the following Wine bugs:
|
||||
# | * [#47974] X Rebirth: NtVirtualAlloc() does not find available memory with nonzero bitmask
|
||||
# |
|
||||
# | Modified files:
|
||||
# | * dlls/ntdll/virtual.c
|
||||
# |
|
||||
if test "$enable_ntdll_BitmaskAllocAreaSearch" -eq 1; then
|
||||
patch_apply ntdll-BitmaskAllocAreaSearch/0001-ntdll-Fix-free-area-search-outside-of-reserved-area-.patch
|
||||
(
|
||||
printf '%s\n' '+ { "Paul Gofman", "ntdll: Fix free area search outside of reserved area in map_view() for non-zero bitmask.", 1 },';
|
||||
) >> "$patchlist"
|
||||
fi
|
||||
|
||||
# Patchset ntdll-Builtin_Prot
|
||||
# |
|
||||
# | This patchset has the following (direct or indirect) dependencies:
|
||||
@@ -5410,20 +5406,12 @@ fi
|
||||
# Patchset quartz-MediaSeeking_Positions
|
||||
# |
|
||||
# | Modified files:
|
||||
# | * dlls/quartz/filtergraph.c, dlls/strmbase/pospass.c
|
||||
# | * dlls/strmbase/pospass.c
|
||||
# |
|
||||
if test "$enable_quartz_MediaSeeking_Positions" -eq 1; then
|
||||
patch_apply quartz-MediaSeeking_Positions/0001-strmbase-Fix-MediaSeekingPassThru_GetPositions-retur.patch
|
||||
patch_apply quartz-MediaSeeking_Positions/0002-quartz-Include-the-stream-position-in-addition-to-th.patch
|
||||
patch_apply quartz-MediaSeeking_Positions/0003-quartz-Implement-MediaSeeking_GetCurrentPosition-on-.patch
|
||||
patch_apply quartz-MediaSeeking_Positions/0004-quartz-Implement-MediaSeeking_GetStopPosition-on-top.patch
|
||||
patch_apply quartz-MediaSeeking_Positions/0005-quartz-Remove-unused-cache-of-MediaSeeking-stop-posi.patch
|
||||
(
|
||||
printf '%s\n' '+ { "Erich E. Hoover", "strmbase: Fix MediaSeekingPassThru_GetPositions return when the pins are unconnected.", 1 },';
|
||||
printf '%s\n' '+ { "Erich E. Hoover", "quartz: Include the stream position in addition to the reference clock offset in the time returned by MediaSeeking_GetPositions.", 1 },';
|
||||
printf '%s\n' '+ { "Erich E. Hoover", "quartz: Implement MediaSeeking_GetCurrentPosition on top of MediaSeeking_GetPositions.", 1 },';
|
||||
printf '%s\n' '+ { "Erich E. Hoover", "quartz: Implement MediaSeeking_GetStopPosition on top of MediaSeeking_GetPositions.", 1 },';
|
||||
printf '%s\n' '+ { "Erich E. Hoover", "quartz: Remove unused cache of MediaSeeking stop position.", 1 },';
|
||||
) >> "$patchlist"
|
||||
fi
|
||||
|
||||
@@ -6041,25 +6029,6 @@ if test "$enable_stdole32_tlb_SLTG_Typelib" -eq 1; then
|
||||
) >> "$patchlist"
|
||||
fi
|
||||
|
||||
# Patchset uianimation-stubs
|
||||
# |
|
||||
# | This patchset fixes the following Wine bugs:
|
||||
# | * [#41369] Add UIAnimation and stubs interfaces
|
||||
# |
|
||||
# | Modified files:
|
||||
# | * dlls/uianimation/Makefile.in, dlls/uianimation/main.c, dlls/uianimation/uianimation_typelib.idl
|
||||
# |
|
||||
if test "$enable_uianimation_stubs" -eq 1; then
|
||||
patch_apply uianimation-stubs/0002-uianimation-Add-stub-dll.patch
|
||||
patch_apply uianimation-stubs/0003-uianimation-Implement-IUIAnimationManager-CreateStor.patch
|
||||
patch_apply uianimation-stubs/0004-uianimation-Implement-IUIAnimationManager-CreateAnim.patch
|
||||
(
|
||||
printf '%s\n' '+ { "Louis Lenders", "uianimation: Add stub dll.", 1 },';
|
||||
printf '%s\n' '+ { "Louis Lenders", "uianimation: Implement IUIAnimationManager CreateStoryboard.", 1 },';
|
||||
printf '%s\n' '+ { "Louis Lenders", "uianimation: Implement IUIAnimationManager CreateAnimationVariable.", 1 },';
|
||||
) >> "$patchlist"
|
||||
fi
|
||||
|
||||
# Patchset user32-DM_SETDEFID
|
||||
# |
|
||||
# | This patchset fixes the following Wine bugs:
|
||||
|
@@ -1,58 +0,0 @@
|
||||
From fb2417ad73fb67b20340a65d645b9dac245bdbf0 Mon Sep 17 00:00:00 2001
|
||||
From: "Erich E. Hoover" <erich.e.hoover@gmail.com>
|
||||
Date: Tue, 22 Jul 2014 08:26:47 -0600
|
||||
Subject: quartz: Include the stream position in addition to the reference
|
||||
clock offset in the time returned by MediaSeeking_GetPositions.
|
||||
|
||||
---
|
||||
dlls/quartz/filtergraph.c | 27 ++++++++++++++++++++++++---
|
||||
1 file changed, 24 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/dlls/quartz/filtergraph.c b/dlls/quartz/filtergraph.c
|
||||
index 771a330..ad24691 100644
|
||||
--- a/dlls/quartz/filtergraph.c
|
||||
+++ b/dlls/quartz/filtergraph.c
|
||||
@@ -2539,16 +2539,37 @@ static HRESULT WINAPI MediaSeeking_SetPositions(IMediaSeeking *iface, LONGLONG *
|
||||
return hr;
|
||||
}
|
||||
|
||||
+static HRESULT WINAPI found_getposition(IFilterGraphImpl *This, IMediaSeeking *seek, DWORD_PTR pargs)
|
||||
+{
|
||||
+ struct pos_args *args = (void*)pargs;
|
||||
+
|
||||
+ return IMediaSeeking_GetPositions(seek, args->current, args->stop);
|
||||
+}
|
||||
+
|
||||
static HRESULT WINAPI MediaSeeking_GetPositions(IMediaSeeking *iface, LONGLONG *pCurrent,
|
||||
LONGLONG *pStop)
|
||||
{
|
||||
IFilterGraphImpl *This = impl_from_IMediaSeeking(iface);
|
||||
+ struct pos_args args;
|
||||
+ LONGLONG time = 0;
|
||||
HRESULT hr;
|
||||
|
||||
TRACE("(%p/%p)->(%p, %p)\n", This, iface, pCurrent, pStop);
|
||||
- hr = IMediaSeeking_GetCurrentPosition(iface, pCurrent);
|
||||
- if (SUCCEEDED(hr))
|
||||
- hr = IMediaSeeking_GetStopPosition(iface, pStop);
|
||||
+
|
||||
+ args.current = pCurrent;
|
||||
+ args.stop = pStop;
|
||||
+ EnterCriticalSection(&This->cs);
|
||||
+ hr = all_renderers_seek(This, found_getposition, (DWORD_PTR)&args);
|
||||
+ if (This->state == State_Running && This->refClock && This->start_time >= 0)
|
||||
+ {
|
||||
+ IReferenceClock_GetTime(This->refClock, &time);
|
||||
+ if (time)
|
||||
+ time -= This->start_time;
|
||||
+ }
|
||||
+ if (This->pause_time > 0)
|
||||
+ time += This->pause_time;
|
||||
+ *pCurrent += time;
|
||||
+ LeaveCriticalSection(&This->cs);
|
||||
|
||||
return hr;
|
||||
}
|
||||
--
|
||||
1.7.9.5
|
||||
|
@@ -1,71 +0,0 @@
|
||||
From 5e1836cb61edfb4940ced2b9fd44efc93c2d3e82 Mon Sep 17 00:00:00 2001
|
||||
From: "Erich E. Hoover" <erich.e.hoover@gmail.com>
|
||||
Date: Tue, 22 Jul 2014 08:27:52 -0600
|
||||
Subject: quartz: Implement MediaSeeking_GetCurrentPosition on top of
|
||||
MediaSeeking_GetPositions.
|
||||
|
||||
---
|
||||
dlls/quartz/filtergraph.c | 40 +++++++++++++++-------------------------
|
||||
1 file changed, 15 insertions(+), 25 deletions(-)
|
||||
|
||||
diff --git a/dlls/quartz/filtergraph.c b/dlls/quartz/filtergraph.c
|
||||
index ad24691..0491131 100644
|
||||
--- a/dlls/quartz/filtergraph.c
|
||||
+++ b/dlls/quartz/filtergraph.c
|
||||
@@ -2451,31 +2451,6 @@ static HRESULT WINAPI MediaSeeking_GetStopPosition(IMediaSeeking *iface, LONGLON
|
||||
return hr;
|
||||
}
|
||||
|
||||
-static HRESULT WINAPI MediaSeeking_GetCurrentPosition(IMediaSeeking *iface, LONGLONG *pCurrent)
|
||||
-{
|
||||
- IFilterGraphImpl *This = impl_from_IMediaSeeking(iface);
|
||||
- LONGLONG time = 0;
|
||||
-
|
||||
- if (!pCurrent)
|
||||
- return E_POINTER;
|
||||
-
|
||||
- EnterCriticalSection(&This->cs);
|
||||
- if (This->state == State_Running && This->refClock && This->start_time >= 0)
|
||||
- {
|
||||
- IReferenceClock_GetTime(This->refClock, &time);
|
||||
- if (time)
|
||||
- time -= This->start_time;
|
||||
- }
|
||||
- if (This->pause_time > 0)
|
||||
- time += This->pause_time;
|
||||
- *pCurrent = time;
|
||||
- LeaveCriticalSection(&This->cs);
|
||||
-
|
||||
- TRACE("Time: %u.%03u\n", (DWORD)(*pCurrent / 10000000), (DWORD)((*pCurrent / 10000)%1000));
|
||||
-
|
||||
- return S_OK;
|
||||
-}
|
||||
-
|
||||
static HRESULT WINAPI MediaSeeking_ConvertTimeFormat(IMediaSeeking *iface, LONGLONG *pTarget,
|
||||
const GUID *pTargetFormat, LONGLONG Source, const GUID *pSourceFormat)
|
||||
{
|
||||
@@ -2574,6 +2549,21 @@ static HRESULT WINAPI MediaSeeking_GetPositions(IMediaSeeking *iface, LONGLONG *
|
||||
return hr;
|
||||
}
|
||||
|
||||
+static HRESULT WINAPI MediaSeeking_GetCurrentPosition(IMediaSeeking *iface, LONGLONG *pCurrent)
|
||||
+{
|
||||
+ LONGLONG time;
|
||||
+ HRESULT hr;
|
||||
+
|
||||
+ if (!pCurrent)
|
||||
+ return E_POINTER;
|
||||
+
|
||||
+ hr = MediaSeeking_GetPositions(iface, pCurrent, &time);
|
||||
+
|
||||
+ TRACE("Time: %u.%03u\n", (DWORD)(*pCurrent / 10000000), (DWORD)((*pCurrent / 10000)%1000));
|
||||
+
|
||||
+ return hr;
|
||||
+}
|
||||
+
|
||||
static HRESULT WINAPI MediaSeeking_GetAvailable(IMediaSeeking *iface, LONGLONG *pEarliest,
|
||||
LONGLONG *pLatest)
|
||||
{
|
||||
--
|
||||
1.7.9.5
|
||||
|
@@ -1,68 +0,0 @@
|
||||
From e2abc9b73d2e909f62468de5d66c5d9ec51fce0f Mon Sep 17 00:00:00 2001
|
||||
From: "Erich E. Hoover" <erich.e.hoover@gmail.com>
|
||||
Date: Tue, 22 Jul 2014 08:32:31 -0600
|
||||
Subject: quartz: Implement MediaSeeking_GetStopPosition on top of
|
||||
MediaSeeking_GetPositions.
|
||||
|
||||
---
|
||||
dlls/quartz/filtergraph.c | 37 ++++++++++++++++---------------------
|
||||
1 file changed, 16 insertions(+), 21 deletions(-)
|
||||
|
||||
diff --git a/dlls/quartz/filtergraph.c b/dlls/quartz/filtergraph.c
|
||||
index 4c093f3..0d06ba4 100644
|
||||
--- a/dlls/quartz/filtergraph.c
|
||||
+++ b/dlls/quartz/filtergraph.c
|
||||
@@ -2430,27 +2430,6 @@ static HRESULT WINAPI MediaSeeking_GetDuration(IMediaSeeking *iface, LONGLONG *p
|
||||
return hr;
|
||||
}
|
||||
|
||||
-static HRESULT WINAPI MediaSeeking_GetStopPosition(IMediaSeeking *iface, LONGLONG *pStop)
|
||||
-{
|
||||
- IFilterGraphImpl *This = impl_from_IMediaSeeking(iface);
|
||||
- HRESULT hr = S_OK;
|
||||
-
|
||||
- TRACE("(%p/%p)->(%p)\n", This, iface, pStop);
|
||||
-
|
||||
- if (!pStop)
|
||||
- return E_POINTER;
|
||||
-
|
||||
- EnterCriticalSection(&This->cs);
|
||||
- if (This->stop_position < 0)
|
||||
- /* Stop position not set, use duration instead */
|
||||
- hr = IMediaSeeking_GetDuration(iface, pStop);
|
||||
- else
|
||||
- *pStop = This->stop_position;
|
||||
- LeaveCriticalSection(&This->cs);
|
||||
-
|
||||
- return hr;
|
||||
-}
|
||||
-
|
||||
static HRESULT WINAPI MediaSeeking_ConvertTimeFormat(IMediaSeeking *iface, LONGLONG *pTarget,
|
||||
const GUID *pTargetFormat, LONGLONG Source, const GUID *pSourceFormat)
|
||||
{
|
||||
@@ -2565,6 +2544,22 @@ static HRESULT WINAPI MediaSeeking_GetCurrentPosition(IMediaSeeking *iface, LONG
|
||||
return hr;
|
||||
}
|
||||
|
||||
+static HRESULT WINAPI MediaSeeking_GetStopPosition(IMediaSeeking *iface, LONGLONG *pStop)
|
||||
+{
|
||||
+ IFilterGraphImpl *This = impl_from_IMediaSeeking(iface);
|
||||
+ LONGLONG time;
|
||||
+ HRESULT hr;
|
||||
+
|
||||
+ TRACE("(%p/%p)->(%p)\n", This, iface, pStop);
|
||||
+
|
||||
+ if (!pStop)
|
||||
+ return E_POINTER;
|
||||
+
|
||||
+ hr = MediaSeeking_GetPositions(iface, &time, pStop);
|
||||
+
|
||||
+ return hr;
|
||||
+}
|
||||
+
|
||||
static HRESULT WINAPI MediaSeeking_GetAvailable(IMediaSeeking *iface, LONGLONG *pEarliest,
|
||||
LONGLONG *pLatest)
|
||||
{
|
||||
--
|
||||
1.7.9.5
|
||||
|
@@ -1,44 +0,0 @@
|
||||
From 3c9438db949d434b8cb5fba36ee55df384624016 Mon Sep 17 00:00:00 2001
|
||||
From: "Erich E. Hoover" <erich.e.hoover@gmail.com>
|
||||
Date: Tue, 22 Jul 2014 08:34:09 -0600
|
||||
Subject: quartz: Remove unused cache of MediaSeeking stop position.
|
||||
|
||||
---
|
||||
dlls/quartz/filtergraph.c | 7 -------
|
||||
1 file changed, 7 deletions(-)
|
||||
|
||||
diff --git a/dlls/quartz/filtergraph.c b/dlls/quartz/filtergraph.c
|
||||
index 0d06ba4..df6b4bd 100644
|
||||
--- a/dlls/quartz/filtergraph.c
|
||||
+++ b/dlls/quartz/filtergraph.c
|
||||
@@ -201,7 +201,6 @@ typedef struct _IFilterGraphImpl {
|
||||
GUID timeformatseek;
|
||||
REFERENCE_TIME start_time;
|
||||
REFERENCE_TIME pause_time;
|
||||
- LONGLONG stop_position;
|
||||
LONG recursioncount;
|
||||
IUnknown *pSite;
|
||||
LONG version;
|
||||
@@ -2471,11 +2470,6 @@ static HRESULT WINAPI MediaSeeking_SetPositions(IMediaSeeking *iface, LONGLONG *
|
||||
(dwCurrentFlags & 0x7) != AM_SEEKING_NoPositioning)
|
||||
FIXME("Adjust method %x not handled yet!\n", dwCurrentFlags & 0x7);
|
||||
|
||||
- if ((dwStopFlags & 0x7) == AM_SEEKING_AbsolutePositioning)
|
||||
- This->stop_position = *pStop;
|
||||
- else if ((dwStopFlags & 0x7) != AM_SEEKING_NoPositioning)
|
||||
- FIXME("Stop position not handled yet!\n");
|
||||
-
|
||||
if (state == State_Running && !(dwCurrentFlags & AM_SEEKING_NoFlush))
|
||||
IMediaControl_Pause(&This->IMediaControl_iface);
|
||||
args.current = pCurrent;
|
||||
@@ -5669,7 +5663,6 @@ HRESULT FilterGraph_create(IUnknown *pUnkOuter, LPVOID *ppObj)
|
||||
fimpl->nItfCacheEntries = 0;
|
||||
memcpy(&fimpl->timeformatseek, &TIME_FORMAT_MEDIA_TIME, sizeof(GUID));
|
||||
fimpl->start_time = fimpl->pause_time = 0;
|
||||
- fimpl->stop_position = -1;
|
||||
fimpl->punkFilterMapper2 = NULL;
|
||||
fimpl->recursioncount = 0;
|
||||
fimpl->version = 0;
|
||||
--
|
||||
1.7.9.5
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user