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
27 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
8de9c65504 | ||
|
f04ae5b1da | ||
|
0501c71fce | ||
|
690a18a601 | ||
|
eb09d462e2 | ||
|
3161e5be34 | ||
|
17083b95bb | ||
|
50f0724f43 | ||
|
54f9a82de8 | ||
|
fe96596a19 | ||
|
929bc28ac8 | ||
|
a7ad40c135 | ||
|
4d4e02e26b | ||
|
40821d91e2 | ||
|
9256515a12 | ||
|
ae1f954ed1 | ||
|
ccad76f64a | ||
|
b1066c7064 | ||
|
b636153ec4 | ||
|
f8064b4dbe | ||
|
b7a4aade29 | ||
|
9e8d000f35 | ||
|
42b756066b | ||
|
ee381d1ad0 | ||
|
9a858d4f4c | ||
|
3878c8eb1b | ||
|
5020088406 |
@@ -1362,7 +1362,7 @@ index c930248..80f73de 100644
|
||||
+ object->device = iface;
|
||||
+ object->refcount = 1;
|
||||
+
|
||||
+ ID3D11Device_AddRef(iface);
|
||||
+ ID3D11Device2_AddRef(iface);
|
||||
+ wined3d_private_store_init(&object->private_store);
|
||||
+
|
||||
+ *context = &object->ID3D11DeviceContext_iface;
|
||||
|
@@ -1,4 +1,4 @@
|
||||
From b8d301b085b39fba7f61409a0ebe17a4ff7b810a Mon Sep 17 00:00:00 2001
|
||||
From 07c70b0b20919d9908b408322d65c62ad459f09e Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
|
||||
Date: Thu, 19 Jan 2017 16:56:56 +0100
|
||||
Subject: [PATCH] d3d11: Initial implementation for deferred contexts.
|
||||
@@ -8,7 +8,7 @@ Subject: [PATCH] d3d11: Initial implementation for deferred contexts.
|
||||
1 file changed, 1040 insertions(+), 31 deletions(-)
|
||||
|
||||
diff --git a/dlls/d3d11/device.c b/dlls/d3d11/device.c
|
||||
index 9127d01..94156e4 100644
|
||||
index ebe8c03..791b959 100644
|
||||
--- a/dlls/d3d11/device.c
|
||||
+++ b/dlls/d3d11/device.c
|
||||
@@ -19,12 +19,181 @@
|
||||
@@ -725,7 +725,7 @@ index 9127d01..94156e4 100644
|
||||
static void STDMETHODCALLTYPE d3d_null_wined3d_object_destroyed(void *parent) {}
|
||||
|
||||
static const struct wined3d_parent_ops d3d_null_wined3d_parent_ops =
|
||||
@@ -1217,7 +1908,20 @@ static void STDMETHODCALLTYPE d3d11_immediate_context_ResolveSubresource(ID3D11D
|
||||
@@ -1221,7 +1912,20 @@ static void STDMETHODCALLTYPE d3d11_immediate_context_ResolveSubresource(ID3D11D
|
||||
static void STDMETHODCALLTYPE d3d11_immediate_context_ExecuteCommandList(ID3D11DeviceContext1 *iface,
|
||||
ID3D11CommandList *command_list, BOOL restore_state)
|
||||
{
|
||||
@@ -747,7 +747,7 @@ index 9127d01..94156e4 100644
|
||||
}
|
||||
|
||||
static void STDMETHODCALLTYPE d3d11_immediate_context_HSSetShaderResources(ID3D11DeviceContext1 *iface,
|
||||
@@ -2972,6 +3676,7 @@ static ULONG STDMETHODCALLTYPE d3d11_deferred_context_Release(ID3D11DeviceContex
|
||||
@@ -2855,6 +3559,7 @@ static ULONG STDMETHODCALLTYPE d3d11_deferred_context_Release(ID3D11DeviceContex
|
||||
|
||||
if (!refcount)
|
||||
{
|
||||
@@ -755,7 +755,7 @@ index 9127d01..94156e4 100644
|
||||
wined3d_private_store_cleanup(&context->private_store);
|
||||
ID3D11Device_Release(context->device);
|
||||
HeapFree(GetProcessHeap(), 0, context);
|
||||
@@ -3023,43 +3728,86 @@ static HRESULT STDMETHODCALLTYPE d3d11_deferred_context_SetPrivateDataInterface(
|
||||
@@ -2906,43 +3611,86 @@ static HRESULT STDMETHODCALLTYPE d3d11_deferred_context_SetPrivateDataInterface(
|
||||
static void STDMETHODCALLTYPE d3d11_deferred_context_VSSetConstantBuffers(ID3D11DeviceContext *iface,
|
||||
UINT start_slot, UINT buffer_count, ID3D11Buffer *const *buffers)
|
||||
{
|
||||
@@ -848,7 +848,7 @@ index 9127d01..94156e4 100644
|
||||
}
|
||||
|
||||
static void STDMETHODCALLTYPE d3d11_deferred_context_Draw(ID3D11DeviceContext *iface,
|
||||
@@ -3072,53 +3820,169 @@ static void STDMETHODCALLTYPE d3d11_deferred_context_Draw(ID3D11DeviceContext *i
|
||||
@@ -2955,53 +3703,169 @@ static void STDMETHODCALLTYPE d3d11_deferred_context_Draw(ID3D11DeviceContext *i
|
||||
static HRESULT STDMETHODCALLTYPE d3d11_deferred_context_Map(ID3D11DeviceContext *iface, ID3D11Resource *resource,
|
||||
UINT subresource_idx, D3D11_MAP map_type, UINT map_flags, D3D11_MAPPED_SUBRESOURCE *mapped_subresource)
|
||||
{
|
||||
@@ -1027,7 +1027,7 @@ index 9127d01..94156e4 100644
|
||||
}
|
||||
|
||||
static void STDMETHODCALLTYPE d3d11_deferred_context_DrawInstanced(ID3D11DeviceContext *iface,
|
||||
@@ -3147,7 +4011,16 @@ static void STDMETHODCALLTYPE d3d11_deferred_context_GSSetShader(ID3D11DeviceCon
|
||||
@@ -3030,7 +3894,16 @@ static void STDMETHODCALLTYPE d3d11_deferred_context_GSSetShader(ID3D11DeviceCon
|
||||
static void STDMETHODCALLTYPE d3d11_deferred_context_IASetPrimitiveTopology(ID3D11DeviceContext *iface,
|
||||
D3D11_PRIMITIVE_TOPOLOGY topology)
|
||||
{
|
||||
@@ -1045,7 +1045,7 @@ index 9127d01..94156e4 100644
|
||||
}
|
||||
|
||||
static void STDMETHODCALLTYPE d3d11_deferred_context_VSSetShaderResources(ID3D11DeviceContext *iface,
|
||||
@@ -3207,8 +4080,28 @@ static void STDMETHODCALLTYPE d3d11_deferred_context_OMSetRenderTargets(ID3D11De
|
||||
@@ -3090,8 +3963,28 @@ static void STDMETHODCALLTYPE d3d11_deferred_context_OMSetRenderTargets(ID3D11De
|
||||
UINT render_target_view_count, ID3D11RenderTargetView *const *render_target_views,
|
||||
ID3D11DepthStencilView *depth_stencil_view)
|
||||
{
|
||||
@@ -1075,7 +1075,7 @@ index 9127d01..94156e4 100644
|
||||
}
|
||||
|
||||
static void STDMETHODCALLTYPE d3d11_deferred_context_OMSetRenderTargetsAndUnorderedAccessViews(
|
||||
@@ -3228,15 +4121,44 @@ static void STDMETHODCALLTYPE d3d11_deferred_context_OMSetRenderTargetsAndUnorde
|
||||
@@ -3111,15 +4004,44 @@ static void STDMETHODCALLTYPE d3d11_deferred_context_OMSetRenderTargetsAndUnorde
|
||||
static void STDMETHODCALLTYPE d3d11_deferred_context_OMSetBlendState(ID3D11DeviceContext *iface,
|
||||
ID3D11BlendState *blend_state, const float blend_factor[4], UINT sample_mask)
|
||||
{
|
||||
@@ -1122,7 +1122,7 @@ index 9127d01..94156e4 100644
|
||||
}
|
||||
|
||||
static void STDMETHODCALLTYPE d3d11_deferred_context_SOSetTargets(ID3D11DeviceContext *iface, UINT buffer_count,
|
||||
@@ -3278,13 +4200,34 @@ static void STDMETHODCALLTYPE d3d11_deferred_context_DispatchIndirect(ID3D11Devi
|
||||
@@ -3161,13 +4083,34 @@ static void STDMETHODCALLTYPE d3d11_deferred_context_DispatchIndirect(ID3D11Devi
|
||||
static void STDMETHODCALLTYPE d3d11_deferred_context_RSSetState(ID3D11DeviceContext *iface,
|
||||
ID3D11RasterizerState *rasterizer_state)
|
||||
{
|
||||
@@ -1159,7 +1159,7 @@ index 9127d01..94156e4 100644
|
||||
}
|
||||
|
||||
static void STDMETHODCALLTYPE d3d11_deferred_context_RSSetScissorRects(ID3D11DeviceContext *iface,
|
||||
@@ -3399,8 +4342,18 @@ static void STDMETHODCALLTYPE d3d11_deferred_context_HSSetShaderResources(ID3D11
|
||||
@@ -3282,8 +4225,18 @@ static void STDMETHODCALLTYPE d3d11_deferred_context_HSSetShaderResources(ID3D11
|
||||
static void STDMETHODCALLTYPE d3d11_deferred_context_HSSetShader(ID3D11DeviceContext *iface,
|
||||
ID3D11HullShader *shader, ID3D11ClassInstance *const *class_instances, UINT class_instance_count)
|
||||
{
|
||||
@@ -1179,7 +1179,7 @@ index 9127d01..94156e4 100644
|
||||
}
|
||||
|
||||
static void STDMETHODCALLTYPE d3d11_deferred_context_HSSetSamplers(ID3D11DeviceContext *iface,
|
||||
@@ -3413,36 +4366,62 @@ static void STDMETHODCALLTYPE d3d11_deferred_context_HSSetSamplers(ID3D11DeviceC
|
||||
@@ -3296,36 +4249,62 @@ static void STDMETHODCALLTYPE d3d11_deferred_context_HSSetSamplers(ID3D11DeviceC
|
||||
static void STDMETHODCALLTYPE d3d11_deferred_context_HSSetConstantBuffers(ID3D11DeviceContext *iface,
|
||||
UINT start_slot, UINT buffer_count, ID3D11Buffer *const *buffers)
|
||||
{
|
||||
@@ -1247,7 +1247,7 @@ index 9127d01..94156e4 100644
|
||||
}
|
||||
|
||||
static void STDMETHODCALLTYPE d3d11_deferred_context_CSSetShaderResources(ID3D11DeviceContext *iface,
|
||||
@@ -3743,7 +4722,15 @@ static void STDMETHODCALLTYPE d3d11_deferred_context_CSGetConstantBuffers(ID3D11
|
||||
@@ -3626,7 +4605,15 @@ static void STDMETHODCALLTYPE d3d11_deferred_context_CSGetConstantBuffers(ID3D11
|
||||
|
||||
static void STDMETHODCALLTYPE d3d11_deferred_context_ClearState(ID3D11DeviceContext *iface)
|
||||
{
|
||||
@@ -1264,7 +1264,7 @@ index 9127d01..94156e4 100644
|
||||
}
|
||||
|
||||
static void STDMETHODCALLTYPE d3d11_deferred_context_Flush(ID3D11DeviceContext *iface)
|
||||
@@ -3768,9 +4755,29 @@ static UINT STDMETHODCALLTYPE d3d11_deferred_context_GetContextFlags(ID3D11Devic
|
||||
@@ -3651,9 +4638,29 @@ static UINT STDMETHODCALLTYPE d3d11_deferred_context_GetContextFlags(ID3D11Devic
|
||||
static HRESULT STDMETHODCALLTYPE d3d11_deferred_context_FinishCommandList(ID3D11DeviceContext *iface,
|
||||
BOOL restore, ID3D11CommandList **command_list)
|
||||
{
|
||||
@@ -1296,13 +1296,13 @@ index 9127d01..94156e4 100644
|
||||
}
|
||||
|
||||
static const struct ID3D11DeviceContextVtbl d3d11_deferred_context_vtbl =
|
||||
@@ -4385,6 +5392,8 @@ static HRESULT STDMETHODCALLTYPE d3d11_device_CreateDeferredContext(ID3D11Device
|
||||
@@ -4268,6 +5275,8 @@ static HRESULT STDMETHODCALLTYPE d3d11_device_CreateDeferredContext(ID3D11Device
|
||||
object->device = iface;
|
||||
object->refcount = 1;
|
||||
|
||||
+ list_init(&object->commands);
|
||||
+
|
||||
ID3D11Device_AddRef(iface);
|
||||
ID3D11Device2_AddRef(iface);
|
||||
wined3d_private_store_init(&object->private_store);
|
||||
|
||||
--
|
||||
|
@@ -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
|
||||
|
||||
|
@@ -198,7 +198,7 @@ index 8190442..c73981b 100644
|
||||
+ bind_flags, WINED3D_RTYPE_TEXTURE_2D, wined3d_desc.format)))
|
||||
+ {
|
||||
+ FIXME("Application wants to create rendering target in system memory, using video memory instead\n");
|
||||
+ wined3d_desc.usage = wined3d_desc.bind_flags;
|
||||
+ wined3d_desc.bind_flags = bind_flags;
|
||||
+ }
|
||||
+ else
|
||||
+ wined3d_desc.access = WINED3D_RESOURCE_ACCESS_CPU
|
||||
|
@@ -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,48 +0,0 @@
|
||||
From d246bb6bbadaa959d49a29dc28d1288473ca8375 Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Lackner <sebastian@fds-team.de>
|
||||
Date: Wed, 17 May 2017 11:58:20 +0200
|
||||
Subject: urlmon/tests: Add test for opening cache file with DELETE access.
|
||||
|
||||
---
|
||||
dlls/urlmon/tests/url.c | 11 +++++++++++
|
||||
1 file changed, 11 insertions(+)
|
||||
|
||||
diff --git a/dlls/urlmon/tests/url.c b/dlls/urlmon/tests/url.c
|
||||
index cd1d855032d..70234ff3fd7 100644
|
||||
--- a/dlls/urlmon/tests/url.c
|
||||
+++ b/dlls/urlmon/tests/url.c
|
||||
@@ -182,6 +182,7 @@ static HRESULT abort_hres;
|
||||
static BOOL have_IHttpNegotiate2, use_bscex, is_async_prot;
|
||||
static BOOL test_redirect, use_cache_file, callback_read, no_callback, test_abort;
|
||||
static WCHAR cache_file_name[MAX_PATH];
|
||||
+static WCHAR http_cache_file[MAX_PATH];
|
||||
static BOOL only_check_prot_args = FALSE;
|
||||
static BOOL invalid_cn_accepted = FALSE;
|
||||
static BOOL abort_start = FALSE;
|
||||
@@ -1927,6 +1928,14 @@ static HRESULT WINAPI statusclb_OnStopBinding(IBindStatusCallbackEx *iface, HRES
|
||||
ok( WaitForSingleObject(complete_event2, 90000) == WAIT_OBJECT_0, "wait timed out\n" );
|
||||
}
|
||||
|
||||
+ if(test_protocol == HTTP_TEST && !emulate_protocol && http_cache_file[0]) {
|
||||
+ HANDLE file = CreateFileW(http_cache_file, DELETE, FILE_SHARE_DELETE, NULL,
|
||||
+ OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
|
||||
+ ok(file == INVALID_HANDLE_VALUE, "expected INVALID_HANDLE_VALUE, got %p\n", file);
|
||||
+ ok(GetLastError() == ERROR_SHARING_VIOLATION, "expected ERROR_SHARING_VIOLATION, got %u\n", GetLastError());
|
||||
+ http_cache_file[0] = 0;
|
||||
+ }
|
||||
+
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
@@ -2083,6 +2092,8 @@ static HRESULT WINAPI statusclb_OnDataAvailable(IBindStatusCallbackEx *iface, DW
|
||||
else if(emulate_protocol)
|
||||
ok(!lstrcmpW(pstgmed->u.lpszFileName, cache_fileW),
|
||||
"unexpected file name %s\n", wine_dbgstr_w(pstgmed->u.lpszFileName));
|
||||
+ else if(test_protocol == HTTP_TEST)
|
||||
+ lstrcpyW(http_cache_file, pstgmed->u.lpszFileName);
|
||||
else
|
||||
ok(pstgmed->u.lpszFileName != NULL, "lpszFileName == NULL\n");
|
||||
}
|
||||
--
|
||||
2.12.2
|
||||
|
@@ -1,25 +0,0 @@
|
||||
From fcb6d21ede52ef770a04c59ea6bd5b9483c31f32 Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Lackner <sebastian@fds-team.de>
|
||||
Date: Wed, 17 May 2017 12:03:15 +0200
|
||||
Subject: appwiz.cpl: Copy addons to cache instead of moving.
|
||||
|
||||
---
|
||||
dlls/appwiz.cpl/addons.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/dlls/appwiz.cpl/addons.c b/dlls/appwiz.cpl/addons.c
|
||||
index c3847b54948..91cd485b026 100644
|
||||
--- a/dlls/appwiz.cpl/addons.c
|
||||
+++ b/dlls/appwiz.cpl/addons.c
|
||||
@@ -510,7 +510,7 @@ static HRESULT WINAPI InstallCallback_OnStopBinding(IBindStatusCallback *iface,
|
||||
|
||||
cache_file_name = get_cache_file_name(TRUE);
|
||||
if(cache_file_name) {
|
||||
- MoveFileW(msi_file, cache_file_name);
|
||||
+ CopyFileW(msi_file, cache_file_name, FALSE);
|
||||
heap_free(cache_file_name);
|
||||
}
|
||||
}else {
|
||||
--
|
||||
2.12.2
|
||||
|
@@ -1 +0,0 @@
|
||||
Fixes: [14901] MoveFile with source == dest should succeed.
|
@@ -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
|
@@ -0,0 +1,128 @@
|
||||
From 9148a362cb4a728762584e1daf47d8c09c24d9ba Mon Sep 17 00:00:00 2001
|
||||
From: Gijs Vermeulen <gijsvrm@gmail.com>
|
||||
Date: Mon, 14 Jan 2019 18:07:35 +0100
|
||||
Subject: [PATCH] msvcp140: Export _Equivalent and port tests.
|
||||
|
||||
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=46465
|
||||
Signed-off-by: Gijs Vermeulen <gijsvrm@gmail.com>
|
||||
---
|
||||
dlls/msvcp140/msvcp140.spec | 2 +-
|
||||
dlls/msvcp140/tests/msvcp140.c | 69 ++++++++++++++++++++++++++++++++++
|
||||
2 files changed, 70 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/dlls/msvcp140/msvcp140.spec b/dlls/msvcp140/msvcp140.spec
|
||||
index 245389e61e..6a4eb14c04 100644
|
||||
--- a/dlls/msvcp140/msvcp140.spec
|
||||
+++ b/dlls/msvcp140/msvcp140.spec
|
||||
@@ -3638,7 +3638,7 @@
|
||||
@ cdecl _Current_set(wstr) tr2_sys__Current_set_wchar
|
||||
@ extern _Denorm _Denorm
|
||||
@ cdecl _Dtest(ptr) _Dtest
|
||||
-@ stub _Equivalent
|
||||
+@ cdecl _Equivalent(wstr wstr) tr2_sys__Equivalent_wchar
|
||||
@ cdecl _Exp(ptr double long) _Exp
|
||||
@ stub _FCosh
|
||||
@ extern _FDenorm _FDenorm
|
||||
diff --git a/dlls/msvcp140/tests/msvcp140.c b/dlls/msvcp140/tests/msvcp140.c
|
||||
index 5705882c88..2ba809dc50 100644
|
||||
--- a/dlls/msvcp140/tests/msvcp140.c
|
||||
+++ b/dlls/msvcp140/tests/msvcp140.c
|
||||
@@ -176,6 +176,7 @@ static void (__cdecl *p__Release_chore)(_Threadpool_chore*);
|
||||
static void (__cdecl *p_Close_dir)(void*);
|
||||
static MSVCP_bool (__cdecl *p_Current_get)(WCHAR *);
|
||||
static MSVCP_bool (__cdecl *p_Current_set)(WCHAR const *);
|
||||
+static int (__cdecl *p_Equivalent)(WCHAR const*, WCHAR const*);
|
||||
static ULONGLONG (__cdecl *p_File_size)(WCHAR const *);
|
||||
static __int64 (__cdecl *p_Last_write_time)(WCHAR const*);
|
||||
static void (__cdecl *p_Set_last_write_time)(WCHAR const*, __int64);
|
||||
@@ -267,6 +268,7 @@ static BOOL init(void)
|
||||
SET(p_Close_dir, "_Close_dir");
|
||||
SET(p_Current_get, "_Current_get");
|
||||
SET(p_Current_set, "_Current_set");
|
||||
+ SET(p_Equivalent, "_Equivalent");
|
||||
SET(p_File_size, "_File_size");
|
||||
SET(p_Last_write_time, "_Last_write_time");
|
||||
SET(p_Set_last_write_time, "_Set_last_write_time");
|
||||
@@ -1360,6 +1362,72 @@ static void test__Winerror_map(void)
|
||||
}
|
||||
}
|
||||
|
||||
+static void test_Equivalent(void)
|
||||
+{
|
||||
+ int val, i;
|
||||
+ HANDLE file;
|
||||
+ WCHAR temp_path[MAX_PATH], current_path[MAX_PATH];
|
||||
+ static const WCHAR wine_test_dirW[] =
|
||||
+ {'w','i','n','e','_','t','e','s','t','_','d','i','r',0};
|
||||
+ static const WCHAR f1W[] =
|
||||
+ {'w','i','n','e','_','t','e','s','t','_','d','i','r','/','f','1',0};
|
||||
+ static const WCHAR f1W_backslash[] =
|
||||
+ {'w','i','n','e','_','t','e','s','t','_','d','i','r','\\','f','1',0};
|
||||
+ static const WCHAR f1W_subdir[] =
|
||||
+ {'w','i','n','e','_','t','e','s','t','_','d','i','r','/','.','/','f','1',0};
|
||||
+ static const WCHAR f1W_long[] =
|
||||
+ {'w','i','n','e','_','t','e','s','t','_','d','i','r','/','.','.','/','w','i','n','e','_','t','e','s','t','_','d','i','r','/','f','1',0};
|
||||
+ static const WCHAR f2W[] =
|
||||
+ {'w','i','n','e','_','t','e','s','t','_','d','i','r','/','f','2',0};
|
||||
+ static const WCHAR not_existW[] =
|
||||
+ {'n','o','t','_','e','x','i','s','t','s','_','f','i','l','e',0};
|
||||
+ static const struct {
|
||||
+ const WCHAR *path1;
|
||||
+ const WCHAR *path2;
|
||||
+ int equivalent;
|
||||
+ } tests[] = {
|
||||
+ { NULL, NULL, -1 },
|
||||
+ { NULL, f1W, 0 },
|
||||
+ { f1W, NULL, 0 },
|
||||
+ { f1W, wine_test_dirW, 0 },
|
||||
+ { wine_test_dirW, f1W, 0 },
|
||||
+ { wine_test_dirW, wine_test_dirW, -1 },
|
||||
+ { f1W_subdir, f2W, 0 },
|
||||
+ { f1W, f1W, 1 },
|
||||
+ { not_existW, f1W, 0 },
|
||||
+ { f1W_backslash, f1W_subdir, 1 },
|
||||
+ { not_existW, not_existW, -1 },
|
||||
+ { f1W, not_existW, 0 },
|
||||
+ { f1W_long, f1W, 1 }
|
||||
+ };
|
||||
+
|
||||
+ memset(current_path, 0, MAX_PATH);
|
||||
+ GetCurrentDirectoryW(MAX_PATH, current_path);
|
||||
+ memset(temp_path, 0, MAX_PATH);
|
||||
+ GetTempPathW(MAX_PATH, temp_path);
|
||||
+ ok(SetCurrentDirectoryW(temp_path), "SetCurrentDirectoryW to temp_path failed\n");
|
||||
+ CreateDirectoryW(wine_test_dirW, NULL);
|
||||
+
|
||||
+ file = CreateFileW(f1W, 0, 0, NULL, CREATE_ALWAYS, 0, NULL);
|
||||
+ ok(file != INVALID_HANDLE_VALUE, "create file failed: INVALID_HANDLE_VALUE\n");
|
||||
+ CloseHandle(file);
|
||||
+ file = CreateFileW(f2W, 0, 0, NULL, CREATE_ALWAYS, 0, NULL);
|
||||
+ ok(file != INVALID_HANDLE_VALUE, "create file failed: INVALID_HANDLE_VALUE\n");
|
||||
+ CloseHandle(file);
|
||||
+
|
||||
+ for(i=0; i<ARRAY_SIZE(tests); i++) {
|
||||
+ errno = 0xdeadbeef;
|
||||
+ val = p_Equivalent(tests[i].path1, tests[i].path2);
|
||||
+ ok(tests[i].equivalent == val, "_Equivalent(): test %d expect: %d, got %d\n", i+1, tests[i].equivalent, val);
|
||||
+ ok(errno == 0xdeadbeef, "errno = %d\n", errno);
|
||||
+ }
|
||||
+
|
||||
+ ok(DeleteFileW(f1W), "expect wine_test_dir/f1 to exist\n");
|
||||
+ ok(DeleteFileW(f2W), "expect wine_test_dir/f2 to exist\n");
|
||||
+ ok(p_Remove_dir(wine_test_dirW), "expect wine_test_dir to exist\n");
|
||||
+ ok(SetCurrentDirectoryW(current_path), "SetCurrentDirectoryW failed\n");
|
||||
+}
|
||||
+
|
||||
START_TEST(msvcp140)
|
||||
{
|
||||
if(!init()) return;
|
||||
@@ -1383,5 +1451,6 @@ START_TEST(msvcp140)
|
||||
test_Last_write_time();
|
||||
test__Winerror_message();
|
||||
test__Winerror_map();
|
||||
+ test_Equivalent();
|
||||
FreeLibrary(msvcp);
|
||||
}
|
||||
--
|
||||
2.20.1
|
||||
|
1
patches/msvcp140-_Equivalent/definition
Normal file
1
patches/msvcp140-_Equivalent/definition
Normal file
@@ -0,0 +1 @@
|
||||
Fixes: [46465] msvcp140: Forward _Equivalent to tr2_sys__Equivalent_wchar
|
@@ -0,0 +1,65 @@
|
||||
From e4bd4d8277a24e36bf1e58b99a8b32093eb1e771 Mon Sep 17 00:00:00 2001
|
||||
From: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
|
||||
Date: Mon, 14 Jan 2019 15:04:56 +1100
|
||||
Subject: [PATCH] oleaut32: Support VT_DECIMAL in VarRound
|
||||
|
||||
Based of a patch by Carlos Chiriboga Calderon
|
||||
|
||||
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=26653
|
||||
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
|
||||
---
|
||||
dlls/oleaut32/tests/vartest.c | 4 ++--
|
||||
dlls/oleaut32/variant.c | 14 ++++++++++++++
|
||||
2 files changed, 16 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/dlls/oleaut32/tests/vartest.c b/dlls/oleaut32/tests/vartest.c
|
||||
index c00968e..92e044b 100644
|
||||
--- a/dlls/oleaut32/tests/vartest.c
|
||||
+++ b/dlls/oleaut32/tests/vartest.c
|
||||
@@ -3632,7 +3632,8 @@ static const struct decimal_round_t decimal_round_data[] = {
|
||||
{{ 2, 0, 0, 0, 199 }, { 2, 0, 0, 0, 199 }, 2},
|
||||
{{ 2, DECIMAL_NEG, 0, 0, 199 }, { 2, DECIMAL_NEG, 0, 0, 199 }, 2},
|
||||
{{ 2, DECIMAL_NEG, 0, 0, 55 }, { 2, DECIMAL_NEG, 0, 0, 6 }, 1},
|
||||
- {{ 2, 0, 0, 0, 55 }, { 2, 0, 0, 0, 6 }, 1}
|
||||
+ {{ 2, 0, 0, 0, 55 }, { 2, 0, 0, 0, 6 }, 1},
|
||||
+ {{ 2, 0, 0, 0, 1999 }, { 1, 0, 0, 0, 200 }, 1},
|
||||
};
|
||||
|
||||
static void test_VarRound(void)
|
||||
@@ -3735,7 +3736,6 @@ static void test_VarRound(void)
|
||||
S1(U1(*pdec)).Lo32 = ptr->source.Lo32;
|
||||
VariantInit(&vDst);
|
||||
hres = pVarRound(&v, ptr->dec, &vDst);
|
||||
- todo_wine
|
||||
ok(hres == S_OK, "%d: got 0x%08x\n", i, hres);
|
||||
if (hres == S_OK)
|
||||
{
|
||||
diff --git a/dlls/oleaut32/variant.c b/dlls/oleaut32/variant.c
|
||||
index 8781f3e..fcbef53 100644
|
||||
--- a/dlls/oleaut32/variant.c
|
||||
+++ b/dlls/oleaut32/variant.c
|
||||
@@ -5134,7 +5134,21 @@ HRESULT WINAPI VarRound(LPVARIANT pVarIn, int deci, LPVARIANT pVarOut)
|
||||
}
|
||||
V_VT(pVarOut) = V_VT(pVarIn);
|
||||
break;
|
||||
+ case VT_DECIMAL:
|
||||
+ {
|
||||
+ double dbl;
|
||||
|
||||
+ VarR8FromDec(&V_DECIMAL(pVarIn), &dbl);
|
||||
+
|
||||
+ if (dbl>0.0f)
|
||||
+ dbl = floor(dbl*pow(10,deci)+0.5);
|
||||
+ else
|
||||
+ dbl = ceil(dbl*pow(10,deci)-0.5);
|
||||
+
|
||||
+ V_VT(pVarOut)=VT_DECIMAL;
|
||||
+ VarDecFromR8(dbl, &V_DECIMAL(pVarOut));
|
||||
+ break;
|
||||
+ }
|
||||
/* cases we don't know yet */
|
||||
default:
|
||||
FIXME("unimplemented part, V_VT(pVarIn) == 0x%X, deci == %d\n",
|
||||
--
|
||||
1.9.1
|
||||
|
1
patches/oleaut32-VarRound/definition
Normal file
1
patches/oleaut32-VarRound/definition
Normal file
@@ -0,0 +1 @@
|
||||
Fixes: [26653] oleaut32: Support VT_DECIMAL in VarRound
|
@@ -52,13 +52,13 @@ usage()
|
||||
# Get the upstream commit sha
|
||||
upstream_commit()
|
||||
{
|
||||
echo "4397d9497608a3df45a5c519a37f5dcde5cc2301"
|
||||
echo "b353d7c9148414be7c928e3925f4075b1578c0a8"
|
||||
}
|
||||
|
||||
# Show version information
|
||||
version()
|
||||
{
|
||||
echo "Wine Staging 4.0-rc2"
|
||||
echo "Wine Staging 4.0-rc7"
|
||||
echo "Copyright (C) 2014-2018 the Wine Staging project authors."
|
||||
echo "Copyright (C) 2018 Alistair Leslie-Hughes"
|
||||
echo ""
|
||||
@@ -152,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"
|
||||
@@ -161,7 +162,6 @@ patch_enable_all ()
|
||||
enable_kernel32_FindFirstFile="$1"
|
||||
enable_kernel32_Job_Tests="$1"
|
||||
enable_kernel32_K32GetPerformanceInfo="$1"
|
||||
enable_kernel32_MoveFile="$1"
|
||||
enable_kernel32_NeedCurrentDirectoryForExePath="$1"
|
||||
enable_kernel32_NormalizeString="$1"
|
||||
enable_kernel32_PE_Loader_Fixes="$1"
|
||||
@@ -172,6 +172,8 @@ patch_enable_all ()
|
||||
enable_krnl386_exe16_Invalid_Console_Handles="$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"
|
||||
@@ -179,6 +181,7 @@ patch_enable_all ()
|
||||
enable_msi_MsiGetDatabaseState="$1"
|
||||
enable_msi_msi_vcl_get_cost="$1"
|
||||
enable_msidb_Implementation="$1"
|
||||
enable_msvcp140__Equivalent="$1"
|
||||
enable_msvcrt_Math_Precision="$1"
|
||||
enable_msvfw32_ICGetDisplayFormat="$1"
|
||||
enable_ntdll_APC_Performance="$1"
|
||||
@@ -249,6 +252,7 @@ patch_enable_all ()
|
||||
enable_oleaut32_OLEPictureImpl_SaveAsFile="$1"
|
||||
enable_oleaut32_OleLoadPicture="$1"
|
||||
enable_oleaut32_OleLoadPictureFile="$1"
|
||||
enable_oleaut32_VarRound="$1"
|
||||
enable_opengl32_wglChoosePixelFormat="$1"
|
||||
enable_packager_DllMain="$1"
|
||||
enable_quartz_MediaSeeking_Positions="$1"
|
||||
@@ -315,13 +319,14 @@ 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"
|
||||
enable_version_VerFindFileA="$1"
|
||||
enable_version_VerQueryValue="$1"
|
||||
enable_virtdisk_OpenVirtualDisk="$1"
|
||||
enable_vssapi_CreateVssBackupComponents="$1"
|
||||
enable_widl_SLTG_Typelib_Support="$1"
|
||||
enable_windowscodecs_32bppPRGBA="$1"
|
||||
enable_windowscodecs_GIF_Encoder="$1"
|
||||
@@ -352,6 +357,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"
|
||||
@@ -371,6 +377,7 @@ 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"
|
||||
@@ -612,6 +619,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"
|
||||
;;
|
||||
@@ -639,9 +649,6 @@ patch_enable ()
|
||||
kernel32-K32GetPerformanceInfo)
|
||||
enable_kernel32_K32GetPerformanceInfo="$2"
|
||||
;;
|
||||
kernel32-MoveFile)
|
||||
enable_kernel32_MoveFile="$2"
|
||||
;;
|
||||
kernel32-NeedCurrentDirectoryForExePath)
|
||||
enable_kernel32_NeedCurrentDirectoryForExePath="$2"
|
||||
;;
|
||||
@@ -672,6 +679,12 @@ patch_enable ()
|
||||
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"
|
||||
;;
|
||||
@@ -693,6 +706,9 @@ patch_enable ()
|
||||
msidb-Implementation)
|
||||
enable_msidb_Implementation="$2"
|
||||
;;
|
||||
msvcp140-_Equivalent)
|
||||
enable_msvcp140__Equivalent="$2"
|
||||
;;
|
||||
msvcrt-Math_Precision)
|
||||
enable_msvcrt_Math_Precision="$2"
|
||||
;;
|
||||
@@ -903,6 +919,9 @@ patch_enable ()
|
||||
oleaut32-OleLoadPictureFile)
|
||||
enable_oleaut32_OleLoadPictureFile="$2"
|
||||
;;
|
||||
oleaut32-VarRound)
|
||||
enable_oleaut32_VarRound="$2"
|
||||
;;
|
||||
opengl32-wglChoosePixelFormat)
|
||||
enable_opengl32_wglChoosePixelFormat="$2"
|
||||
;;
|
||||
@@ -1101,8 +1120,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"
|
||||
@@ -1122,6 +1141,9 @@ patch_enable ()
|
||||
virtdisk-OpenVirtualDisk)
|
||||
enable_virtdisk_OpenVirtualDisk="$2"
|
||||
;;
|
||||
vssapi-CreateVssBackupComponents)
|
||||
enable_vssapi_CreateVssBackupComponents="$2"
|
||||
;;
|
||||
widl-SLTG_Typelib_Support)
|
||||
enable_widl_SLTG_Typelib_Support="$2"
|
||||
;;
|
||||
@@ -1212,6 +1234,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"
|
||||
;;
|
||||
@@ -1269,6 +1294,9 @@ 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"
|
||||
;;
|
||||
@@ -3675,6 +3703,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:
|
||||
@@ -3853,23 +3896,6 @@ if test "$enable_kernel32_K32GetPerformanceInfo" -eq 1; then
|
||||
) >> "$patchlist"
|
||||
fi
|
||||
|
||||
# Patchset kernel32-MoveFile
|
||||
# |
|
||||
# | This patchset fixes the following Wine bugs:
|
||||
# | * [#14901] MoveFile with source == dest should succeed.
|
||||
# |
|
||||
# | Modified files:
|
||||
# | * dlls/appwiz.cpl/addons.c, dlls/urlmon/tests/url.c
|
||||
# |
|
||||
if test "$enable_kernel32_MoveFile" -eq 1; then
|
||||
patch_apply kernel32-MoveFile/0006-urlmon-tests-Add-test-for-opening-cache-file-with-DE.patch
|
||||
patch_apply kernel32-MoveFile/0007-appwiz.cpl-Copy-addons-to-cache-instead-of-moving.patch
|
||||
(
|
||||
printf '%s\n' '+ { "Sebastian Lackner", "urlmon/tests: Add test for opening cache file with DELETE access.", 1 },';
|
||||
printf '%s\n' '+ { "Sebastian Lackner", "appwiz.cpl: Copy addons to cache instead of moving.", 1 },';
|
||||
) >> "$patchlist"
|
||||
fi
|
||||
|
||||
# Patchset kernel32-NeedCurrentDirectoryForExePath
|
||||
# |
|
||||
# | This patchset fixes the following Wine bugs:
|
||||
@@ -4045,6 +4071,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:
|
||||
@@ -4166,6 +4222,21 @@ if test "$enable_msidb_Implementation" -eq 1; then
|
||||
) >> "$patchlist"
|
||||
fi
|
||||
|
||||
# Patchset msvcp140-_Equivalent
|
||||
# |
|
||||
# | This patchset fixes the following Wine bugs:
|
||||
# | * [#46465] msvcp140: Forward _Equivalent to tr2_sys__Equivalent_wchar
|
||||
# |
|
||||
# | Modified files:
|
||||
# | * dlls/msvcp140/msvcp140.spec, dlls/msvcp140/tests/msvcp140.c
|
||||
# |
|
||||
if test "$enable_msvcp140__Equivalent" -eq 1; then
|
||||
patch_apply msvcp140-_Equivalent/0001-msvcp140-Export-_Equivalent-and-port-tests.patch
|
||||
(
|
||||
printf '%s\n' '+ { "Gijs Vermeulen", "msvcp140: Export _Equivalent and port tests.", 1 },';
|
||||
) >> "$patchlist"
|
||||
fi
|
||||
|
||||
# Patchset msvcrt-Math_Precision
|
||||
# |
|
||||
# | This patchset fixes the following Wine bugs:
|
||||
@@ -5303,6 +5374,21 @@ if test "$enable_oleaut32_OleLoadPictureFile" -eq 1; then
|
||||
) >> "$patchlist"
|
||||
fi
|
||||
|
||||
# Patchset oleaut32-VarRound
|
||||
# |
|
||||
# | This patchset fixes the following Wine bugs:
|
||||
# | * [#26653] oleaut32: Support VT_DECIMAL in VarRound
|
||||
# |
|
||||
# | Modified files:
|
||||
# | * dlls/oleaut32/tests/vartest.c, dlls/oleaut32/variant.c
|
||||
# |
|
||||
if test "$enable_oleaut32_VarRound" -eq 1; then
|
||||
patch_apply oleaut32-VarRound/0001-oleaut32-Support-VT_DECIMAL-in-VarRound.patch
|
||||
(
|
||||
printf '%s\n' '+ { "Alistair Leslie-Hughes", "oleaut32: Support VT_DECIMAL in VarRound.", 1 },';
|
||||
) >> "$patchlist"
|
||||
fi
|
||||
|
||||
# Patchset opengl32-wglChoosePixelFormat
|
||||
# |
|
||||
# | This patchset fixes the following Wine bugs:
|
||||
@@ -6223,11 +6309,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
|
||||
|
||||
@@ -6470,18 +6560,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/tests/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 dialog is a child.", 2 },';
|
||||
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
|
||||
|
||||
@@ -6495,8 +6615,10 @@ fi
|
||||
# |
|
||||
if test "$enable_user32_msgbox_Support_WM_COPY_mesg" -eq 1; then
|
||||
patch_apply user32-msgbox-Support-WM_COPY-mesg/0001-user32-msgbox-Support-WM_COPY-Message.patch
|
||||
patch_apply user32-msgbox-Support-WM_COPY-mesg/0002-user32-msgbox-Use-a-windows-hook-to-trap-Ctrl-C.patch
|
||||
(
|
||||
printf '%s\n' '+ { "Alistair Leslie-Hughes", "user32/msgbox: Support WM_COPY Message.", 1 },';
|
||||
printf '%s\n' '+ { "Alistair Leslie-Hughes", "user32/msgbox: Use a windows hook to trap Ctrl+C.", 1 },';
|
||||
) >> "$patchlist"
|
||||
fi
|
||||
|
||||
@@ -6589,19 +6711,45 @@ if test "$enable_virtdisk_OpenVirtualDisk" -eq 1; then
|
||||
) >> "$patchlist"
|
||||
fi
|
||||
|
||||
# Patchset vssapi-CreateVssBackupComponents
|
||||
# |
|
||||
# | This patchset fixes the following Wine bugs:
|
||||
# | * [#37639] vssapi: Add ?CreateVssBackupComponents@@YGJPAPAVIVssBackupComponents@ stub
|
||||
# | * [#46088] vssapi: Add CreateVssBackupComponentsInternal stub
|
||||
# |
|
||||
# | Modified files:
|
||||
# | * dlls/vssapi/main.c, dlls/vssapi/vssapi.spec, include/Makefile.in, include/vsbackup.idl, include/vss.idl,
|
||||
# | include/vswriter.h, include/vswriter.idl
|
||||
# |
|
||||
if test "$enable_vssapi_CreateVssBackupComponents" -eq 1; then
|
||||
patch_apply vssapi-CreateVssBackupComponents/0001-include-Add-more-VSS_-typedefs.patch
|
||||
patch_apply vssapi-CreateVssBackupComponents/0002-include-Add-VSS-writer-enum.patch
|
||||
patch_apply vssapi-CreateVssBackupComponents/0003-include-Convert-header-vswriter-to-an-idl.patch
|
||||
patch_apply vssapi-CreateVssBackupComponents/0004-include-Add-vsbackup.idl.patch
|
||||
patch_apply vssapi-CreateVssBackupComponents/0005-vssapi-Add-CreateVssBackupComponentsInternal-stub.patch
|
||||
patch_apply vssapi-CreateVssBackupComponents/0006-vssapi-Add-CreateVssBackupComponents-YGJPAPAVIVssBac.patch
|
||||
(
|
||||
printf '%s\n' '+ { "Alistair Leslie-Hughes", "include: Add more VSS_* typedefs.", 1 },';
|
||||
printf '%s\n' '+ { "Alistair Leslie-Hughes", "include: Add VSS writer enum.", 1 },';
|
||||
printf '%s\n' '+ { "Alistair Leslie-Hughes", "include: Convert header vswriter to an idl.", 1 },';
|
||||
printf '%s\n' '+ { "Alistair Leslie-Hughes", "include: Add vsbackup.idl.", 1 },';
|
||||
printf '%s\n' '+ { "Alistair Leslie-Hughes", "vssapi: Add CreateVssBackupComponentsInternal stub.", 1 },';
|
||||
printf '%s\n' '+ { "Alistair Leslie-Hughes", "vssapi: Add ?CreateVssBackupComponents@@YGJPAPAVIVssBackupComponents@@@Z stub.", 1 },';
|
||||
) >> "$patchlist"
|
||||
fi
|
||||
|
||||
# Patchset windowscodecs-GIF_Encoder
|
||||
# |
|
||||
# | Modified files:
|
||||
# | * dlls/gdiplus/tests/image.c, dlls/windowscodecs/clsfactory.c, dlls/windowscodecs/converter.c,
|
||||
# | dlls/windowscodecs/gifformat.c, dlls/windowscodecs/info.c, dlls/windowscodecs/regsvr.c,
|
||||
# | dlls/windowscodecs/tests/converter.c, dlls/windowscodecs/tiffformat.c, dlls/windowscodecs/wincodecs_private.h,
|
||||
# | dlls/windowscodecs/tests/converter.c, dlls/windowscodecs/wincodecs_private.h,
|
||||
# | dlls/windowscodecs/windowscodecs_wincodec.idl
|
||||
# |
|
||||
if test "$enable_windowscodecs_GIF_Encoder" -eq 1; then
|
||||
patch_apply windowscodecs-GIF_Encoder/0007-windowscodecs-tests-Add-IWICBitmapEncoderInfo-test.patch
|
||||
patch_apply windowscodecs-GIF_Encoder/0008-windowscodecs-Add-initial-implementation-of-the-GIF-.patch
|
||||
patch_apply windowscodecs-GIF_Encoder/0010-windowscodecs-Initialize-empty-property-bag-in-GIF-e.patch
|
||||
patch_apply windowscodecs-GIF_Encoder/0014-windowscodecs-Fix-the-buffer-size-check-in-the-TIFF-.patch
|
||||
patch_apply windowscodecs-GIF_Encoder/0015-windowscodecs-Add-support-for-converting-to-8bppInde.patch
|
||||
patch_apply windowscodecs-GIF_Encoder/0016-windowscodecs-WICConvertBitmapSource-should-ask-IWIC.patch
|
||||
patch_apply windowscodecs-GIF_Encoder/0020-windowscodecs-Add-registration-of-the-GIF-encoder.patch
|
||||
@@ -6617,7 +6765,6 @@ if test "$enable_windowscodecs_GIF_Encoder" -eq 1; then
|
||||
printf '%s\n' '+ { "Alistair Leslie-Hughes", "windowscodecs/tests: Add IWICBitmapEncoderInfo test.", 1 },';
|
||||
printf '%s\n' '+ { "Dmitry Timoshkov", "windowscodecs: Add initial implementation of the GIF encoder.", 1 },';
|
||||
printf '%s\n' '+ { "Dmitry Timoshkov", "windowscodecs: Initialize empty property bag in GIF encoder'\''s CreateNewFrame implementation.", 1 },';
|
||||
printf '%s\n' '+ { "Dmitry Timoshkov", "windowscodecs: Fix the buffer size check in the TIFF decoder'\''s IWICBitmapFrameDecode::CopyPixels implementation.", 1 },';
|
||||
printf '%s\n' '+ { "Dmitry Timoshkov", "windowscodecs: Add support for converting to 8bppIndexed format to IWICFormatConverter.", 1 },';
|
||||
printf '%s\n' '+ { "Dmitry Timoshkov", "windowscodecs: WICConvertBitmapSource should ask IWICFormatConverter::Initialize to use an optimized palette.", 1 },';
|
||||
printf '%s\n' '+ { "Dmitry Timoshkov", "windowscodecs: Add registration of the GIF encoder.", 1 },';
|
||||
@@ -7112,6 +7259,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:
|
||||
@@ -7429,6 +7591,22 @@ 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:
|
||||
|
@@ -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
Reference in New Issue
Block a user