Compare commits

..

24 Commits

Author SHA1 Message Date
Alistair Leslie-Hughes
b1066c7064 Release 4.0-rc3 2018-12-22 14:09:01 +11:00
Alistair Leslie-Hughes
b636153ec4 Added mf-MFCreateSequencerSource patchset 2018-12-21 08:56:45 +11:00
Alistair Leslie-Hughes
f8064b4dbe Rebase against f6896e062d30d6d5d6d94a34e3a622c83aa9d3f1 2018-12-21 08:16:38 +11:00
Zebediah Figura
b7a4aade29 user32-minimized_windows: Add patch set. 2018-12-20 12:40:39 -06:00
Alistair Leslie-Hughes
9e8d000f35 Rebase against 5a8e430b96ab429a85f82f26ba9d2de4729954c2 2018-12-18 11:02:25 +11:00
Alistair Leslie-Hughes
42b756066b Added winex11-ime-check-thread-data patchset 2018-12-18 08:44:19 +11:00
Alistair Leslie-Hughes
ee381d1ad0 Added imm32-message_on_focus patchset 2018-12-18 08:37:38 +11:00
Alistair Leslie-Hughes
9a858d4f4c Added wined3d-WINED3D_TEXF_ANISOTROPIC patchset 2018-12-17 16:26:32 +11:00
Alistair Leslie-Hughes
3878c8eb1b Updated uianimation-stubs patchset 2018-12-17 16:10:10 +11:00
Alistair Leslie-Hughes
5020088406 Added mfplat-MFGetSystemTime patchset 2018-12-17 11:36:45 +11:00
Alistair Leslie-Hughes
c119ae9eeb Release v4.0rc2 2018-12-16 13:15:30 +11:00
Zebediah Figura
476caa4a5f ucrtbase-_o_: Add patch set. 2018-12-15 10:15:17 -06:00
Zebediah Figura
9982d2e0ee dwmapi-DwmGetTransportAttributes: Add patch set. 2018-12-15 10:10:07 -06:00
Zebediah Figura
2b2bf8ac06 user32-dialog_focus: Update patch. 2018-12-15 09:49:32 -06:00
Zebediah Figura
088524a29e newupdate.py: Fix path. 2018-12-15 09:46:36 -06:00
Zebediah Figura
31d525e567 newupdate.py: Also regenerate patchinstall.sh. 2018-12-13 19:03:58 -06:00
Zebediah Figura
7d26828643 krnl386.exe16-_lclose16: Remove.
This was fixed by 414c73feabb6d33be969f3927f8b3e8a8075bcd4.
2018-12-13 18:58:44 -06:00
Alistair Leslie-Hughes
3dc3c4e0e2 Updated winex11-key_translation patchset
Fixed Russian layout.
2018-12-13 08:41:49 +11:00
Alistair Leslie-Hughes
154875b4e9 Remove dinput-map_dik_codes patchset
This was pointed out this patchset isn't required.
The right approach is the correctly map the keyboard correctly
eg. winex11-key_translation patchset
2018-12-13 08:37:37 +11:00
Alistair Leslie-Hughes
66148cb9b2 Updated wintab32-improvements patchset 2018-12-11 13:43:44 +11:00
Alistair Leslie-Hughes
cfbf5f7b86 Added winex11-key_translation patchset 2018-12-11 13:43:44 +11:00
Alistair Leslie-Hughes
6f1b2ab35a Added dinput-map_dik_codes patchset 2018-12-11 13:43:44 +11:00
Zebediah Figura
550e67b8a2 Rebase against 76bc23d8c6c1b2857cb7a4d14c5931094a12a82a. 2018-12-10 19:53:30 -06:00
Zebediah Figura
e45211698d wow64cpu-Wow64Transition: Load wow64cpu.dll after kernel32.dll.
Fixes bug 46251.
2018-12-10 19:48:41 -06:00
54 changed files with 5072 additions and 858 deletions

View File

@@ -1,4 +1,4 @@
From 8397d7b777db5ef44825b639d4009f6e372ca9ad Mon Sep 17 00:00:00 2001
From 1b741a4b555ad98a769fdb9fa659134b83293a4e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Fri, 4 Mar 2016 22:22:42 +0100
Subject: [PATCH] ddraw: Set ddsOldCaps correctly in ddraw7_GetCaps.
@@ -12,10 +12,10 @@ Subject: [PATCH] ddraw: Set ddsOldCaps correctly in ddraw7_GetCaps.
5 files changed, 106 insertions(+)
diff --git a/dlls/ddraw/ddraw.c b/dlls/ddraw/ddraw.c
index 8247214..d70f2e2 100644
index fad185e..ebf91b3 100644
--- a/dlls/ddraw/ddraw.c
+++ b/dlls/ddraw/ddraw.c
@@ -1544,6 +1544,8 @@ static HRESULT WINAPI ddraw7_GetCaps(IDirectDraw7 *iface, DDCAPS *DriverCaps, DD
@@ -1543,6 +1543,8 @@ static HRESULT WINAPI ddraw7_GetCaps(IDirectDraw7 *iface, DDCAPS *DriverCaps, DD
caps.dwCaps |= DDCAPS_ALIGNSTRIDE;
caps.dwAlignStrideAlign = DDRAW_STRIDE_ALIGNMENT;
@@ -25,10 +25,10 @@ index 8247214..d70f2e2 100644
if(DriverCaps)
diff --git a/dlls/ddraw/tests/ddraw1.c b/dlls/ddraw/tests/ddraw1.c
index 1f93a97..9a862e1 100644
index 59d07b7..5d81abb 100644
--- a/dlls/ddraw/tests/ddraw1.c
+++ b/dlls/ddraw/tests/ddraw1.c
@@ -11543,6 +11543,31 @@ static void test_execute_data(void)
@@ -11581,6 +11581,31 @@ static void test_execute_data(void)
DestroyWindow(window);
}
@@ -60,7 +60,7 @@ index 1f93a97..9a862e1 100644
static void test_viewport(void)
{
static struct
@@ -12030,6 +12055,7 @@ START_TEST(ddraw1)
@@ -12068,6 +12093,7 @@ START_TEST(ddraw1)
test_depth_readback();
test_clear();
test_enum_surfaces();
@@ -69,10 +69,10 @@ index 1f93a97..9a862e1 100644
test_viewport();
test_find_device();
diff --git a/dlls/ddraw/tests/ddraw2.c b/dlls/ddraw/tests/ddraw2.c
index 95cdf8b..d317cc1 100644
index 8b9b249..b9b964d 100644
--- a/dlls/ddraw/tests/ddraw2.c
+++ b/dlls/ddraw/tests/ddraw2.c
@@ -12805,6 +12805,31 @@ static void test_enum_surfaces(void)
@@ -12862,6 +12862,31 @@ static void test_enum_surfaces(void)
IDirectDraw2_Release(ddraw);
}
@@ -104,7 +104,7 @@ index 95cdf8b..d317cc1 100644
static void test_viewport(void)
{
static struct
@@ -13321,6 +13346,7 @@ START_TEST(ddraw2)
@@ -13378,6 +13403,7 @@ START_TEST(ddraw2)
test_depth_readback();
test_clear();
test_enum_surfaces();
@@ -113,11 +113,11 @@ index 95cdf8b..d317cc1 100644
test_find_device();
test_killfocus();
diff --git a/dlls/ddraw/tests/ddraw4.c b/dlls/ddraw/tests/ddraw4.c
index a62aaf0..e11ec0c 100644
index 1c48418..306f233 100644
--- a/dlls/ddraw/tests/ddraw4.c
+++ b/dlls/ddraw/tests/ddraw4.c
@@ -15318,6 +15318,31 @@ static void test_killfocus(void)
UnregisterClassA("ddraw_killfocus_wndproc_wc", GetModuleHandleA(NULL));
@@ -15472,6 +15472,31 @@ static void test_sysmem_draw(void)
DestroyWindow(window);
}
+static void test_caps(void)
@@ -148,7 +148,7 @@ index a62aaf0..e11ec0c 100644
START_TEST(ddraw4)
{
DDDEVICEIDENTIFIER identifier;
@@ -15443,6 +15468,7 @@ START_TEST(ddraw4)
@@ -15597,6 +15622,7 @@ START_TEST(ddraw4)
test_depth_readback();
test_clear();
test_enum_surfaces();
@@ -157,11 +157,11 @@ index a62aaf0..e11ec0c 100644
test_find_device();
test_killfocus();
diff --git a/dlls/ddraw/tests/ddraw7.c b/dlls/ddraw/tests/ddraw7.c
index 04048d4..ad4f63d 100644
index a125200..da777d8 100644
--- a/dlls/ddraw/tests/ddraw7.c
+++ b/dlls/ddraw/tests/ddraw7.c
@@ -15106,6 +15106,31 @@ static void test_killfocus(void)
UnregisterClassA("ddraw_killfocus_wndproc_wc", GetModuleHandleA(NULL));
@@ -15198,6 +15198,31 @@ static void test_sysmem_draw(void)
DestroyWindow(window);
}
+static void test_caps(void)
@@ -192,14 +192,14 @@ index 04048d4..ad4f63d 100644
START_TEST(ddraw7)
{
DDDEVICEIDENTIFIER2 identifier;
@@ -15243,6 +15268,7 @@ START_TEST(ddraw7)
@@ -15335,6 +15360,7 @@ START_TEST(ddraw7)
test_enum_surfaces();
test_viewport();
test_device_load();
+ test_caps();
test_color_vertex();
test_killfocus();
}
test_sysmem_draw();
--
1.9.1

View File

@@ -0,0 +1,43 @@
From: Louis Lenders <xerox.xerox2000x@gmail.com>
Subject: [PATCH 1/2] dwmapi: return DWM_E_COMPOSITIONDISABLED instead of E_NOTIMPL in DwmGetTransportAttributes
Message-Id: <20181205121826.2124-1-xerox.xerox2000x@gmail.com>
Date: Wed, 5 Dec 2018 13:18:25 +0100
This versioh is with tests;
Signed-off-by: Louis Lenders <xerox.xerox2000x@gmail.com>
---
dlls/dwmapi/dwmapi_main.c | 2 +-
include/winerror.h | 2 ++
2 files changed, 3 insertions(+), 1 deletion(-)
diff --git a/dlls/dwmapi/dwmapi_main.c b/dlls/dwmapi/dwmapi_main.c
index c1ee067122..eb06d15507 100644
--- a/dlls/dwmapi/dwmapi_main.c
+++ b/dlls/dwmapi/dwmapi_main.c
@@ -146,7 +146,7 @@ HRESULT WINAPI DwmGetTransportAttributes(BOOL *pfIsRemoting, BOOL *pfIsConnected
{
FIXME("(%p, %p, %p) stub\n", pfIsRemoting, pfIsConnected, pDwGeneration);
- return E_NOTIMPL;
+ return DWM_E_COMPOSITIONDISABLED;
}
/**********************************************************************
diff --git a/include/winerror.h b/include/winerror.h
index d78c91e84e..a97b405c34 100644
--- a/include/winerror.h
+++ b/include/winerror.h
@@ -3090,6 +3090,8 @@ static inline HRESULT HRESULT_FROM_WIN32(unsigned int x)
#define WININET_E_LOGIN_FAILURE_DISPLAY_ENTITY_BODY _HRESULT_TYPEDEF_(0x80072f8e)
#define WININET_E_DECODING_FAILED _HRESULT_TYPEDEF_(0x80072f8f)
+#define DWM_E_COMPOSITIONDISABLED _HRESULT_TYPEDEF_(0x80263001)
+
#define D3D11_ERROR_TOO_MANY_UNIQUE_STATE_OBJECTS _HRESULT_TYPEDEF_(0x887c0001)
#define D3D11_ERROR_FILE_NOT_FOUND _HRESULT_TYPEDEF_(0x887c0002)
#define D3D11_ERROR_TOO_MANY_UNIQUE_VIEW_OBJECTS _HRESULT_TYPEDEF_(0x887c0003)
--
2.17.1

View File

@@ -0,0 +1,185 @@
From: Louis Lenders <xerox.xerox2000x@gmail.com>
Subject: [PATCH 2/2] dwampi: add initial tests
Message-Id: <20181205121826.2124-2-xerox.xerox2000x@gmail.com>
Date: Wed, 5 Dec 2018 13:18:26 +0100
In-Reply-To: <20181205121826.2124-1-xerox.xerox2000x@gmail.com>
References: <20181205121826.2124-1-xerox.xerox2000x@gmail.com>
Signed-off-by: Louis Lenders <xerox.xerox2000x@gmail.com>
---
configure | 1 +
configure.ac | 1 +
dlls/dwmapi/tests/Makefile.in | 5 ++
dlls/dwmapi/tests/dwmapi.c | 108 ++++++++++++++++++++++++++++++++++
include/dwmapi.h | 3 +
5 files changed, 118 insertions(+)
create mode 100644 dlls/dwmapi/tests/Makefile.in
create mode 100644 dlls/dwmapi/tests/dwmapi.c
diff --git a/configure b/configure
index d00057ba2f..e1dde1813b 100755
--- a/configure
+++ b/configure
@@ -19392,6 +19392,7 @@ wine_fn_config_makefile dlls/dssenh/tests enable_tests
wine_fn_config_makefile dlls/dswave enable_dswave
wine_fn_config_makefile dlls/dswave/tests enable_tests
wine_fn_config_makefile dlls/dwmapi enable_dwmapi
+wine_fn_config_makefile dlls/dwmapi/tests enable_tests
wine_fn_config_makefile dlls/dwrite enable_dwrite
wine_fn_config_makefile dlls/dwrite/tests enable_tests
wine_fn_config_makefile dlls/dx8vb enable_dx8vb
diff --git a/configure.ac b/configure.ac
index 50cf9a0bd0..607a46f5a9 100644
--- a/configure.ac
+++ b/configure.ac
@@ -3255,6 +3255,7 @@ WINE_CONFIG_MAKEFILE(dlls/dssenh/tests)
WINE_CONFIG_MAKEFILE(dlls/dswave)
WINE_CONFIG_MAKEFILE(dlls/dswave/tests)
WINE_CONFIG_MAKEFILE(dlls/dwmapi)
+WINE_CONFIG_MAKEFILE(dlls/dwmapi/tests)
WINE_CONFIG_MAKEFILE(dlls/dwrite)
WINE_CONFIG_MAKEFILE(dlls/dwrite/tests)
WINE_CONFIG_MAKEFILE(dlls/dx8vb)
diff --git a/dlls/dwmapi/tests/Makefile.in b/dlls/dwmapi/tests/Makefile.in
new file mode 100644
index 0000000000..f365f96c72
--- /dev/null
+++ b/dlls/dwmapi/tests/Makefile.in
@@ -0,0 +1,5 @@
+TESTDLL = dwmapi.dll
+IMPORTS = dwmapi
+
+C_SRCS = \
+ dwmapi.c
diff --git a/dlls/dwmapi/tests/dwmapi.c b/dlls/dwmapi/tests/dwmapi.c
new file mode 100644
index 0000000000..fe5ee33996
--- /dev/null
+++ b/dlls/dwmapi/tests/dwmapi.c
@@ -0,0 +1,108 @@
+/*
+ * Unit tests for dwmapi
+ *
+ * Copyright 2018 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
+ *
+ */
+
+#include "dwmapi.h"
+
+#include "wine/test.h"
+
+static HRESULT (WINAPI *pDwmIsCompositionEnabled)(BOOL*);
+static HRESULT (WINAPI *pDwmEnableComposition)(UINT);
+static HRESULT (WINAPI *pDwmGetTransportAttributes)(BOOL*,BOOL*,DWORD*);
+
+BOOL dwmenabled;
+
+static void test_isdwmenabled(void)
+{
+ HRESULT res;
+ BOOL ret;
+
+ ret = -1;
+ res = pDwmIsCompositionEnabled(&ret);
+ ok((res == S_OK && ret == TRUE) || (res == S_OK && ret == FALSE), "got %x and %d\n", res, ret);
+
+ if (res == S_OK && ret == TRUE)
+ dwmenabled = TRUE;
+ else
+ dwmenabled = FALSE;
+ /*tested on win7 by enabling/disabling DWM service via services.msc*/
+ if (dwmenabled)
+ {
+ res = pDwmEnableComposition(DWM_EC_DISABLECOMPOSITION); /* try disable and reenable dwm*/
+ ok(res == S_OK, "got %x expected S_OK\n", res);
+
+ ret = -1;
+ res = pDwmIsCompositionEnabled(&ret);
+ ok((res == S_OK && ret == FALSE) /*wvista win7*/ || (res == S_OK && ret == TRUE) /*>win7*/, "got %x and %d\n", res, ret);
+
+ res = pDwmEnableComposition(DWM_EC_ENABLECOMPOSITION);
+ ok(res == S_OK, "got %x\n", res);
+
+ ret = -1;
+ res = pDwmIsCompositionEnabled(&ret);
+ todo_wine ok(res == S_OK && ret == TRUE, "got %x and %d\n", res, ret);
+ }
+ else
+ {
+ res = pDwmEnableComposition(DWM_EC_ENABLECOMPOSITION); /*cannot enable DWM composition this way*/
+ ok(res == S_OK /*win7 testbot*/ || res == DWM_E_COMPOSITIONDISABLED /*win7 laptop*/, "got %x\n", res);
+ if (winetest_debug > 1)
+ trace("returning %x\n", res);
+
+ ret = -1;
+ res = pDwmIsCompositionEnabled(&ret);
+ ok(res == S_OK && ret == FALSE, "got %x and %d\n", res, ret);
+ }
+}
+
+static void test_dwm_get_transport_attributes(void)
+{
+ BOOL isremoting, isconnected;
+ DWORD generation;
+ HRESULT res;
+
+ res = pDwmGetTransportAttributes(&isremoting, &isconnected, &generation);
+ if (dwmenabled)
+ ok(res == S_OK, "got %x\n", res);
+ else
+ {
+ ok(res == S_OK /*win7 testbot*/ || res == DWM_E_COMPOSITIONDISABLED /*win7 laptop*/, "got %x\n", res);
+ if (winetest_debug > 1)
+ trace("returning %x\n", res);
+ }
+}
+
+START_TEST(dwmapi)
+{
+ HMODULE hmod = LoadLibraryA("dwmapi.dll");
+
+ if (!hmod)
+ {
+ trace("dwmapi not found, skipping tests\n");
+ return;
+ }
+
+ pDwmIsCompositionEnabled = (void *)GetProcAddress(hmod, "DwmIsCompositionEnabled");
+ pDwmEnableComposition = (void *)GetProcAddress(hmod, "DwmEnableComposition");
+ pDwmGetTransportAttributes = (void *)GetProcAddress(hmod, "DwmGetTransportAttributes");
+
+ test_isdwmenabled();
+ test_dwm_get_transport_attributes();
+}
diff --git a/include/dwmapi.h b/include/dwmapi.h
index b2f39deae5..12527aee62 100644
--- a/include/dwmapi.h
+++ b/include/dwmapi.h
@@ -101,6 +101,9 @@ typedef struct _MilMatrix3x2D
DOUBLE DY;
} MilMatrix3x2D;
+#define DWM_EC_DISABLECOMPOSITION 0
+#define DWM_EC_ENABLECOMPOSITION 1
+
#define DWM_BB_ENABLE 0x00000001
#define DWM_BB_BLURREGION 0x00000002
#define DWM_BB_TRANSITIONONMAXIMIZED 0x00000004
--
2.17.1

View File

@@ -0,0 +1 @@
Fixes: [31350] T-Online Mediencenter Assistent (.NET 3.5 WPF app) installer fails ('dwmapi.dll' stubs insufficient in Vista/Win7 mode)

View File

@@ -1,8 +1,8 @@
From ed8b8ed961c31b68abc5fb266d872f7228e02b93 Mon Sep 17 00:00:00 2001
From 93ec896e73fe1b9ad7100e4ea22086e940eb8ef4 Mon Sep 17 00:00:00 2001
From: Sebastian Lackner <sebastian@fds-team.de>
Date: Sat, 15 Aug 2015 07:41:17 +0200
Subject: gdi32: Perform lazy initialization of fonts to improve startup
performance.
Subject: [PATCH] gdi32: Perform lazy initialization of fonts to improve
startup performance.
---
dlls/gdi32/dc.c | 8 +++-----
@@ -10,10 +10,10 @@ Subject: gdi32: Perform lazy initialization of fonts to improve startup
2 files changed, 37 insertions(+), 20 deletions(-)
diff --git a/dlls/gdi32/dc.c b/dlls/gdi32/dc.c
index 5146f5b..91ad953 100644
index 8ee8a52..208c220 100644
--- a/dlls/gdi32/dc.c
+++ b/dlls/gdi32/dc.c
@@ -147,11 +147,9 @@ DC *alloc_dc_ptr( WORD magic )
@@ -148,11 +148,9 @@ DC *alloc_dc_ptr( WORD magic )
}
dc->nulldrv.hdc = dc->hSelf;
@@ -29,7 +29,7 @@ index 5146f5b..91ad953 100644
}
diff --git a/dlls/gdi32/freetype.c b/dlls/gdi32/freetype.c
index de40d9f..d4eb837 100644
index 9f6bdfe..492d29e 100644
--- a/dlls/gdi32/freetype.c
+++ b/dlls/gdi32/freetype.c
@@ -110,6 +110,9 @@
@@ -42,7 +42,7 @@ index de40d9f..d4eb837 100644
#ifdef HAVE_FREETYPE
#ifndef HAVE_FT_TRUETYPEENGINETYPE
@@ -3176,6 +3179,7 @@ INT WineEngAddFontResourceEx(LPCWSTR file, DWORD flags, PVOID pdv)
@@ -3264,6 +3267,7 @@ INT WineEngAddFontResourceEx(LPCWSTR file, DWORD flags, PVOID pdv)
{
INT ret = 0;
@@ -50,7 +50,7 @@ index de40d9f..d4eb837 100644
GDI_CheckNotLock();
if (ft_handle) /* do it only if we have freetype up and running */
@@ -3218,6 +3222,7 @@ INT WineEngAddFontResourceEx(LPCWSTR file, DWORD flags, PVOID pdv)
@@ -3306,6 +3310,7 @@ INT WineEngAddFontResourceEx(LPCWSTR file, DWORD flags, PVOID pdv)
*/
HANDLE WineEngAddFontMemResourceEx(PVOID pbFont, DWORD cbFont, PVOID pdv, DWORD *pcFonts)
{
@@ -58,7 +58,7 @@ index de40d9f..d4eb837 100644
GDI_CheckNotLock();
if (ft_handle) /* do it only if we have freetype up and running */
@@ -3256,6 +3261,7 @@ BOOL WineEngRemoveFontResourceEx(LPCWSTR file, DWORD flags, PVOID pdv)
@@ -3344,6 +3349,7 @@ BOOL WineEngRemoveFontResourceEx(LPCWSTR file, DWORD flags, PVOID pdv)
{
INT ret = 0;
@@ -66,7 +66,7 @@ index de40d9f..d4eb837 100644
GDI_CheckNotLock();
if (ft_handle) /* do it only if we have freetype up and running */
@@ -3577,10 +3583,13 @@ static BOOL create_fot( const WCHAR *resource, const WCHAR *font_file, const str
@@ -3665,10 +3671,13 @@ static BOOL create_fot( const WCHAR *resource, const WCHAR *font_file, const str
BOOL WineEngCreateScalableFontResource( DWORD hidden, LPCWSTR resource,
LPCWSTR font_file, LPCWSTR font_path )
{
@@ -81,7 +81,7 @@ index de40d9f..d4eb837 100644
if (!unix_name || !get_fontdir( unix_name, &fontdir ))
SetLastError( ERROR_INVALID_PARAMETER );
else
@@ -4012,8 +4021,6 @@ static BOOL init_freetype(void)
@@ -4174,8 +4183,6 @@ static BOOL init_freetype(void)
FT_SimpleVersion = ((FT_Version.major << 16) & 0xff0000) |
((FT_Version.minor << 8) & 0x00ff00) |
((FT_Version.patch ) & 0x0000ff);
@@ -90,8 +90,8 @@ index de40d9f..d4eb837 100644
return TRUE;
sym_not_found:
@@ -4200,21 +4207,13 @@ static void reorder_font_list(void)
set_default( default_sans_list );
@@ -4361,21 +4368,13 @@ static void reorder_font_list(void)
default_sans = set_default( default_sans_list );
}
-/*************************************************************
@@ -114,7 +114,7 @@ index de40d9f..d4eb837 100644
#ifdef SONAME_LIBFONTCONFIG
init_fontconfig();
@@ -4240,7 +4239,7 @@ BOOL WineEngInit(void)
@@ -4401,7 +4400,7 @@ BOOL WineEngInit(void)
if((font_mutex = CreateMutexW(NULL, FALSE, font_mutex_nameW)) == NULL)
{
ERR("Failed to create font mutex\n");
@@ -123,7 +123,7 @@ index de40d9f..d4eb837 100644
}
WaitForSingleObject(font_mutex, INFINITE);
@@ -4267,6 +4266,21 @@ BOOL WineEngInit(void)
@@ -4428,6 +4427,21 @@ BOOL WineEngInit(void)
return TRUE;
}
@@ -145,7 +145,7 @@ index de40d9f..d4eb837 100644
/* Some fonts have large usWinDescent values, as a result of storing signed short
in unsigned field. That's probably caused by sTypoDescent vs usWinDescent confusion in
some font generation tools. */
@@ -4948,8 +4962,12 @@ static BOOL select_charmap(FT_Face ft_face, FT_Encoding encoding)
@@ -5124,8 +5138,12 @@ static BOOL select_charmap(FT_Face ft_face, FT_Encoding encoding)
static BOOL freetype_CreateDC( PHYSDEV *dev, LPCWSTR driver, LPCWSTR device,
LPCWSTR output, const DEVMODEW *devmode )
{
@@ -159,7 +159,7 @@ index de40d9f..d4eb837 100644
if (!physdev) return FALSE;
push_dc_driver( dev, &physdev->dev, &freetype_funcs );
return TRUE;
@@ -8218,6 +8236,7 @@ static BOOL freetype_FontIsLinked( PHYSDEV dev )
@@ -8627,6 +8645,7 @@ static BOOL freetype_FontIsLinked( PHYSDEV dev )
*/
BOOL WINAPI GetRasterizerCaps( LPRASTERIZER_STATUS lprs, UINT cbNumBytes)
{
@@ -168,5 +168,5 @@ index de40d9f..d4eb837 100644
lprs->wFlags = TT_AVAILABLE | TT_ENABLED;
lprs->nLanguageID = 0;
--
2.5.1
1.9.1

View File

@@ -0,0 +1,34 @@
From 117673ffe8bd5a8aae060307bcf6af83b4da011e Mon Sep 17 00:00:00 2001
From: Gijs Vermeulen <gijsvrm@gmail.com>
Date: Mon, 17 Dec 2018 11:49:26 +1100
Subject: [PATCH] imm32: Only generate 'WM_IME_SETCONTEXT' message if window
has focus
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=31157
---
dlls/imm32/imm.c | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)
diff --git a/dlls/imm32/imm.c b/dlls/imm32/imm.c
index 28eb00f..4255e98 100644
--- a/dlls/imm32/imm.c
+++ b/dlls/imm32/imm.c
@@ -608,9 +608,12 @@ HIMC WINAPI ImmAssociateContext(HWND hWnd, HIMC hIMC)
if (!hIMC)
return old;
- SendMessageW(data->IMC.hWnd, WM_IME_SETCONTEXT, FALSE, ISC_SHOWUIALL);
- data->IMC.hWnd = hWnd;
- SendMessageW(data->IMC.hWnd, WM_IME_SETCONTEXT, TRUE, ISC_SHOWUIALL);
+ if(GetActiveWindow() == data->IMC.hWnd)
+ {
+ SendMessageW(data->IMC.hWnd, WM_IME_SETCONTEXT, FALSE, ISC_SHOWUIALL);
+ data->IMC.hWnd = hWnd;
+ SendMessageW(data->IMC.hWnd, WM_IME_SETCONTEXT, TRUE, ISC_SHOWUIALL);
+ }
return old;
}
--
1.9.1

View File

@@ -0,0 +1,5 @@
# I suspect that bug #28861,#46263 are related to this issue as well.
# Both of these hint that the szwWineIMCProperty doesn't the correct value
# and thus goes down invalid path leading to a crash.
#
Fixes: [31157] imm32: Only generate 'WM_IME_SETCONTEXT' message if window has focus.

View File

@@ -1,25 +0,0 @@
From 8acd785888b9324994f0477d6d2f2bdcd3b91219 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Sat, 27 Feb 2016 03:20:34 +0100
Subject: krnl386.exe16: Do not reassign default handles after they got closed.
---
dlls/krnl386.exe16/file.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/dlls/krnl386.exe16/file.c b/dlls/krnl386.exe16/file.c
index b66b753..9b720ef 100644
--- a/dlls/krnl386.exe16/file.c
+++ b/dlls/krnl386.exe16/file.c
@@ -363,7 +363,7 @@ HFILE16 WINAPI _lclose16( HFILE16 hFile )
}
TRACE("%d (handle32=%p)\n", hFile, dos_handles[hFile] );
CloseHandle( dos_handles[hFile] );
- dos_handles[hFile] = 0;
+ dos_handles[hFile] = (hFile < 5) ? INVALID_HANDLE_VALUE : 0;
return 0;
}
--
2.7.1

View File

@@ -1 +0,0 @@
Fixes: [19184] Do not reassign default handles after they got closed

View File

@@ -0,0 +1,240 @@
From a6148704ad3c09339872975b1f129c37c3d35aa3 Mon Sep 17 00:00:00 2001
From: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Date: Thu, 20 Dec 2018 13:54:47 +1100
Subject: [PATCH] mf: Implement MFCreateSequencerSource
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=46105
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
---
dlls/mf/main.c | 140 ++++++++++++++++++++++++++++++++++++++++++++++
dlls/mf/mf.spec | 2 +-
dlls/mf/tests/Makefile.in | 2 +-
dlls/mf/tests/mf.c | 18 ++++++
include/mfidl.idl | 1 +
5 files changed, 161 insertions(+), 2 deletions(-)
diff --git a/dlls/mf/main.c b/dlls/mf/main.c
index 73cd6aa..1ef13b5 100644
--- a/dlls/mf/main.c
+++ b/dlls/mf/main.c
@@ -74,3 +74,143 @@ HRESULT WINAPI MFGetService(IUnknown *object, REFGUID service, REFIID riid, void
IMFGetService_Release(gs);
return hr;
}
+
+typedef struct seqsource
+{
+ IMFSequencerSource IMFSequencerSource_iface;
+ LONG ref;
+} seqsource;
+
+static inline seqsource *impl_from_IMFSequencerSource(IMFSequencerSource *iface)
+{
+ return CONTAINING_RECORD(iface, seqsource, IMFSequencerSource_iface);
+}
+
+static HRESULT WINAPI seqsource_QueryInterface(IMFSequencerSource *iface, REFIID riid, void **out)
+{
+ seqsource *This = impl_from_IMFSequencerSource(iface);
+
+ TRACE("(%p)->(%s %p)\n", This, debugstr_guid(riid), out);
+
+ if ( IsEqualIID(riid, &IID_IMFSequencerSource) ||
+ IsEqualIID(riid, &IID_IUnknown))
+ {
+ *out = &This->IMFSequencerSource_iface;
+ }
+ else
+ {
+ FIXME("(%s, %p)\n", debugstr_guid(riid), out);
+ *out = NULL;
+ return E_NOINTERFACE;
+ }
+
+ IUnknown_AddRef((IUnknown*)*out);
+ return S_OK;
+}
+
+static ULONG WINAPI seqsource_AddRef(IMFSequencerSource *iface)
+{
+ seqsource *This = impl_from_IMFSequencerSource(iface);
+ ULONG ref = InterlockedIncrement(&This->ref);
+
+ TRACE("(%p) ref=%u\n", This, ref);
+
+ return ref;
+}
+
+static ULONG WINAPI seqsource_Release(IMFSequencerSource *iface)
+{
+ seqsource *This = impl_from_IMFSequencerSource(iface);
+ ULONG ref = InterlockedDecrement(&This->ref);
+
+ TRACE("(%p) ref=%u\n", This, ref);
+
+ if (!ref)
+ {
+ HeapFree(GetProcessHeap(), 0, This);
+ }
+
+ return ref;
+}
+
+static HRESULT WINAPI seqsource_AppendTopology(IMFSequencerSource *iface, IMFTopology *topology, DWORD flags, MFSequencerElementId *element)
+{
+ seqsource *This = impl_from_IMFSequencerSource(iface);
+
+ FIXME("%p, %p, %x, %p\n", This, topology, flags, element);
+
+ return E_NOTIMPL;
+}
+
+static HRESULT WINAPI seqsource_DeleteTopology(IMFSequencerSource *iface, MFSequencerElementId element)
+{
+ seqsource *This = impl_from_IMFSequencerSource(iface);
+
+ FIXME("%p, %d\n", This, element);
+
+ return E_NOTIMPL;
+}
+
+static HRESULT WINAPI seqsource_GetPresentationContext(IMFSequencerSource *iface, IMFPresentationDescriptor *pd, MFSequencerElementId *id,
+ IMFTopology **topology)
+{
+ seqsource *This = impl_from_IMFSequencerSource(iface);
+
+ FIXME("%p, %p, %p, %p\n", This, pd, id, topology);
+
+ return E_NOTIMPL;
+}
+
+static HRESULT WINAPI seqsource_UpdateTopology(IMFSequencerSource *iface, MFSequencerElementId id, IMFTopology *topology)
+{
+ seqsource *This = impl_from_IMFSequencerSource(iface);
+
+ FIXME("%p, %d, %p\n", This, id, topology);
+
+ return E_NOTIMPL;
+}
+
+static HRESULT WINAPI seqsource_UpdateTopologyFlags(IMFSequencerSource *iface, MFSequencerElementId id, DWORD flags)
+{
+ seqsource *This = impl_from_IMFSequencerSource(iface);
+
+ FIXME("%p, %d, %x\n", This, id, flags);
+
+ return E_NOTIMPL;
+}
+
+static const IMFSequencerSourceVtbl seqsrc_vtbl =
+{
+ seqsource_QueryInterface,
+ seqsource_AddRef,
+ seqsource_Release,
+ seqsource_AppendTopology,
+ seqsource_DeleteTopology,
+ seqsource_GetPresentationContext,
+ seqsource_UpdateTopology,
+ seqsource_UpdateTopologyFlags
+};
+
+/***********************************************************************
+ * MFCreateSequencerSource (mf.@)
+ */
+HRESULT WINAPI MFCreateSequencerSource(IUnknown *reserved, IMFSequencerSource **sequencer)
+{
+ seqsource *object;
+
+ TRACE("(%p, %p)\n", reserved, sequencer);
+
+ if (!sequencer)
+ return E_POINTER;
+
+ object = HeapAlloc(GetProcessHeap(), 0, sizeof(*object));
+ if (!object)
+ return E_OUTOFMEMORY;
+
+ object->IMFSequencerSource_iface.lpVtbl = &seqsrc_vtbl;
+ object->ref = 1;
+
+ *sequencer = &object->IMFSequencerSource_iface;
+
+ return S_OK;
+}
diff --git a/dlls/mf/mf.spec b/dlls/mf/mf.spec
index deb9057..b46c905 100644
--- a/dlls/mf/mf.spec
+++ b/dlls/mf/mf.spec
@@ -54,7 +54,7 @@
@ stub MFCreateSampleGrabberSinkActivate
@ stub MFCreateSecureHttpSchemePlugin
@ stub MFCreateSequencerSegmentOffset
-@ stub MFCreateSequencerSource
+@ stdcall MFCreateSequencerSource(ptr ptr)
@ stub MFCreateSequencerSourceRemoteStream
@ stub MFCreateSimpleTypeHandler
@ stdcall MFCreateSourceResolver(ptr) mfplat.MFCreateSourceResolver
diff --git a/dlls/mf/tests/Makefile.in b/dlls/mf/tests/Makefile.in
index f989baa..f233cff 100644
--- a/dlls/mf/tests/Makefile.in
+++ b/dlls/mf/tests/Makefile.in
@@ -1,5 +1,5 @@
TESTDLL = mf.dll
-IMPORTS = mf
+IMPORTS = mf mfplat
C_SRCS = \
mf.c
diff --git a/dlls/mf/tests/mf.c b/dlls/mf/tests/mf.c
index 76e092a..ca10233 100644
--- a/dlls/mf/tests/mf.c
+++ b/dlls/mf/tests/mf.c
@@ -28,6 +28,7 @@
#include "initguid.h"
#include "mfidl.h"
+#include "mfapi.h"
#include "wine/test.h"
@@ -170,8 +171,25 @@ static void test_MFGetService(void)
ok(unk == (void *)0xdeadbeef, "Unexpected out object.\n");
}
+static void test_MFCreateSequencerSource(void)
+{
+ HRESULT hr;
+ IMFSequencerSource *seq;
+
+ hr = MFStartup(MF_VERSION, MFSTARTUP_FULL);
+ ok(hr == S_OK, "got 0x%08x\n", hr);
+
+ hr = MFCreateSequencerSource(NULL, &seq);
+ ok(hr == S_OK, "got %#x\n", hr);
+
+ IMFSequencerSource_Release(seq);
+
+ MFShutdown();
+}
+
START_TEST(mf)
{
test_topology();
test_MFGetService();
+ test_MFCreateSequencerSource();
}
diff --git a/include/mfidl.idl b/include/mfidl.idl
index 2373e41..39dc394 100644
--- a/include/mfidl.idl
+++ b/include/mfidl.idl
@@ -307,6 +307,7 @@ interface IMFSequencerSource : IUnknown
cpp_quote("HRESULT WINAPI MFCreateMediaSession(IMFAttributes *config, IMFMediaSession **session);")
cpp_quote("HRESULT WINAPI MFCreateMFByteStreamOnStream(IStream *stream, IMFByteStream **bytestream);" )
+cpp_quote("HRESULT WINAPI MFCreateSequencerSource(IUnknown *reserved, IMFSequencerSource **sequencer);" )
cpp_quote("HRESULT WINAPI MFCreateSourceResolver(IMFSourceResolver **resolver);")
cpp_quote("HRESULT WINAPI MFCreateStreamDescriptor(DWORD identifier, DWORD cMediaTypes,")
cpp_quote(" IMFMediaType **types, IMFStreamDescriptor **descriptor);")
--
1.9.1

View File

@@ -0,0 +1 @@
Fixes: [46105] mf: Implement MFCreateSequencerSource

View File

@@ -0,0 +1,69 @@
From 544deb6c0d9ae04d3b82d241f7ffe6a21fa3835f Mon Sep 17 00:00:00 2001
From: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Date: Mon, 17 Dec 2018 11:21:48 +1100
Subject: [PATCH] mfplat: Implement MFGetSystemTime
Wine-bug: https://bugs.winehq.org/show_bug.cgi?id=46300
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
---
dlls/mfplat/main.c | 17 +++++++++++++++++
dlls/mfplat/mfplat.spec | 2 +-
include/mfidl.idl | 1 +
3 files changed, 19 insertions(+), 1 deletion(-)
diff --git a/dlls/mfplat/main.c b/dlls/mfplat/main.c
index c7c3465..1e8e2ea 100644
--- a/dlls/mfplat/main.c
+++ b/dlls/mfplat/main.c
@@ -248,6 +248,23 @@ HRESULT WINAPI MFTUnregisterLocal(IClassFactory *factory)
return S_OK;
}
+MFTIME WINAPI MFGetSystemTime()
+{
+ SYSTEMTIME st;
+ FILETIME ft;
+ MFTIME mf;
+
+ TRACE("()\n");
+
+ GetSystemTime(&st);
+
+ SystemTimeToFileTime(&st, &ft);
+
+ memcpy(&mf, &ft, sizeof(FILETIME));
+
+ return mf;
+}
+
static BOOL match_type(const WCHAR *clsid_str, const WCHAR *type_str, MFT_REGISTER_TYPE_INFO *type)
{
HKEY htransform, hfilter;
diff --git a/dlls/mfplat/mfplat.spec b/dlls/mfplat/mfplat.spec
index c828aea..349b926 100644
--- a/dlls/mfplat/mfplat.spec
+++ b/dlls/mfplat/mfplat.spec
@@ -98,7 +98,7 @@
@ stub MFGetPrivateWorkqueues
@ stub MFGetSockaddrFromNumericName
@ stub MFGetStrideForBitmapInfoHeader
-@ stub MFGetSystemTime
+@ stdcall MFGetSystemTime()
@ stub MFGetTimerPeriodicity
@ stub MFGetUncompressedVideoFormat
@ stub MFGetWorkQueueMMCSSClass
diff --git a/include/mfidl.idl b/include/mfidl.idl
index 2373e41..2fdb288 100644
--- a/include/mfidl.idl
+++ b/include/mfidl.idl
@@ -313,6 +313,7 @@ cpp_quote(" IMFMediaType **types, IMFStreamDescriptor **descriptor);")
cpp_quote("HRESULT WINAPI MFCreateTopology(IMFTopology **topology);")
cpp_quote("HRESULT WINAPI MFGetSupportedMimeTypes(PROPVARIANT *array);")
cpp_quote("HRESULT WINAPI MFGetService(IUnknown *object, REFGUID service, REFIID iid, void **obj);")
+cpp_quote("MFTIME WINAPI MFGetSystemTime(void);")
[
object,
--
1.9.1

View File

@@ -0,0 +1 @@
Fixes: [46300] mfplat: Implement MFGetSystemTime

View File

@@ -1,14 +1,14 @@
From 842a1b3187b333e1af023dd7c1bb685dfa6b9967 Mon Sep 17 00:00:00 2001
From 8fe83e82d903a0b80a442d83e9a03b527fd3e53d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Sat, 13 Dec 2014 05:34:48 +0100
Subject: [PATCH] ntdll: Implement loader redirection scheme.
---
dlls/ntdll/loader.c | 74 ++++++++++++++++++++++++++++++++++++-----------------
dlls/ntdll/loader.c | 74 +++++++++++++++++++++++++++++++--------------
1 file changed, 51 insertions(+), 23 deletions(-)
diff --git a/dlls/ntdll/loader.c b/dlls/ntdll/loader.c
index d9b1712..868d400 100644
index cd31a444..15e4af8c 100644
--- a/dlls/ntdll/loader.c
+++ b/dlls/ntdll/loader.c
@@ -110,6 +110,7 @@ struct builtin_load_info
@@ -19,7 +19,7 @@ index d9b1712..868d400 100644
NTSTATUS status;
WINE_MODREF *wm;
};
@@ -135,7 +136,8 @@ static WINE_MODREF *cached_modref;
@@ -134,7 +135,8 @@ static WINE_MODREF *cached_modref;
static WINE_MODREF *current_modref;
static WINE_MODREF *last_failed_modref;
@@ -29,7 +29,7 @@ index d9b1712..868d400 100644
static NTSTATUS process_attach( WINE_MODREF *wm, LPVOID lpReserved );
static FARPROC find_ordinal_export( HMODULE module, const IMAGE_EXPORT_DIRECTORY *exports,
DWORD exp_size, DWORD ordinal, LPCWSTR load_path );
@@ -511,7 +513,7 @@ static FARPROC find_forwarded_export( HMODULE module, const char *forward, LPCWS
@@ -510,7 +512,7 @@ static FARPROC find_forwarded_export( HMODULE module, const char *forward, LPCWS
if (!(wm = find_basename_module( mod_name )))
{
TRACE( "delay loading %s for '%s'\n", debugstr_w(mod_name), forward );
@@ -38,7 +38,7 @@ index d9b1712..868d400 100644
!(wm->ldr.Flags & LDR_DONT_RESOLVE_REFS))
{
if (!imports_fixup_done && current_modref)
@@ -682,7 +684,7 @@ static BOOL import_dll( HMODULE module, const IMAGE_IMPORT_DESCRIPTOR *descr, LP
@@ -681,7 +683,7 @@ static BOOL import_dll( HMODULE module, const IMAGE_IMPORT_DESCRIPTOR *descr, LP
{
ascii_to_unicode( buffer, name, len );
buffer[len] = 0;
@@ -47,7 +47,7 @@ index d9b1712..868d400 100644
}
else /* need to allocate a larger buffer */
{
@@ -690,7 +692,7 @@ static BOOL import_dll( HMODULE module, const IMAGE_IMPORT_DESCRIPTOR *descr, LP
@@ -689,7 +691,7 @@ static BOOL import_dll( HMODULE module, const IMAGE_IMPORT_DESCRIPTOR *descr, LP
if (!ptr) return FALSE;
ascii_to_unicode( ptr, name, len );
ptr[len] = 0;
@@ -56,7 +56,7 @@ index d9b1712..868d400 100644
RtlFreeHeap( GetProcessHeap(), 0, ptr );
}
@@ -976,7 +978,7 @@ static NTSTATUS fixup_imports_ilonly( WINE_MODREF *wm, LPCWSTR load_path, void *
@@ -975,7 +977,7 @@ static NTSTATUS fixup_imports_ilonly( WINE_MODREF *wm, LPCWSTR load_path, void *
prev = current_modref;
current_modref = wm;
@@ -65,7 +65,7 @@ index d9b1712..868d400 100644
current_modref = prev;
if (status)
{
@@ -1064,7 +1066,7 @@ static NTSTATUS fixup_imports( WINE_MODREF *wm, LPCWSTR load_path )
@@ -1063,7 +1065,7 @@ static NTSTATUS fixup_imports( WINE_MODREF *wm, LPCWSTR load_path )
* Allocate a WINE_MODREF structure and add it to the process list
* The loader_section must be locked while calling this function.
*/
@@ -74,7 +74,7 @@ index d9b1712..868d400 100644
{
WINE_MODREF *wm;
const WCHAR *p;
@@ -1078,7 +1080,7 @@ static WINE_MODREF *alloc_module( HMODULE hModule, LPCWSTR filename )
@@ -1077,7 +1079,7 @@ static WINE_MODREF *alloc_module( HMODULE hModule, LPCWSTR filename )
wm->ldr.TlsIndex = -1;
wm->ldr.LoadCount = 1;
@@ -83,7 +83,7 @@ index d9b1712..868d400 100644
if ((p = strrchrW( wm->ldr.FullDllName.Buffer, '\\' ))) p++;
else p = wm->ldr.FullDllName.Buffer;
RtlInitUnicodeString( &wm->ldr.BaseDllName, p );
@@ -1745,7 +1747,7 @@ static void load_builtin_callback( void *module, const char *filename )
@@ -1744,7 +1746,7 @@ static void load_builtin_callback( void *module, const char *filename )
return;
}
@@ -92,7 +92,7 @@ index d9b1712..868d400 100644
RtlFreeHeap( GetProcessHeap(), 0, fullname );
if (!wm)
{
@@ -1955,8 +1957,8 @@ static BOOL is_valid_binary( HMODULE module, const pe_image_info_t *info )
@@ -1995,8 +1997,8 @@ static BOOL is_valid_binary( HMODULE module, const pe_image_info_t *info )
/******************************************************************************
* load_native_dll (internal)
*/
@@ -103,7 +103,7 @@ index d9b1712..868d400 100644
{
void *module;
HANDLE mapping;
@@ -1999,7 +2001,7 @@ static NTSTATUS load_native_dll( LPCWSTR load_path, LPCWSTR name, HANDLE file,
@@ -2039,7 +2041,7 @@ static NTSTATUS load_native_dll( LPCWSTR load_path, LPCWSTR name, HANDLE file,
/* create the MODREF */
@@ -112,7 +112,7 @@ index d9b1712..868d400 100644
{
if (module) NtUnmapViewOfSection( NtCurrentProcess(), module );
return STATUS_NO_MEMORY;
@@ -2067,8 +2069,8 @@ static NTSTATUS load_native_dll( LPCWSTR load_path, LPCWSTR name, HANDLE file,
@@ -2107,8 +2109,8 @@ static NTSTATUS load_native_dll( LPCWSTR load_path, LPCWSTR name, HANDLE file,
/***********************************************************************
* load_builtin_dll
*/
@@ -123,7 +123,7 @@ index d9b1712..868d400 100644
{
char error[256], dllname[MAX_PATH];
const WCHAR *name, *p;
@@ -2088,6 +2090,7 @@ static NTSTATUS load_builtin_dll( LPCWSTR load_path, LPCWSTR path, HANDLE file,
@@ -2128,6 +2130,7 @@ static NTSTATUS load_builtin_dll( LPCWSTR load_path, LPCWSTR path, HANDLE file,
*/
info.load_path = load_path;
info.filename = NULL;
@@ -131,7 +131,7 @@ index d9b1712..868d400 100644
info.status = STATUS_SUCCESS;
info.wm = NULL;
@@ -2584,7 +2587,8 @@ overflow:
@@ -2624,7 +2627,8 @@ overflow:
* Load a PE style module according to the load order.
* The loader_section must be locked while calling this function.
*/
@@ -141,7 +141,7 @@ index d9b1712..868d400 100644
{
BOOL data = flags & (LOAD_LIBRARY_AS_DATAFILE | LOAD_LIBRARY_AS_DATAFILE_EXCLUSIVE);
enum loadorder loadorder;
@@ -2623,6 +2627,30 @@ static NTSTATUS load_dll( LPCWSTR load_path, LPCWSTR libname, DWORD flags, WINE_
@@ -2663,6 +2667,30 @@ static NTSTATUS load_dll( LPCWSTR load_path, LPCWSTR libname, DWORD flags, WINE_
}
main_exe = get_modref( NtCurrentTeb()->Peb->ImageBaseAddress );
@@ -172,7 +172,7 @@ index d9b1712..868d400 100644
loadorder = get_load_order( main_exe ? main_exe->ldr.BaseDllName.Buffer : NULL, filename );
if (handle && is_fake_dll( handle ))
@@ -2645,22 +2673,22 @@ static NTSTATUS load_dll( LPCWSTR load_path, LPCWSTR libname, DWORD flags, WINE_
@@ -2685,22 +2713,22 @@ static NTSTATUS load_dll( LPCWSTR load_path, LPCWSTR libname, DWORD flags, WINE_
if (!handle) nts = STATUS_DLL_NOT_FOUND;
else
{
@@ -200,7 +200,7 @@ index d9b1712..868d400 100644
if (nts == STATUS_SUCCESS && loadorder == LO_DEFAULT &&
(MODULE_InitDLL( *pwm, DLL_WINE_PREATTACH, NULL ) != STATUS_SUCCESS))
{
@@ -2670,7 +2698,7 @@ static NTSTATUS load_dll( LPCWSTR load_path, LPCWSTR libname, DWORD flags, WINE_
@@ -2710,7 +2738,7 @@ static NTSTATUS load_dll( LPCWSTR load_path, LPCWSTR libname, DWORD flags, WINE_
nts = STATUS_DLL_NOT_FOUND;
}
if (nts == STATUS_DLL_NOT_FOUND && loadorder != LO_BUILTIN)
@@ -209,7 +209,7 @@ index d9b1712..868d400 100644
break;
}
@@ -2703,7 +2731,7 @@ NTSTATUS WINAPI DECLSPEC_HOTPATCH LdrLoadDll(LPCWSTR path_name, DWORD flags,
@@ -2743,7 +2771,7 @@ NTSTATUS WINAPI DECLSPEC_HOTPATCH LdrLoadDll(LPCWSTR path_name, DWORD flags,
RtlEnterCriticalSection( &loader_section );
if (!path_name) path_name = NtCurrentTeb()->Peb->ProcessParameters->DllPath.Buffer;
@@ -218,21 +218,22 @@ index d9b1712..868d400 100644
if (nts == STATUS_SUCCESS && !(wm->ldr.Flags & LDR_DONT_RESOLVE_REFS))
{
@@ -3666,12 +3694,12 @@ void __wine_process_init(void)
@@ -3719,13 +3747,13 @@ void __wine_process_init(void)
/* setup the load callback and create ntdll modref */
wine_dll_set_callback( load_builtin_callback );
- if ((status = load_builtin_dll( NULL, wow64cpuW, 0, 0, &wow64cpu_wm )) == STATUS_SUCCESS)
+ if ((status = load_builtin_dll( NULL, wow64cpuW, NULL, 0, 0, &wow64cpu_wm )) == STATUS_SUCCESS)
Wow64Transition = wow64cpu_wm->ldr.BaseAddress;
else
WARN( "could not load wow64cpu.dll, status %#x\n", status );
- if ((status = load_builtin_dll( NULL, kernel32W, 0, 0, &wm )) != STATUS_SUCCESS)
+ if ((status = load_builtin_dll( NULL, kernel32W, NULL, 0, 0, &wm )) != STATUS_SUCCESS)
{
MESSAGE( "wine: could not load kernel32.dll, status %x\n", status );
exit(1);
}
- if ((status = load_builtin_dll( NULL, wow64cpuW, 0, 0, &wow64cpu_wm )) == STATUS_SUCCESS)
+ if ((status = load_builtin_dll( NULL, wow64cpuW, NULL, 0, 0, &wow64cpu_wm )) == STATUS_SUCCESS)
Wow64Transition = wow64cpu_wm->ldr.BaseAddress;
else
WARN( "could not load wow64cpu.dll, status %#x\n", status );
--
2.7.4
2.19.2

View File

@@ -52,13 +52,13 @@ usage()
# Get the upstream commit sha
upstream_commit()
{
echo "ae5e029d2227b3a8024f597591f76fe0f37d52e3"
echo "2d16e6e59c910ba0a5e7c1c104b290731a8f1ffa"
}
# Show version information
version()
{
echo "Wine Staging 4.0-rc1"
echo "Wine Staging 4.0-rc3"
echo "Copyright (C) 2014-2018 the Wine Staging project authors."
echo "Copyright (C) 2018 Alistair Leslie-Hughes"
echo ""
@@ -136,6 +136,7 @@ patch_enable_all ()
enable_dinput_Initialize="$1"
enable_dsound_EAX="$1"
enable_dsound_Fast_Mixer="$1"
enable_dwmapi_DwmGetTransportAttributes="$1"
enable_dwrite_FontFallback="$1"
enable_dxdiagn_Enumerate_DirectSound="$1"
enable_dxdiagn_GetChildContainer_Leaf_Nodes="$1"
@@ -151,6 +152,7 @@ patch_enable_all ()
enable_imagehlp_BindImageEx="$1"
enable_imagehlp_Cleanup="$1"
enable_imagehlp_ImageLoad="$1"
enable_imm32_message_on_focus="$1"
enable_include_winsock="$1"
enable_inseng_Implementation="$1"
enable_iphlpapi_System_Ping="$1"
@@ -169,9 +171,10 @@ patch_enable_all ()
enable_kernel32_SCSI_Sysfs="$1"
enable_krnl386_exe16_GDT_LDT_Emulation="$1"
enable_krnl386_exe16_Invalid_Console_Handles="$1"
enable_krnl386_exe16__lclose16="$1"
enable_libs_Debug_Channel="$1"
enable_libs_Unicode_Collation="$1"
enable_mf_MFCreateSequencerSource="$1"
enable_mfplat_MFGetSystemTime="$1"
enable_mmsystem_dll16_MIDIHDR_Refcount="$1"
enable_mountmgr_DosDevices="$1"
enable_mscoree_CorValidateImage="$1"
@@ -298,6 +301,7 @@ patch_enable_all ()
enable_stdole32_idl_Typelib="$1"
enable_stdole32_tlb_SLTG_Typelib="$1"
enable_taskmgr_Memory_Usage="$1"
enable_ucrtbase__o_="$1"
enable_uianimation_stubs="$1"
enable_user32_DM_SETDEFID="$1"
enable_user32_Dialog_Paint_Event="$1"
@@ -314,7 +318,7 @@ patch_enable_all ()
enable_user32_Refresh_MDI_Menus="$1"
enable_user32_ScrollWindowEx="$1"
enable_user32_ShowWindow="$1"
enable_user32_dialog_focus="$1"
enable_user32_minimized_windows="$1"
enable_user32_msgbox_Support_WM_COPY_mesg="$1"
enable_uxtheme_CloseThemeClass="$1"
enable_uxtheme_GTK_Theming="$1"
@@ -351,6 +355,7 @@ patch_enable_all ()
enable_wined3d_UAV_Counters="$1"
enable_wined3d_WINED3DFMT_B8G8R8X8_UNORM="$1"
enable_wined3d_WINED3D_RS_COLORWRITEENABLE="$1"
enable_wined3d_WINED3D_TEXF_ANISOTROPIC="$1"
enable_wined3d_mesa_texture_download="$1"
enable_wined3d_wined3d_guess_gl_vendor="$1"
enable_winedbg_Process_Arguments="$1"
@@ -370,6 +375,8 @@ patch_enable_all ()
enable_winex11_Window_Style="$1"
enable_winex11_XEMBED="$1"
enable_winex11__NET_ACTIVE_WINDOW="$1"
enable_winex11_ime_check_thread_data="$1"
enable_winex11_key_translation="$1"
enable_winex11_mouse_movements="$1"
enable_winex11_wglShareLists="$1"
enable_winhttp_System_Proxy_Autoconfig="$1"
@@ -562,6 +569,9 @@ patch_enable ()
dsound-Fast_Mixer)
enable_dsound_Fast_Mixer="$2"
;;
dwmapi-DwmGetTransportAttributes)
enable_dwmapi_DwmGetTransportAttributes="$2"
;;
dwrite-FontFallback)
enable_dwrite_FontFallback="$2"
;;
@@ -607,6 +617,9 @@ patch_enable ()
imagehlp-ImageLoad)
enable_imagehlp_ImageLoad="$2"
;;
imm32-message_on_focus)
enable_imm32_message_on_focus="$2"
;;
include-winsock)
enable_include_winsock="$2"
;;
@@ -661,15 +674,18 @@ patch_enable ()
krnl386.exe16-Invalid_Console_Handles)
enable_krnl386_exe16_Invalid_Console_Handles="$2"
;;
krnl386.exe16-_lclose16)
enable_krnl386_exe16__lclose16="$2"
;;
libs-Debug_Channel)
enable_libs_Debug_Channel="$2"
;;
libs-Unicode_Collation)
enable_libs_Unicode_Collation="$2"
;;
mf-MFCreateSequencerSource)
enable_mf_MFCreateSequencerSource="$2"
;;
mfplat-MFGetSystemTime)
enable_mfplat_MFGetSystemTime="$2"
;;
mmsystem.dll16-MIDIHDR_Refcount)
enable_mmsystem_dll16_MIDIHDR_Refcount="$2"
;;
@@ -1048,6 +1064,9 @@ patch_enable ()
taskmgr-Memory_Usage)
enable_taskmgr_Memory_Usage="$2"
;;
ucrtbase-_o_)
enable_ucrtbase__o_="$2"
;;
uianimation-stubs)
enable_uianimation_stubs="$2"
;;
@@ -1096,8 +1115,8 @@ patch_enable ()
user32-ShowWindow)
enable_user32_ShowWindow="$2"
;;
user32-dialog_focus)
enable_user32_dialog_focus="$2"
user32-minimized_windows)
enable_user32_minimized_windows="$2"
;;
user32-msgbox-Support-WM_COPY-mesg)
enable_user32_msgbox_Support_WM_COPY_mesg="$2"
@@ -1207,6 +1226,9 @@ patch_enable ()
wined3d-WINED3D_RS_COLORWRITEENABLE)
enable_wined3d_WINED3D_RS_COLORWRITEENABLE="$2"
;;
wined3d-WINED3D_TEXF_ANISOTROPIC)
enable_wined3d_WINED3D_TEXF_ANISOTROPIC="$2"
;;
wined3d-mesa_texture_download)
enable_wined3d_mesa_texture_download="$2"
;;
@@ -1264,6 +1286,12 @@ patch_enable ()
winex11-_NET_ACTIVE_WINDOW)
enable_winex11__NET_ACTIVE_WINDOW="$2"
;;
winex11-ime-check-thread-data)
enable_winex11_ime_check_thread_data="$2"
;;
winex11-key_translation)
enable_winex11_key_translation="$2"
;;
winex11-mouse-movements)
enable_winex11_mouse_movements="$2"
;;
@@ -3371,6 +3399,25 @@ if test "$enable_dsound_EAX" -eq 1; then
) >> "$patchlist"
fi
# Patchset dwmapi-DwmGetTransportAttributes
# |
# | This patchset fixes the following Wine bugs:
# | * [#31350] T-Online Mediencenter Assistent (.NET 3.5 WPF app) installer fails ('dwmapi.dll' stubs insufficient in
# | Vista/Win7 mode)
# |
# | Modified files:
# | * configure, configure.ac, dlls/dwmapi/dwmapi_main.c, dlls/dwmapi/tests/Makefile.in, dlls/dwmapi/tests/dwmapi.c,
# | include/dwmapi.h, include/winerror.h
# |
if test "$enable_dwmapi_DwmGetTransportAttributes" -eq 1; then
patch_apply dwmapi-DwmGetTransportAttributes/0001-dwmapi-return-DWM_E_COMPOSITIONDISABLED-instead-of-ENOTIMPL-in-DwmGetTransportAttributes.patch
patch_apply dwmapi-DwmGetTransportAttributes/0002-dwmapi-add-initial-tests.patch
(
printf '%s\n' '+ { "Louis Lenders", "dwmapi: Return DWM_E_COMPOSITIONDISABLED instead of E_NOTIMPL in DwmGetTransportAttributes.", 1 },';
printf '%s\n' '+ { "Louis Lenders", "dwampi: Add initial tests.", 1 },';
) >> "$patchlist"
fi
# Patchset dwrite-FontFallback
# |
# | This patchset fixes the following Wine bugs:
@@ -3648,6 +3695,21 @@ if test "$enable_imagehlp_ImageLoad" -eq 1; then
) >> "$patchlist"
fi
# Patchset imm32-message_on_focus
# |
# | This patchset fixes the following Wine bugs:
# | * [#31157] imm32: Only generate 'WM_IME_SETCONTEXT' message if window has focus.
# |
# | Modified files:
# | * dlls/imm32/imm.c
# |
if test "$enable_imm32_message_on_focus" -eq 1; then
patch_apply imm32-message_on_focus/0001-imm32-Only-generate-WM_IME_SETCONTEXT-message-if-win.patch
(
printf '%s\n' '+ { "Gijs Vermeulen", "imm32: Only generate '\''WM_IME_SETCONTEXT'\'' message if window has focus.", 1 },';
) >> "$patchlist"
fi
# Patchset include-winsock
# |
# | Modified files:
@@ -3987,21 +4049,6 @@ if test "$enable_krnl386_exe16_Invalid_Console_Handles" -eq 1; then
) >> "$patchlist"
fi
# Patchset krnl386.exe16-_lclose16
# |
# | This patchset fixes the following Wine bugs:
# | * [#19184] Do not reassign default handles after they got closed
# |
# | Modified files:
# | * dlls/krnl386.exe16/file.c
# |
if test "$enable_krnl386_exe16__lclose16" -eq 1; then
patch_apply krnl386.exe16-_lclose16/0001-krnl386.exe16-Do-not-reassign-default-handles-after-.patch
(
printf '%s\n' '+ { "Michael Müller", "krnl386.exe16: Do not reassign default handles after they got closed.", 1 },';
) >> "$patchlist"
fi
# Patchset libs-Debug_Channel
# |
# | Modified files:
@@ -4033,6 +4080,36 @@ if test "$enable_libs_Unicode_Collation" -eq 1; then
) >> "$patchlist"
fi
# Patchset mf-MFCreateSequencerSource
# |
# | This patchset fixes the following Wine bugs:
# | * [#46105] mf: Implement MFCreateSequencerSource
# |
# | Modified files:
# | * dlls/mf/main.c, dlls/mf/mf.spec, dlls/mf/tests/Makefile.in, dlls/mf/tests/mf.c, include/mfidl.idl
# |
if test "$enable_mf_MFCreateSequencerSource" -eq 1; then
patch_apply mf-MFCreateSequencerSource/0001-mf-Implement-MFCreateSequencerSource.patch
(
printf '%s\n' '+ { "Alistair Leslie-Hughes", "mf: Implement MFCreateSequencerSource.", 1 },';
) >> "$patchlist"
fi
# Patchset mfplat-MFGetSystemTime
# |
# | This patchset fixes the following Wine bugs:
# | * [#46300] mfplat: Implement MFGetSystemTime
# |
# | Modified files:
# | * dlls/mfplat/main.c, dlls/mfplat/mfplat.spec, include/mfidl.idl
# |
if test "$enable_mfplat_MFGetSystemTime" -eq 1; then
patch_apply mfplat-MFGetSystemTime/0001-mfplat-Implement-MFGetSystemTime.patch
(
printf '%s\n' '+ { "Alistair Leslie-Hughes", "mfplat: Implement MFGetSystemTime.", 1 },';
) >> "$patchlist"
fi
# Patchset mmsystem.dll16-MIDIHDR_Refcount
# |
# | This patchset fixes the following Wine bugs:
@@ -6183,6 +6260,24 @@ if test "$enable_taskmgr_Memory_Usage" -eq 1; then
) >> "$patchlist"
fi
# Patchset ucrtbase-_o_
# |
# | This patchset fixes the following Wine bugs:
# | * [#44469] Multiple apps using Windows 10 v1507+ UCRT crash due to multiple missing api-ms-win-crt-
# | private-l1-1-0.dll._o__xxx stubs/forwards (Win10 DISM pkgmgr.exe, MS DirectX Shader Compiler)
# |
# | Modified files:
# | * dlls/api-ms-win-crt-private-l1-1-0/api-ms-win-crt-private-l1-1-0.spec, dlls/ucrtbase/ucrtbase.spec
# |
if test "$enable_ucrtbase__o_" -eq 1; then
patch_apply ucrtbase-_o_/0001-api-ms-win-crt-private-l1-1-0-Update-to-10.0.17134.1.patch
patch_apply ucrtbase-_o_/0002-ucrtbase-Forward-a-few-functions-for-dxil.dll-and-pk.patch
(
printf '%s\n' '+ { "Fabian Maurer", "api-ms-win-crt-private-l1-1-0: Update to 10.0.17134.12 (WinBuild.160101.0800).", 1 },';
printf '%s\n' '+ { "Fabian Maurer", "ucrtbase: Forward a few functions for dxil.dll and pkgmgr.exe.", 1 },';
) >> "$patchlist"
fi
# Patchset uianimation-stubs
# |
# | This patchset fixes the following Wine bugs:
@@ -6193,11 +6288,15 @@ fi
# | dlls/uianimation/uianimation_typelib.idl, include/uianimation.idl
# |
if test "$enable_uianimation_stubs" -eq 1; then
patch_apply uianimation-stubs/0001-uianimation.idl-add-more-interfaces.patch
patch_apply uianimation-stubs/0002-uianimation-add-stub-dll.patch
patch_apply uianimation-stubs/0001-uianimation.idl-Add-more-interfaces.patch
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.idl: Add more interfaces.", 1 },';
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
@@ -6440,18 +6539,48 @@ if test "$enable_user32_ShowWindow" -eq 1; then
) >> "$patchlist"
fi
# Patchset user32-dialog_focus
# Patchset user32-minimized_windows
# |
# | This patchset fixes the following Wine bugs:
# | * [#46215] File Open Dialog fails to set focus to Filename text box
# | * [#7287] Redundant "tabs" appear with tabbed MDI (test with LTSpice)
# |
# | Modified files:
# | * dlls/user32/dialog.c
# | * dlls/user32/controls.h, dlls/user32/icontitle.c, dlls/user32/nonclient.c, dlls/user32/tests/win.c, dlls/user32/win.c,
# | dlls/user32/win.h, dlls/user32/winpos.c, dlls/wineandroid.drv/window.c, dlls/wineandroid.drv/wineandroid.drv.spec,
# | dlls/winemac.drv/window.c, dlls/winex11.drv/window.c
# |
if test "$enable_user32_dialog_focus" -eq 1; then
patch_apply user32-dialog_focus/0001-user32-Dont-reset-focus-if-current-control-is-a-chil.patch
if test "$enable_user32_minimized_windows" -eq 1; then
patch_apply user32-minimized_windows/0001-user32-tests-Add-tests-for-GetWindowPlacement-and-Se.patch
patch_apply user32-minimized_windows/0002-user32-SetWindowPos-shouldn-t-change-the-client-rect.patch
patch_apply user32-minimized_windows/0003-user32-Correctly-calculate-the-client-size-of-a-mini.patch
patch_apply user32-minimized_windows/0004-user32-Use-the-C-XY-MINIMIZED-rather-than-C-XY-ICON-.patch
patch_apply user32-minimized_windows/0005-user32-AdjustWindowRect-shouldn-t-ignore-WS_MINIMIZE.patch
patch_apply user32-minimized_windows/0006-user32-tests-Add-tests-for-maximizing-and-minimizing.patch
patch_apply user32-minimized_windows/0007-user32-tests-Add-tests-for-maximizing-and-minimizing.patch
patch_apply user32-minimized_windows/0008-user32-tests-Add-tests-for-maximizing-and-minimizing.patch
patch_apply user32-minimized_windows/0009-user32-tests-Add-tests-for-ArrangeIconicWindows.patch
patch_apply user32-minimized_windows/0010-user32-Reimplement-ArrangeIconicWindows-using-minimi.patch
patch_apply user32-minimized_windows/0011-user32-Correctly-place-minimized-windows.patch
patch_apply user32-minimized_windows/0012-user32-Paint-title-bars-for-minimized-windows.patch
patch_apply user32-minimized_windows/0013-user32-Allow-clicking-the-restore-and-maximize-boxes.patch
patch_apply user32-minimized_windows/0014-user32-Get-rid-of-icon-titles.patch
patch_apply user32-minimized_windows/0015-user32-Move-iconic-windows-as-their-border-instead-o.patch
(
printf '%s\n' '+ { "Alistair Leslie-Hughes", "user32: Dont reset focus if current control is a child of our parent.", 1 },';
printf '%s\n' '+ { "Zebediah Figura", "user32/tests: Add tests for GetWindowPlacement() and SetWindowPlacement().", 1 },';
printf '%s\n' '+ { "Zebediah Figura", "user32: SetWindowPos() shouldn'\''t change the client rect of a minimized window.", 1 },';
printf '%s\n' '+ { "Zebediah Figura", "user32: Correctly calculate the client size of a minimized window.", 1 },';
printf '%s\n' '+ { "Zebediah Figura", "user32: Use the C[XY]MINIMIZED rather than C[XY]ICON size for minimized windows.", 1 },';
printf '%s\n' '+ { "Zebediah Figura", "user32: AdjustWindowRect() shouldn'\''t ignore WS_MINIMIZE.", 1 },';
printf '%s\n' '+ { "Zebediah Figura", "user32/tests: Add tests for maximizing and minimizing owned windows.", 1 },';
printf '%s\n' '+ { "Zebediah Figura", "user32/tests: Add tests for maximizing and minimizing child windows.", 1 },';
printf '%s\n' '+ { "Zebediah Figura", "user32/tests: Add tests for maximizing and minimizing MDI child windows.", 1 },';
printf '%s\n' '+ { "Zebediah Figura", "user32/tests: Add tests for ArrangeIconicWindows().", 1 },';
printf '%s\n' '+ { "Zebediah Figura", "user32: Reimplement ArrangeIconicWindows() using minimized metrics.", 1 },';
printf '%s\n' '+ { "Zebediah Figura", "user32: Correctly place minimized windows.", 1 },';
printf '%s\n' '+ { "Zebediah Figura", "user32: Paint title bars for minimized windows.", 1 },';
printf '%s\n' '+ { "Zebediah Figura", "user32: Allow clicking the restore and maximize boxes for on minimized windows.", 1 },';
printf '%s\n' '+ { "Zebediah Figura", "user32: Get rid of icon titles.", 1 },';
printf '%s\n' '+ { "Zebediah Figura", "user32: Move iconic windows as their border instead of their icon.", 1 },';
) >> "$patchlist"
fi
@@ -7082,6 +7211,21 @@ if test "$enable_wined3d_Restore_DirectX10_Support" -eq 1; then
) >> "$patchlist"
fi
# Patchset wined3d-WINED3D_TEXF_ANISOTROPIC
# |
# | This patchset fixes the following Wine bugs:
# | * [#41929] wined3d: Multiple games need WINED3D_TEXF_ANISOTROPIC filter mode
# |
# | Modified files:
# | * dlls/wined3d/surface.c
# |
if test "$enable_wined3d_WINED3D_TEXF_ANISOTROPIC" -eq 1; then
patch_apply wined3d-WINED3D_TEXF_ANISOTROPIC/0001-wined3d-Multiple-games-need-WINED3D_TEXF_ANISOTROPIC.patch
(
printf '%s\n' '+ { "Józef Kucia", "wined3d: Multiple games need WINED3D_TEXF_ANISOTROPIC filter mode.", 1 },';
) >> "$patchlist"
fi
# Patchset wined3d-mesa_texture_download
# |
# | This patchset fixes the following Wine bugs:
@@ -7193,18 +7337,13 @@ fi
# | * [#4836] Various improvements for wineps.drv for Adobe PageMaker compatibility
# |
# | Modified files:
# | * dlls/gdi32/printdrv.c, dlls/gdi32/tests/dc.c, dlls/wineps.drv/download.c, dlls/wineps.drv/escape.c,
# | dlls/wineps.drv/psdrv.h
# | * dlls/gdi32/tests/dc.c, dlls/wineps.drv/download.c, dlls/wineps.drv/escape.c, dlls/wineps.drv/psdrv.h
# |
if test "$enable_wineps_drv_PostScript_Fixes" -eq 1; then
patch_apply wineps.drv-PostScript_Fixes/0001-gdi32-tests-Add-a-simple-test-for-printing-to-a-Post.patch
patch_apply wineps.drv-PostScript_Fixes/0002-gdi32-Trace-full-contents-of-DOCINFO-in-StartDoc.patch
patch_apply wineps.drv-PostScript_Fixes/0003-wineps.drv-Add-stubs-for-escapes-required-by-Adobe-P.patch
patch_apply wineps.drv-PostScript_Fixes/0004-wineps.drv-Add-support-for-GETFACENAME-and-DOWNLOADF.patch
patch_apply wineps.drv-PostScript_Fixes/0005-wineps.drv-PostScript-header-should-be-written-by-St.patch
(
printf '%s\n' '+ { "Dmitry Timoshkov", "gdi32/tests: Add a simple test for printing to a PostScript device.", 1 },';
printf '%s\n' '+ { "Dmitry Timoshkov", "gdi32: Trace full contents of DOCINFO in StartDoc.", 1 },';
printf '%s\n' '+ { "Dmitry Timoshkov", "wineps.drv: Add stubs for escapes required by Adobe PageMaker.", 1 },';
printf '%s\n' '+ { "Dmitry Timoshkov", "wineps.drv: Add support for GETFACENAME and DOWNLOADFACE escapes.", 1 },';
printf '%s\n' '+ { "Dmitry Timoshkov", "wineps.drv: PostScript header should be written by StartDoc instead of StartPage.", 1 },';
@@ -7404,6 +7543,41 @@ if test "$enable_winex11_XEMBED" -eq 1; then
) >> "$patchlist"
fi
# Patchset winex11-ime-check-thread-data
# |
# | This patchset fixes the following Wine bugs:
# | * [#46263] Final Fantasy XI crashes after accepting EULA when using Ashita
# | * [#28861] Final Fantasy XI hangs after character selection
# |
# | Modified files:
# | * dlls/winex11.drv/window.c
# |
if test "$enable_winex11_ime_check_thread_data" -eq 1; then
patch_apply winex11-ime-check-thread-data/0001-winex11.drv-handle-missing-thread-data-in-X11DRV_get_ic.patch
(
printf '%s\n' '+ { "Enrico Horn", "winex11.drv: Handle missing thread data in X11DRV_get_ic.", 1 },';
) >> "$patchlist"
fi
# Patchset winex11-key_translation
# |
# | This patchset fixes the following Wine bugs:
# | * [#30984] Improve key translation.
# |
# | Modified files:
# | * dlls/winex11.drv/keyboard.c
# |
if test "$enable_winex11_key_translation" -eq 1; then
patch_apply winex11-key_translation/0001-winex11-Match-keyboard-in-Unicode.patch
patch_apply winex11-key_translation/0002-winex11-Fix-more-key-translation.patch
patch_apply winex11-key_translation/0003-winex11.drv-Fix-main-Russian-keyboard-layout.patch
(
printf '%s\n' '+ { "Ken Thomases", "winex11: Match keyboard in Unicode.", 1 },';
printf '%s\n' '+ { "Philippe Valembois", "winex11: Fix more key translation.", 1 },';
printf '%s\n' '+ { "Ondrej Kraus", "winex11.drv: Fix main Russian keyboard layout.", 1 },';
) >> "$patchlist"
fi
# Patchset winex11-mouse-movements
# |
# | This patchset fixes the following Wine bugs:
@@ -7525,12 +7699,14 @@ if test "$enable_wintab32_improvements" -eq 1; then
patch_apply wintab32-improvements/0003-winex11-Handle-negative-orAltitude-values.patch
patch_apply wintab32-improvements/0004-winex11.drv-Support-multiplex-categories-WTI_DSCTXS-.patch
patch_apply wintab32-improvements/0005-winex11-Support-WTI_STATUS-in-WTInfo.patch
patch_apply wintab32-improvements/0006-winex11-Use-active-owner-when-sending-messages.patch
(
printf '%s\n' '+ { "Eriks Dobelis", "winex11: Implement PK_CHANGE for wintab.", 1 },';
printf '%s\n' '+ { "Alistair Leslie-Hughes", "wintab32: Set lcSysExtX/Y for the first index of WTI_DDCTXS.", 1 },';
printf '%s\n' '+ { "Alistair Leslie-Hughes", "winex11: Handle negative orAltitude values.", 1 },';
printf '%s\n' '+ { "Alistair Leslie-Hughes", "winex11.drv: Support multiplex categories WTI_DSCTXS and WTI_DDCTXS.", 1 },';
printf '%s\n' '+ { "Alistair Leslie-Hughes", "winex11: Support WTI_STATUS in WTInfo.", 1 },';
printf '%s\n' '+ { "Robert Walker", "winex11: Use active owner when sending messages.", 1 },';
) >> "$patchlist"
fi

View File

@@ -0,0 +1,171 @@
From 9113a99bada07a5482c25c86bcb309e45d584b5b Mon Sep 17 00:00:00 2001
From: Fabian Maurer <dark.shadow4@web.de>
Date: Sun, 2 Dec 2018 15:56:07 +0100
Subject: [PATCH 1/2] api-ms-win-crt-private-l1-1-0: Update to 10.0.17134.12
(WinBuild.160101.0800)
Signed-off-by: Fabian Maurer <dark.shadow4@web.de>
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
---
.../api-ms-win-crt-private-l1-1-0.spec | 31 ++++++++++++++++++-
1 file changed, 30 insertions(+), 1 deletion(-)
diff --git a/dlls/api-ms-win-crt-private-l1-1-0/api-ms-win-crt-private-l1-1-0.spec b/dlls/api-ms-win-crt-private-l1-1-0/api-ms-win-crt-private-l1-1-0.spec
index 60a9258cd1..9bddd3d98b 100644
--- a/dlls/api-ms-win-crt-private-l1-1-0/api-ms-win-crt-private-l1-1-0.spec
+++ b/dlls/api-ms-win-crt-private-l1-1-0/api-ms-win-crt-private-l1-1-0.spec
@@ -15,6 +15,7 @@
@ stub __BuildCatchObject
@ stub __BuildCatchObjectHelper
@ stdcall -arch=x86_64 __C_specific_handler(ptr long ptr ptr) ucrtbase.__C_specific_handler
+@ stub __C_specific_handler_noexcept
@ cdecl -arch=i386,x86_64,arm,arm64 __CxxDetectRethrow(ptr) ucrtbase.__CxxDetectRethrow
@ cdecl -arch=i386,x86_64,arm,arm64 __CxxExceptionFilter(ptr ptr long ptr) ucrtbase.__CxxExceptionFilter
@ cdecl -arch=i386,x86_64,arm,arm64 -norelay __CxxFrameHandler(ptr ptr ptr ptr) ucrtbase.__CxxFrameHandler
@@ -44,6 +45,7 @@
@ stub __report_gsfailure
@ cdecl __std_exception_copy(ptr ptr) ucrtbase.__std_exception_copy
@ cdecl __std_exception_destroy(ptr) ucrtbase.__std_exception_destroy
+@ stub __std_terminate
@ cdecl __std_type_info_compare(ptr ptr) ucrtbase.__std_type_info_compare
@ cdecl __std_type_info_destroy_list(ptr) ucrtbase.__std_type_info_destroy_list
@ cdecl __std_type_info_hash(ptr) ucrtbase.__std_type_info_hash
@@ -51,6 +53,7 @@
@ cdecl __unDName(ptr str long ptr ptr long) ucrtbase.__unDName
@ cdecl __unDNameEx(ptr str long ptr ptr ptr long) ucrtbase.__unDNameEx
@ cdecl __uncaught_exception() ucrtbase.__uncaught_exception
+@ stub __uncaught_exceptions
@ cdecl -arch=i386 -norelay _chkesp() ucrtbase._chkesp
@ cdecl -arch=i386 _except_handler2(ptr ptr ptr ptr) ucrtbase._except_handler2
@ cdecl -arch=i386 _except_handler3(ptr ptr ptr ptr) ucrtbase._except_handler3
@@ -87,6 +90,10 @@
@ stub _o__W_Getmonths
@ stub _o__W_Gettnames
@ stub _o__Wcsftime
+@ stub _o____lc_codepage_func
+@ stub _o____lc_collate_cp_func
+@ stub _o____lc_locale_name_func
+@ stub _o____mb_cur_max_func
@ stub _o___acrt_iob_func
@ stub _o___conio_common_vcprintf
@ stub _o___conio_common_vcprintf_p
@@ -135,6 +142,10 @@
@ stub _o___p__wpgmptr
@ stub _o___pctype_func
@ stub _o___pwctype_func
+@ stub _o___std_exception_copy
+@ stub _o___std_exception_destroy
+@ stub _o___std_type_info_destroy_list
+@ stub _o___std_type_info_name
@ stub _o___stdio_common_vfprintf
@ stub _o___stdio_common_vfprintf_p
@ stub _o___stdio_common_vfprintf_s
@@ -184,6 +195,7 @@
@ stub _o__cabs
@ stub _o__callnewh
@ stub _o__calloc_base
+@ stub _o__cexit
@ stub _o__cgets
@ stub _o__cgets_s
@ stub _o__cgetws
@@ -195,11 +207,15 @@
@ stub _o__chsize_s
@ stub _o__close
@ stub _o__commit
+@ stub _o__configthreadlocale
+@ stub _o__configure_narrow_argv
@ stub _o__configure_wide_argv
+@ stub _o__controlfp_s
@ stub _o__cputs
@ stub _o__cputws
@ stub _o__creat
@ stub _o__create_locale
+@ stub _o__crt_atexit
@ stub _o__ctime32_s
@ stub _o__ctime64_s
@ stub _o__cwait
@@ -231,6 +247,7 @@
@ stub _o__execve
@ stub _o__execvp
@ stub _o__execvpe
+@ stub _o__exit
@ stub _o__expand
@ stub _o__fclose_nolock
@ stub _o__fcloseall
@@ -301,6 +318,8 @@
@ stub _o__get_errno
@ stub _o__get_fmode
@ stub _o__get_heap_handle
+@ stub _o__get_initial_narrow_environment
+@ stub _o__get_initial_wide_environment
@ stub _o__get_invalid_parameter_handler
@ stub _o__get_narrow_winmain_command_line
@ stub _o__get_osfhandle
@@ -345,7 +364,9 @@
@ stub _o__i64toa_s
@ stub _o__i64tow
@ stub _o__i64tow_s
+@ stub _o__initialize_narrow_environment
@ cdecl _o__initialize_onexit_table(ptr) ucrtbase._o__initialize_onexit_table
+@ stub _o__initialize_wide_environment
@ stub _o__invalid_parameter_noinfo
@ stub _o__invalid_parameter_noinfo_noreturn
@ stub _o__isatty
@@ -617,6 +638,7 @@
@ stub _o__pclose
@ stub _o__pipe
@ stub _o__popen
+@ stub _o__purecall
@ stub _o__putc_nolock
@ stub _o__putch
@ stub _o__putch_nolock
@@ -638,9 +660,13 @@
@ stub _o__scalbf
@ stub _o__searchenv
@ stub _o__searchenv_s
+@ stub _o__seh_filter_dll
+@ stub _o__seh_filter_exe
@ stub _o__set_abort_behavior
+@ stub _o__set_app_type
@ stub _o__set_doserrno
@ stub _o__set_errno
+@ stub _o__set_fmode
@ stub _o__set_invalid_parameter_handler
@ stub _o__set_new_handler
@ stub _o__set_new_mode
@@ -910,6 +936,7 @@
@ stub _o_erfcl
@ stub _o_erff
@ stub _o_erfl
+@ stub _o_exit
@ stub _o_exp
@ stub _o_exp2
@ stub _o_exp2f
@@ -1026,7 +1053,7 @@
@ stub _o_mbstowcs
@ stub _o_mbstowcs_s
@ stub _o_mbtowc
-@ stub _o_memset
+@ stub _o_memcpy_s
@ stub _o_modf
@ stub _o_modff
@ stub _o_nan
@@ -1061,6 +1088,7 @@
@ stub _o_remquo
@ stub _o_remquof
@ stub _o_remquol
+@ stub _o_rename
@ stub _o_rewind
@ stub _o_rint
@ stub _o_rintf
@@ -1076,6 +1104,7 @@
@ stub _o_scalbnl
@ stub _o_set_terminate
@ stub _o_setbuf
+@ stub _o_setlocale
@ stub _o_setvbuf
@ stub _o_sin
@ stub _o_sinf
--
2.19.2

View File

@@ -0,0 +1,265 @@
From 0b5e33a0b9640085f0ca12efab9718189f0061bb Mon Sep 17 00:00:00 2001
From: Fabian Maurer <dark.shadow4@web.de>
Date: Sun, 2 Dec 2018 15:56:08 +0100
Subject: [PATCH 2/2] ucrtbase: Forward a few functions for dxil.dll and
pkgmgr.exe
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=44469
Signed-off-by: Fabian Maurer <dark.shadow4@web.de>
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
---
.../api-ms-win-crt-private-l1-1-0.spec | 38 +++++++++----------
dlls/ucrtbase/ucrtbase.spec | 38 +++++++++----------
2 files changed, 38 insertions(+), 38 deletions(-)
diff --git a/dlls/api-ms-win-crt-private-l1-1-0/api-ms-win-crt-private-l1-1-0.spec b/dlls/api-ms-win-crt-private-l1-1-0/api-ms-win-crt-private-l1-1-0.spec
index 9bddd3d98b..77be3a5515 100644
--- a/dlls/api-ms-win-crt-private-l1-1-0/api-ms-win-crt-private-l1-1-0.spec
+++ b/dlls/api-ms-win-crt-private-l1-1-0/api-ms-win-crt-private-l1-1-0.spec
@@ -127,11 +127,11 @@
@ stub _o___libm_sse2_sinf
@ stub _o___libm_sse2_tan
@ stub _o___libm_sse2_tanf
-@ stub _o___p___argc
+@ cdecl _o___p___argc() ucrtbase._o___p___argc
@ stub _o___p___argv
-@ stub _o___p___wargv
+@ cdecl _o___p___wargv() ucrtbase._o___p___wargv
@ stub _o___p__acmdln
-@ stub _o___p__commode
+@ cdecl _o___p__commode() ucrtbase._o___p__commode
@ stub _o___p__environ
@ stub _o___p__fmode
@ stub _o___p__mbcasemap
@@ -144,7 +144,7 @@
@ stub _o___pwctype_func
@ stub _o___std_exception_copy
@ stub _o___std_exception_destroy
-@ stub _o___std_type_info_destroy_list
+@ cdecl _o___std_type_info_destroy_list(ptr) ucrtbase._o___std_type_info_destroy_list
@ stub _o___std_type_info_name
@ stub _o___stdio_common_vfprintf
@ stub _o___stdio_common_vfprintf_p
@@ -207,15 +207,15 @@
@ stub _o__chsize_s
@ stub _o__close
@ stub _o__commit
-@ stub _o__configthreadlocale
+@ cdecl _o__configthreadlocale(long) ucrtbase._o__configthreadlocale
@ stub _o__configure_narrow_argv
-@ stub _o__configure_wide_argv
-@ stub _o__controlfp_s
+@ cdecl _o__configure_wide_argv(long) ucrtbase._o__configure_wide_argv
+@ cdecl _o__controlfp_s(ptr long long) ucrtbase._o__controlfp_s
@ stub _o__cputs
@ stub _o__cputws
@ stub _o__creat
@ stub _o__create_locale
-@ stub _o__crt_atexit
+@ cdecl _o__crt_atexit(ptr) ucrtbase._o__crt_atexit
@ stub _o__ctime32_s
@ stub _o__ctime64_s
@ stub _o__cwait
@@ -319,7 +319,7 @@
@ stub _o__get_fmode
@ stub _o__get_heap_handle
@ stub _o__get_initial_narrow_environment
-@ stub _o__get_initial_wide_environment
+@ cdecl _o__get_initial_wide_environment() ucrtbase._o__get_initial_wide_environment
@ stub _o__get_invalid_parameter_handler
@ stub _o__get_narrow_winmain_command_line
@ stub _o__get_osfhandle
@@ -366,7 +366,7 @@
@ stub _o__i64tow_s
@ stub _o__initialize_narrow_environment
@ cdecl _o__initialize_onexit_table(ptr) ucrtbase._o__initialize_onexit_table
-@ stub _o__initialize_wide_environment
+@ cdecl _o__initialize_wide_environment() ucrtbase._o__initialize_wide_environment
@ stub _o__invalid_parameter_noinfo
@ stub _o__invalid_parameter_noinfo_noreturn
@ stub _o__isatty
@@ -660,16 +660,16 @@
@ stub _o__scalbf
@ stub _o__searchenv
@ stub _o__searchenv_s
-@ stub _o__seh_filter_dll
-@ stub _o__seh_filter_exe
+@ cdecl _o__seh_filter_dll(long ptr) ucrtbase._o__seh_filter_dll
+@ cdecl _o__seh_filter_exe(long ptr) ucrtbase._o__seh_filter_exe
@ stub _o__set_abort_behavior
-@ stub _o__set_app_type
+@ cdecl _o__set_app_type(long) ucrtbase._o__set_app_type
@ stub _o__set_doserrno
@ stub _o__set_errno
-@ stub _o__set_fmode
+@ cdecl _o__set_fmode(long) ucrtbase._o__set_fmode
@ stub _o__set_invalid_parameter_handler
@ stub _o__set_new_handler
-@ stub _o__set_new_mode
+@ cdecl _o__set_new_mode(long) ucrtbase._o__set_new_mode
@ stub _o__set_thread_local_invalid_parameter_handler
@ stub _o__seterrormode
@ stub _o__setmbcp
@@ -919,7 +919,7 @@
@ stub _o_bsearch
@ stub _o_bsearch_s
@ stub _o_btowc
-@ stub _o_calloc
+@ cdecl _o_calloc(long long) ucrtbase._o_calloc
@ stub _o_cbrt
@ stub _o_cbrtf
@ stub _o_ceil
@@ -936,7 +936,7 @@
@ stub _o_erfcl
@ stub _o_erff
@ stub _o_erfl
-@ stub _o_exit
+@ cdecl _o_exit(long) ucrtbase._o_exit
@ stub _o_exp
@ stub _o_exp2
@ stub _o_exp2f
@@ -967,7 +967,7 @@
@ stub _o_fputws
@ stub _o_fread
@ stub _o_fread_s
-@ stub _o_free
+@ cdecl _o_free(ptr) ucrtbase._o_free
@ stub _o_freopen
@ stub _o_freopen_s
@ stub _o_frexp
@@ -1142,7 +1142,7 @@
@ stub _o_tmpfile_s
@ stub _o_tmpnam_s
@ stub _o_tolower
-@ stub _o_toupper
+@ cdecl _o_toupper(long) ucrtbase._o_toupper
@ stub _o_towlower
@ stub _o_towupper
@ stub _o_ungetc
diff --git a/dlls/ucrtbase/ucrtbase.spec b/dlls/ucrtbase/ucrtbase.spec
index 470979c24f..d3f72e891c 100644
--- a/dlls/ucrtbase/ucrtbase.spec
+++ b/dlls/ucrtbase/ucrtbase.spec
@@ -791,11 +791,11 @@
@ stub _o___libm_sse2_sinf
@ stub _o___libm_sse2_tan
@ stub _o___libm_sse2_tanf
-@ stub _o___p___argc
+@ cdecl _o___p___argc() MSVCRT___p___argc
@ stub _o___p___argv
-@ stub _o___p___wargv
+@ cdecl _o___p___wargv() MSVCRT___p___wargv
@ stub _o___p__acmdln
-@ stub _o___p__commode
+@ cdecl _o___p__commode() __p__commode
@ stub _o___p__environ
@ stub _o___p__fmode
@ stub _o___p__mbcasemap
@@ -808,7 +808,7 @@
@ stub _o___pwctype_func
@ stub _o___std_exception_copy
@ stub _o___std_exception_destroy
-@ stub _o___std_type_info_destroy_list
+@ cdecl _o___std_type_info_destroy_list(ptr) MSVCRT_type_info_destroy_list
@ stub _o___std_type_info_name
@ stub _o___stdio_common_vfprintf
@ stub _o___stdio_common_vfprintf_p
@@ -871,15 +871,15 @@
@ stub _o__chsize_s
@ stub _o__close
@ stub _o__commit
-@ stub _o__configthreadlocale
+@ cdecl _o__configthreadlocale(long) _configthreadlocale
@ stub _o__configure_narrow_argv
-@ stub _o__configure_wide_argv
-@ stub _o__controlfp_s
+@ cdecl _o__configure_wide_argv(long) _configure_wide_argv
+@ cdecl _o__controlfp_s(ptr long long) _controlfp_s
@ stub _o__cputs
@ stub _o__cputws
@ stub _o__creat
@ stub _o__create_locale
-@ stub _o__crt_atexit
+@ cdecl _o__crt_atexit(ptr) MSVCRT__crt_atexit
@ stub _o__ctime32_s
@ stub _o__ctime64_s
@ stub _o__cwait
@@ -983,7 +983,7 @@
@ stub _o__get_fmode
@ stub _o__get_heap_handle
@ stub _o__get_initial_narrow_environment
-@ stub _o__get_initial_wide_environment
+@ cdecl _o__get_initial_wide_environment() _get_initial_wide_environment
@ stub _o__get_invalid_parameter_handler
@ stub _o__get_narrow_winmain_command_line
@ stub _o__get_osfhandle
@@ -1030,7 +1030,7 @@
@ stub _o__i64tow_s
@ stub _o__initialize_narrow_environment
@ cdecl _o__initialize_onexit_table(ptr) MSVCRT__initialize_onexit_table
-@ stub _o__initialize_wide_environment
+@ cdecl _o__initialize_wide_environment() _initialize_wide_environment
@ stub _o__invalid_parameter_noinfo
@ stub _o__invalid_parameter_noinfo_noreturn
@ stub _o__isatty
@@ -1324,16 +1324,16 @@
@ stub _o__scalbf
@ stub _o__searchenv
@ stub _o__searchenv_s
-@ stub _o__seh_filter_dll
-@ stub _o__seh_filter_exe
+@ cdecl _o__seh_filter_dll(long ptr) __CppXcptFilter
+@ cdecl _o__seh_filter_exe(long ptr) _XcptFilter
@ stub _o__set_abort_behavior
-@ stub _o__set_app_type
+@ cdecl _o__set_app_type(long) MSVCRT___set_app_type
@ stub _o__set_doserrno
@ stub _o__set_errno
-@ stub _o__set_fmode
+@ cdecl _o__set_fmode(long) MSVCRT__set_fmode
@ stub _o__set_invalid_parameter_handler
@ stub _o__set_new_handler
-@ stub _o__set_new_mode
+@ cdecl _o__set_new_mode(long) MSVCRT__set_new_mode
@ stub _o__set_thread_local_invalid_parameter_handler
@ stub _o__seterrormode
@ stub _o__setmbcp
@@ -1583,7 +1583,7 @@
@ stub _o_bsearch
@ stub _o_bsearch_s
@ stub _o_btowc
-@ stub _o_calloc
+@ cdecl _o_calloc(long long) MSVCRT_calloc
@ stub _o_cbrt
@ stub _o_cbrtf
@ stub _o_ceil
@@ -1600,7 +1600,7 @@
@ stub _o_erfcl
@ stub _o_erff
@ stub _o_erfl
-@ stub _o_exit
+@ cdecl _o_exit(long) MSVCRT_exit
@ stub _o_exp
@ stub _o_exp2
@ stub _o_exp2f
@@ -1631,7 +1631,7 @@
@ stub _o_fputws
@ stub _o_fread
@ stub _o_fread_s
-@ stub _o_free
+@ cdecl _o_free(ptr) MSVCRT_free
@ stub _o_freopen
@ stub _o_freopen_s
@ stub _o_frexp
@@ -1807,7 +1807,7 @@
@ stub _o_tmpfile_s
@ stub _o_tmpnam_s
@ stub _o_tolower
-@ stub _o_toupper
+@ cdecl _o_toupper(long) MSVCRT__toupper
@ stub _o_towlower
@ stub _o_towupper
@ stub _o_ungetc
--
2.19.2

View File

@@ -0,0 +1 @@
Fixes: [44469] Multiple apps using Windows 10 v1507+ UCRT crash due to multiple missing api-ms-win-crt-private-l1-1-0.dll._o__xxx stubs/forwards (Win10 DISM pkgmgr.exe, MS DirectX Shader Compiler)

View File

@@ -1,15 +1,15 @@
From 38a99520ce2f97b4a9a6deb1a5d7ba3b4c3819bd Mon Sep 17 00:00:00 2001
From e42a57bc5ee1a09cfa7ad1fa672a0d3b565c1424 Mon Sep 17 00:00:00 2001
From: Louis Lenders <xerox.xerox2000x@gmail.com>
Date: Thu, 7 Jun 2018 11:52:54 +0200
Subject: [PATCH] uianimation.idl: add more interfaces
Subject: [PATCH] uianimation.idl: Add more interfaces
Signed-off-by: Louis Lenders <xerox.xerox2000x@gmail.com>
---
include/uianimation.idl | 271 +++++++++++++++++++++++++++++++++++++++-
include/uianimation.idl | 271 +++++++++++++++++++++++++++++++++++++++++++++++-
1 file changed, 270 insertions(+), 1 deletion(-)
diff --git a/include/uianimation.idl b/include/uianimation.idl
index 6c026a6ced..557d931d3a 100644
index 6c026a6..54bc490 100644
--- a/include/uianimation.idl
+++ b/include/uianimation.idl
@@ -20,6 +20,13 @@ import "unknwn.idl";
@@ -61,11 +61,10 @@ index 6c026a6ced..557d931d3a 100644
[
local,
object,
@@ -334,6 +369,212 @@ interface IUIAnimationTimer : IUnknown
[in] UINT32 fps);
@@ -335,16 +370,250 @@ interface IUIAnimationTimer : IUnknown
}
+[
[
+ local,
+ object,
+ uuid(9169896c-ac8d-4e7d-94e5-67fa4dc2f2e8),
@@ -74,24 +73,24 @@ index 6c026a6ced..557d931d3a 100644
+interface IUIAnimationManager : IUnknown
+{
+ HRESULT CreateAnimationVariable(
+ [in] double initialvalue,
+ [in] UI_ANIMATION_SECONDS initialvalue,
+ [out, retval] IUIAnimationVariable **variable);
+
+ HRESULT ScheduleTransition(
+ [in] IUIAnimationVariable *variable,
+ [in] IUIAnimationTransition *transition,
+ [in] double timenow);
+ [in] UI_ANIMATION_SECONDS timenow);
+
+ HRESULT CreateStoryboard(
+ [out, retval] IUIAnimationStoryboard **storyboard);
+
+ HRESULT FinishAllStoryboards(
+ [in] double deadline);
+ [in] UI_ANIMATION_SECONDS deadline);
+
+ HRESULT AbandonAllStoryboards();
+
+ HRESULT Update(
+ [in] double timenow,
+ [in] UI_ANIMATION_SECONDS timenow,
+ [out, defaultvalue(0)] UI_ANIMATION_UPDATE_RESULT *updateresult);
+
+ HRESULT GetVariableFromTag(
@@ -130,7 +129,7 @@ index 6c026a6ced..557d931d3a 100644
+ [in] IUIAnimationPriorityComparison *comparison);
+
+ HRESULT SetDefaultLongestAcceptableDelay(
+ [in] double delay);
+ [in] UI_ANIMATION_SECONDS delay);
+
+ HRESULT Shutdown();
+}
@@ -175,20 +174,20 @@ index 6c026a6ced..557d931d3a 100644
+ [in] double initialvelocity);
+
+ HRESULT SetDuration(
+ [in] double duration);
+ [in] UI_ANIMATION_SECONDS duration);
+
+ HRESULT GetDuration(
+ [out, retval] double *duration);
+ [out, retval] UI_ANIMATION_SECONDS *duration);
+
+ HRESULT GetFinalValue(
+ [out, retval] double *value);
+
+ HRESULT InterpolateValue(
+ [in] double offset,
+ [in] UI_ANIMATION_SECONDS offset,
+ [out, retval] double *value);
+
+ HRESULT InterpolateVelocity(
+ [in] double offset,
+ [in] UI_ANIMATION_SECONDS offset,
+ [out, retval] double *velocity);
+
+ HRESULT GetDependencies(
@@ -210,17 +209,17 @@ index 6c026a6ced..557d931d3a 100644
+ [out, retval] IUIAnimationTransition **transition);
+
+ HRESULT CreateConstantTransition(
+ [in] double duration,
+ [in] UI_ANIMATION_SECONDS duration,
+ [out, retval] IUIAnimationTransition **transition);
+
+ HRESULT CreateDiscreteTransition(
+ [in] double delay,
+ [in] UI_ANIMATION_SECONDS delay,
+ [in] double finalvalue,
+ [in] double hold,
+ [in] UI_ANIMATION_SECONDS hold,
+ [out, retval] IUIAnimationTransition **transition);
+
+ HRESULT CreateLinearTransition(
+ [in] double duration,
+ [in] UI_ANIMATION_SECONDS duration,
+ [in] double finalvalue,
+ [out, retval] IUIAnimationTransition **transition);
+
@@ -230,51 +229,51 @@ index 6c026a6ced..557d931d3a 100644
+ [out, retval] IUIAnimationTransition **transition);
+
+ HRESULT CreateSinusoidalTransitionFromVelocity(
+ [in] double duration,
+ [in] double period,
+ [in] UI_ANIMATION_SECONDS duration,
+ [in] UI_ANIMATION_SECONDS period,
+ [out, retval] IUIAnimationTransition **transition);
+
+ HRESULT CreateSinusoidalTransitionFromRange(
+ [in] double duration,
+ [in] UI_ANIMATION_SECONDS duration,
+ [in] double minimumvalue,
+ [in] double maximumvalue,
+ [in] double period,
+ [in] UI_ANIMATION_SECONDS period,
+ [in] UI_ANIMATION_SLOPE slope,
+ [out, retval] IUIAnimationTransition **transition);
+
+ HRESULT CreateAccelerateDecelerateTransition(
+ [in] double duration,
+ [in] UI_ANIMATION_SECONDS duration,
+ [in] double finalvalue,
+ [in] double accelerationratio,
+ [in] double decelerationratio,
+ [out, retval] IUIAnimationTransition **transition);
+
+ HRESULT CreateReversalTransition(
+ [in] double duration,
+ [in] UI_ANIMATION_SECONDS duration,
+ [out, retval] IUIAnimationTransition **transition);
+
+ HRESULT CreateCubicTransition(
+ [in] double duration,
+ [in] UI_ANIMATION_SECONDS duration,
+ [in] double finalvalue,
+ [in] double finalvelocity,
+ [out, retval] IUIAnimationTransition **transition);
+
+ HRESULT CreateSmoothStopTransition(
+ [in] double maximumduration,
+ [in] UI_ANIMATION_SECONDS maximumduration,
+ [in] double finalvalue,
+ [out, retval] IUIAnimationTransition **transition);
+
+ HRESULT CreateParabolicTransitionFromAcceleration(
+ [in] double finalvalue,
+ [in] UI_ANIMATION_SECONDS finalvalue,
+ [in] double finalvelocity,
+ [in] double acceleration,
+ [out, retval] IUIAnimationTransition **transition);
+}
+
[
+[
uuid(44ca24db-1a92-4149-bab5-fb14d64b401e),
version(1.0)
@@ -341,10 +582,38 @@ interface IUIAnimationTimer : IUnknown
]
library UIAnimation
{
[
@@ -300,7 +299,7 @@ index 6c026a6ced..557d931d3a 100644
+ uuid(8a9b1cdd-fcd7-419c-8b44-42fd17db1887),
+ threading(both)
+ ]
+ coclass UIAnimationTransitionFactory
+ coclass UIAnimationTransitionFactory
+ {
+ [default] interface IUIAnimationTransitionFactory;
+ }
@@ -309,11 +308,11 @@ index 6c026a6ced..557d931d3a 100644
+ uuid(1d6322ad-aa85-4ef5-a828-86d71067d145),
+ threading(both)
+ ]
+ coclass UIAnimationTransitionLibrary
+ coclass UIAnimationTransitionLibrary
+ {
+ [default] interface IUIAnimationTransitionLibrary;
+ }
}
--
2.17.1
1.9.1

Some files were not shown because too many files have changed in this diff Show More