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
24 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
b1066c7064 | ||
|
b636153ec4 | ||
|
f8064b4dbe | ||
|
b7a4aade29 | ||
|
9e8d000f35 | ||
|
42b756066b | ||
|
ee381d1ad0 | ||
|
9a858d4f4c | ||
|
3878c8eb1b | ||
|
5020088406 | ||
|
c119ae9eeb | ||
|
476caa4a5f | ||
|
9982d2e0ee | ||
|
2b2bf8ac06 | ||
|
088524a29e | ||
|
31d525e567 | ||
|
7d26828643 | ||
|
3dc3c4e0e2 | ||
|
154875b4e9 | ||
|
66148cb9b2 | ||
|
cfbf5f7b86 | ||
|
6f1b2ab35a | ||
|
550e67b8a2 | ||
|
e45211698d |
@@ -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
|
||||
|
||||
|
@@ -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
|
||||
|
@@ -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
|
||||
|
1
patches/dwmapi-DwmGetTransportAttributes/definition
Normal file
1
patches/dwmapi-DwmGetTransportAttributes/definition
Normal 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)
|
@@ -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
|
||||
|
||||
|
@@ -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
|
||||
|
5
patches/imm32-message_on_focus/definition
Normal file
5
patches/imm32-message_on_focus/definition
Normal 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.
|
@@ -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
|
||||
|
@@ -1 +0,0 @@
|
||||
Fixes: [19184] Do not reassign default handles after they got closed
|
@@ -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
|
||||
|
1
patches/mf-MFCreateSequencerSource/definition
Normal file
1
patches/mf-MFCreateSequencerSource/definition
Normal file
@@ -0,0 +1 @@
|
||||
Fixes: [46105] mf: Implement MFCreateSequencerSource
|
@@ -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
|
||||
|
1
patches/mfplat-MFGetSystemTime/definition
Normal file
1
patches/mfplat-MFGetSystemTime/definition
Normal file
@@ -0,0 +1 @@
|
||||
Fixes: [46300] mfplat: Implement MFGetSystemTime
|
@@ -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
|
||||
|
||||
|
@@ -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
|
||||
|
||||
|
@@ -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
|
||||
|
@@ -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
|
||||
|
1
patches/ucrtbase-_o_/definition
Normal file
1
patches/ucrtbase-_o_/definition
Normal 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)
|
@@ -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
|
||||
|
File diff suppressed because it is too large
Load Diff
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user