mirror of
https://gitlab.winehq.org/wine/wine-staging.git
synced 2024-09-13 09:17:20 -07:00
Rebase against 2deb8c2825afcb88a9f106b73aa1f4da9253fb87.
This commit is contained in:
parent
4d8896cc35
commit
7d496bf02c
@ -1,21 +1,21 @@
|
||||
From cdfc54a6363804cc8ee9146c3adbd51e431bcbf2 Mon Sep 17 00:00:00 2001
|
||||
From 4ff4b0b2c1a5aeabeec286dc76868acbccc8779d Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Lackner <sebastian@fds-team.de>
|
||||
Date: Sun, 5 Apr 2015 19:13:18 +0200
|
||||
Subject: dsound: Allow disabling of EAX support in the registry.
|
||||
Subject: [PATCH] dsound: Allow disabling of EAX support in the registry.
|
||||
|
||||
Based on a patch by Mark Harmstone.
|
||||
---
|
||||
dlls/dsound/buffer.c | 16 ++++++----------
|
||||
dlls/dsound/dsound_main.c | 9 ++++++++-
|
||||
dlls/dsound/dsound_main.c | 8 ++++++++
|
||||
dlls/dsound/dsound_private.h | 2 ++
|
||||
dlls/dsound/eax.c | 28 ++++++++++++++++++++++++++++
|
||||
4 files changed, 44 insertions(+), 11 deletions(-)
|
||||
4 files changed, 44 insertions(+), 10 deletions(-)
|
||||
|
||||
diff --git a/dlls/dsound/buffer.c b/dlls/dsound/buffer.c
|
||||
index b763514..ca93972 100644
|
||||
index 926dbab1289..6393656c9fa 100644
|
||||
--- a/dlls/dsound/buffer.c
|
||||
+++ b/dlls/dsound/buffer.c
|
||||
@@ -35,6 +35,7 @@
|
||||
@@ -34,6 +34,7 @@
|
||||
#include "dsconf.h"
|
||||
|
||||
WINE_DEFAULT_DEBUG_CHANNEL(dsound);
|
||||
@ -23,7 +23,7 @@ index b763514..ca93972 100644
|
||||
|
||||
/*******************************************************************************
|
||||
* IDirectSoundNotify
|
||||
@@ -1329,16 +1330,11 @@ static HRESULT WINAPI IKsPropertySetImpl_QuerySupport(IKsPropertySet *iface, REF
|
||||
@@ -1311,16 +1312,11 @@ static HRESULT WINAPI IKsPropertySetImpl_QuerySupport(IKsPropertySet *iface, REF
|
||||
|
||||
TRACE("(%p,%s,%d,%p)\n",This,debugstr_guid(guidPropSet),dwPropID,pTypeSupport);
|
||||
|
||||
@ -46,31 +46,21 @@ index b763514..ca93972 100644
|
||||
|
||||
return E_PROP_ID_UNSUPPORTED;
|
||||
diff --git a/dlls/dsound/dsound_main.c b/dlls/dsound/dsound_main.c
|
||||
index b349eb4..db2ca50 100644
|
||||
index fecb9489678..8b396a1939e 100644
|
||||
--- a/dlls/dsound/dsound_main.c
|
||||
+++ b/dlls/dsound/dsound_main.c
|
||||
@@ -94,8 +94,12 @@ WCHAR wine_vxd_drv[] = { 'w','i','n','e','m','m','.','v','x','d', 0 };
|
||||
@@ -93,6 +93,10 @@ const WCHAR wine_vxd_drv[] = L"winemm.vxd";
|
||||
/* All default settings, you most likely don't want to touch these, see wiki on UsefulRegistryKeys */
|
||||
int ds_hel_buflen = 32768 * 2;
|
||||
int ds_hq_buffers_max = 4;
|
||||
+BOOL ds_eax_enabled = FALSE;
|
||||
static HINSTANCE instance;
|
||||
|
||||
+
|
||||
+#define IS_OPTION_TRUE(ch) \
|
||||
+ ((ch) == 'y' || (ch) == 'Y' || (ch) == 't' || (ch) == 'T' || (ch) == '1')
|
||||
+
|
||||
|
||||
/*
|
||||
* Get a config key from either the app-specific or the default config
|
||||
*/
|
||||
@@ -108,7 +112,6 @@ static inline DWORD get_config_key( HKEY defkey, HKEY appkey, const char *name,
|
||||
return ERROR_FILE_NOT_FOUND;
|
||||
}
|
||||
|
||||
-
|
||||
/*
|
||||
* Setup the dsound options.
|
||||
*/
|
||||
@@ -149,11 +152,15 @@ void setup_dsound_options(void)
|
||||
@@ -147,11 +151,15 @@ void setup_dsound_options(void)
|
||||
if (!get_config_key( hkey, appkey, "HQBuffersMax", buffer, MAX_PATH ))
|
||||
ds_hq_buffers_max = atoi(buffer);
|
||||
|
||||
@ -87,7 +77,7 @@ index b349eb4..db2ca50 100644
|
||||
|
||||
static const char * get_device_id(LPCGUID pGuid)
|
||||
diff --git a/dlls/dsound/dsound_private.h b/dlls/dsound/dsound_private.h
|
||||
index 5a986ba..4e928a4 100644
|
||||
index bca2bf46601..47a42e62e7c 100644
|
||||
--- a/dlls/dsound/dsound_private.h
|
||||
+++ b/dlls/dsound/dsound_private.h
|
||||
@@ -37,6 +37,7 @@
|
||||
@ -98,7 +88,7 @@ index 5a986ba..4e928a4 100644
|
||||
|
||||
/*****************************************************************************
|
||||
* Predeclare the interface implementation structures
|
||||
@@ -230,6 +231,7 @@ LONG capped_refcount_dec(LONG *ref) DECLSPEC_HIDDEN;
|
||||
@@ -228,6 +229,7 @@ LONG capped_refcount_dec(LONG *ref) DECLSPEC_HIDDEN;
|
||||
HRESULT DSOUND_FullDuplexCreate(REFIID riid, void **ppv) DECLSPEC_HIDDEN;
|
||||
|
||||
/* eax.c */
|
||||
@ -107,7 +97,7 @@ index 5a986ba..4e928a4 100644
|
||||
ULONG dwPropID, void *pInstanceData, ULONG cbInstanceData, void *pPropData,
|
||||
ULONG cbPropData, ULONG *pcbReturned) DECLSPEC_HIDDEN;
|
||||
diff --git a/dlls/dsound/eax.c b/dlls/dsound/eax.c
|
||||
index e10156e..857f924 100644
|
||||
index ef802b95a7d..570207709f0 100644
|
||||
--- a/dlls/dsound/eax.c
|
||||
+++ b/dlls/dsound/eax.c
|
||||
@@ -809,6 +809,28 @@ void free_eax_buffer(IDirectSoundBufferImpl *dsb)
|
||||
@ -160,5 +150,5 @@ index e10156e..857f924 100644
|
||||
buf->device->eax.using_eax = TRUE;
|
||||
|
||||
--
|
||||
2.8.0
|
||||
2.30.2
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 25450e6cf073bde4f26fec40c59224087017f332 Mon Sep 17 00:00:00 2001
|
||||
From 173f555d0d4639122bd47d30310152263c1b27bf Mon Sep 17 00:00:00 2001
|
||||
From: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
|
||||
Date: Fri, 1 Jan 2021 13:32:48 +1100
|
||||
Subject: [PATCH] dsound: Enable EAX by default
|
||||
@ -8,7 +8,7 @@ Subject: [PATCH] dsound: Enable EAX by default
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/dlls/dsound/dsound_main.c b/dlls/dsound/dsound_main.c
|
||||
index e12c2208199..bda9a446a08 100644
|
||||
index 8b396a1939e..44463992e92 100644
|
||||
--- a/dlls/dsound/dsound_main.c
|
||||
+++ b/dlls/dsound/dsound_main.c
|
||||
@@ -93,7 +93,7 @@ const WCHAR wine_vxd_drv[] = L"winemm.vxd";
|
||||
@ -17,9 +17,9 @@ index e12c2208199..bda9a446a08 100644
|
||||
int ds_hq_buffers_max = 4;
|
||||
-BOOL ds_eax_enabled = FALSE;
|
||||
+BOOL ds_eax_enabled = TRUE;
|
||||
static HINSTANCE instance;
|
||||
|
||||
#define IS_OPTION_TRUE(ch) \
|
||||
((ch) == 'y' || (ch) == 'Y' || (ch) == 't' || (ch) == 'T' || (ch) == '1')
|
||||
--
|
||||
2.29.2
|
||||
2.30.2
|
||||
|
||||
|
@ -1,28 +1,28 @@
|
||||
From fe24cfe8b8e99c4e41fc9d147d7815bce37d2fa0 Mon Sep 17 00:00:00 2001
|
||||
From cdbe11004fe8b7fb87fff18f2a458259be02fe2d Mon Sep 17 00:00:00 2001
|
||||
From: "Alexander E. Patrakov" <patrakov at gmail.com>
|
||||
Date: Thu, 7 Aug 2014 17:15:00 -0600
|
||||
Subject: dsound: Add a linear resampler for use with a large number of mixing
|
||||
buffers. (rev 2)
|
||||
Subject: [PATCH] dsound: Add a linear resampler for use with a large number of
|
||||
mixing buffers. (rev 2)
|
||||
|
||||
---
|
||||
dlls/dsound/dsound_main.c | 5 +++++
|
||||
dlls/dsound/dsound_main.c | 5 ++++
|
||||
dlls/dsound/dsound_private.h | 1 +
|
||||
dlls/dsound/mixer.c | 48 +++++++++++++++++++++++++++++++++++++++++---
|
||||
dlls/dsound/mixer.c | 48 +++++++++++++++++++++++++++++++++---
|
||||
3 files changed, 51 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/dlls/dsound/dsound_main.c b/dlls/dsound/dsound_main.c
|
||||
index 112ce78..b349eb4 100644
|
||||
index f3bce6062fe..fecb9489678 100644
|
||||
--- a/dlls/dsound/dsound_main.c
|
||||
+++ b/dlls/dsound/dsound_main.c
|
||||
@@ -93,6 +93,7 @@ WCHAR wine_vxd_drv[] = { 'w','i','n','e','m','m','.','v','x','d', 0 };
|
||||
@@ -92,6 +92,7 @@ const WCHAR wine_vxd_drv[] = L"winemm.vxd";
|
||||
|
||||
/* All default settings, you most likely don't want to touch these, see wiki on UsefulRegistryKeys */
|
||||
int ds_hel_buflen = 32768 * 2;
|
||||
+int ds_hq_buffers_max = 4;
|
||||
static HINSTANCE instance;
|
||||
|
||||
/*
|
||||
@@ -145,10 +146,14 @@ void setup_dsound_options(void)
|
||||
* Get a config key from either the app-specific or the default config
|
||||
@@ -143,10 +144,14 @@ void setup_dsound_options(void)
|
||||
if (!get_config_key( hkey, appkey, "HelBuflen", buffer, MAX_PATH ))
|
||||
ds_hel_buflen = atoi(buffer);
|
||||
|
||||
@ -38,7 +38,7 @@ index 112ce78..b349eb4 100644
|
||||
|
||||
static const char * get_device_id(LPCGUID pGuid)
|
||||
diff --git a/dlls/dsound/dsound_private.h b/dlls/dsound/dsound_private.h
|
||||
index b980453..b6bce1d 100644
|
||||
index bdb9ebee544..d154e67b0a0 100644
|
||||
--- a/dlls/dsound/dsound_private.h
|
||||
+++ b/dlls/dsound/dsound_private.h
|
||||
@@ -35,6 +35,7 @@
|
||||
@ -50,10 +50,10 @@ index b980453..b6bce1d 100644
|
||||
/*****************************************************************************
|
||||
* Predeclare the interface implementation structures
|
||||
diff --git a/dlls/dsound/mixer.c b/dlls/dsound/mixer.c
|
||||
index dec8ffd..c358385 100644
|
||||
index a6402b09eff..28f32e9d092 100644
|
||||
--- a/dlls/dsound/mixer.c
|
||||
+++ b/dlls/dsound/mixer.c
|
||||
@@ -278,7 +278,47 @@ static UINT cp_fields_noresample(IDirectSoundBufferImpl *dsb, UINT count)
|
||||
@@ -295,7 +295,47 @@ static UINT cp_fields_noresample(IDirectSoundBufferImpl *dsb, UINT count)
|
||||
return count;
|
||||
}
|
||||
|
||||
@ -102,7 +102,7 @@ index dec8ffd..c358385 100644
|
||||
{
|
||||
UINT i, channel;
|
||||
UINT istride = dsb->pwfx->nBlockAlign;
|
||||
@@ -349,9 +389,11 @@ static void cp_fields(IDirectSoundBufferImpl *dsb, UINT count, LONG64 *freqAccNu
|
||||
@@ -374,9 +414,11 @@ static void cp_fields(IDirectSoundBufferImpl *dsb, UINT count, LONG64 *freqAccNu
|
||||
DWORD ipos, adv;
|
||||
|
||||
if (dsb->freqAdjustNum == dsb->freqAdjustDen)
|
||||
@ -117,5 +117,5 @@ index dec8ffd..c358385 100644
|
||||
ipos = dsb->sec_mixpos + adv * dsb->pwfx->nBlockAlign;
|
||||
if (ipos >= dsb->buflen) {
|
||||
--
|
||||
2.8.0
|
||||
2.30.2
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 22b05332c3dc04e44327931a307e899d9a59d074 Mon Sep 17 00:00:00 2001
|
||||
From c076b2fef32e83de8e1ee2bee7a4a4ad997fcfff Mon Sep 17 00:00:00 2001
|
||||
From: Zebediah Figura <z.figura12@gmail.com>
|
||||
Date: Tue, 26 Jun 2018 18:44:44 -0500
|
||||
Subject: [PATCH] kernel32/tests: Zigzag test.
|
||||
@ -9,11 +9,11 @@ The primary function is to check for races. The secondary function is to measure
|
||||
1 file changed, 79 insertions(+)
|
||||
|
||||
diff --git a/dlls/kernel32/tests/sync.c b/dlls/kernel32/tests/sync.c
|
||||
index 42184d22517..82a236879e7 100644
|
||||
index 7df1b1406b4..666318cb2c3 100644
|
||||
--- a/dlls/kernel32/tests/sync.c
|
||||
+++ b/dlls/kernel32/tests/sync.c
|
||||
@@ -3123,6 +3123,84 @@ static void test_QueueUserAPC(void)
|
||||
CloseHandle(thread);
|
||||
@@ -3135,6 +3135,84 @@ static void test_QueueUserAPC(void)
|
||||
ok( ret == WAIT_OBJECT_0, "SleepEx returned %u\n", ret);
|
||||
}
|
||||
|
||||
+static int zigzag_state, zigzag_count[2], zigzag_stop;
|
||||
@ -97,7 +97,7 @@ index 42184d22517..82a236879e7 100644
|
||||
START_TEST(sync)
|
||||
{
|
||||
char **argv;
|
||||
@@ -3188,5 +3266,6 @@ START_TEST(sync)
|
||||
@@ -3200,5 +3278,6 @@ START_TEST(sync)
|
||||
test_srwlock_example();
|
||||
test_alertable_wait();
|
||||
test_apc_deadlock();
|
||||
@ -105,5 +105,5 @@ index 42184d22517..82a236879e7 100644
|
||||
test_crit_section();
|
||||
}
|
||||
--
|
||||
2.30.1
|
||||
2.30.2
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 10fbfd11d5fd45b0e84c1b987dab7831e8567ece Mon Sep 17 00:00:00 2001
|
||||
From cc5f08165c512cecaafc19bb4157d2bea31f4770 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
|
||||
Date: Mon, 5 Sep 2016 15:31:29 +0200
|
||||
Subject: [PATCH] inseng: Implement CIF reader and download functions.
|
||||
@ -2249,7 +2249,7 @@ index 82c0b4d5fe1..7ae46fad3a7 100644
|
||||
+@ stdcall GetICifRWFileFromFile(ptr str)
|
||||
@ stub PurgeDownloadDirectory
|
||||
diff --git a/dlls/inseng/inseng_main.c b/dlls/inseng/inseng_main.c
|
||||
index c9a5988478c..c465e2d3ed7 100644
|
||||
index 2c95a2e72bd..6a926ccb379 100644
|
||||
--- a/dlls/inseng/inseng_main.c
|
||||
+++ b/dlls/inseng/inseng_main.c
|
||||
@@ -2,6 +2,7 @@
|
||||
@ -2260,7 +2260,7 @@ index c9a5988478c..c465e2d3ed7 100644
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
@@ -28,19 +29,70 @@
|
||||
@@ -28,17 +29,68 @@
|
||||
#include "winuser.h"
|
||||
#include "ole2.h"
|
||||
#include "rpcproxy.h"
|
||||
@ -2276,8 +2276,6 @@ index c9a5988478c..c465e2d3ed7 100644
|
||||
|
||||
WINE_DEFAULT_DEBUG_CHANNEL(inseng);
|
||||
|
||||
static HINSTANCE instance;
|
||||
|
||||
+enum thread_operation
|
||||
+{
|
||||
+ OP_DOWNLOAD,
|
||||
@ -2332,7 +2330,7 @@ index c9a5988478c..c465e2d3ed7 100644
|
||||
};
|
||||
|
||||
static inline InstallEngine *impl_from_IInstallEngine2(IInstallEngine2 *iface)
|
||||
@@ -48,6 +100,250 @@ static inline InstallEngine *impl_from_IInstallEngine2(IInstallEngine2 *iface)
|
||||
@@ -46,6 +98,250 @@ static inline InstallEngine *impl_from_IInstallEngine2(IInstallEngine2 *iface)
|
||||
return CONTAINING_RECORD(iface, InstallEngine, IInstallEngine2_iface);
|
||||
}
|
||||
|
||||
@ -2583,7 +2581,7 @@ index c9a5988478c..c465e2d3ed7 100644
|
||||
static HRESULT WINAPI InstallEngine_QueryInterface(IInstallEngine2 *iface, REFIID riid, void **ppv)
|
||||
{
|
||||
InstallEngine *This = impl_from_IInstallEngine2(iface);
|
||||
@@ -61,13 +357,16 @@ static HRESULT WINAPI InstallEngine_QueryInterface(IInstallEngine2 *iface, REFII
|
||||
@@ -59,13 +355,16 @@ static HRESULT WINAPI InstallEngine_QueryInterface(IInstallEngine2 *iface, REFII
|
||||
}else if(IsEqualGUID(&IID_IInstallEngine2, riid)) {
|
||||
TRACE("(%p)->(IID_IInstallEngine2 %p)\n", This, ppv);
|
||||
*ppv = &This->IInstallEngine2_iface;
|
||||
@ -2602,7 +2600,7 @@ index c9a5988478c..c465e2d3ed7 100644
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
@@ -88,181 +387,726 @@ static ULONG WINAPI InstallEngine_Release(IInstallEngine2 *iface)
|
||||
@@ -86,181 +385,726 @@ static ULONG WINAPI InstallEngine_Release(IInstallEngine2 *iface)
|
||||
|
||||
TRACE("(%p) ref=%d\n", This, ref);
|
||||
|
||||
@ -3365,7 +3363,7 @@ index c9a5988478c..c465e2d3ed7 100644
|
||||
InstallEngine_QueryInterface,
|
||||
InstallEngine_AddRef,
|
||||
InstallEngine_Release,
|
||||
@@ -292,6 +1136,70 @@ static const IInstallEngine2Vtbl InstallEngine2Vtbl = {
|
||||
@@ -290,6 +1134,70 @@ static const IInstallEngine2Vtbl InstallEngine2Vtbl = {
|
||||
InstallEngine2_GetICifFile
|
||||
};
|
||||
|
||||
@ -3436,7 +3434,7 @@ index c9a5988478c..c465e2d3ed7 100644
|
||||
static HRESULT WINAPI ClassFactory_QueryInterface(IClassFactory *iface, REFIID riid, void **ppv)
|
||||
{
|
||||
*ppv = NULL;
|
||||
@@ -336,12 +1244,14 @@ static HRESULT WINAPI InstallEngineCF_CreateInstance(IClassFactory *iface, IUnkn
|
||||
@@ -334,12 +1242,14 @@ static HRESULT WINAPI InstallEngineCF_CreateInstance(IClassFactory *iface, IUnkn
|
||||
|
||||
TRACE("(%p %s %p)\n", outer, debugstr_guid(riid), ppv);
|
||||
|
||||
@ -3864,5 +3862,5 @@ index 8a3f4c4d270..82927418a99 100644
|
||||
+cpp_quote("HRESULT WINAPI GetICifFileFromFile(ICifFile **, const char *);")
|
||||
+cpp_quote("HRESULT WINAPI GetICifRWFileFromFile(ICifRWFile **, const char *);")
|
||||
--
|
||||
2.20.1
|
||||
2.30.2
|
||||
|
||||
|
@ -1,64 +1,76 @@
|
||||
From dd0c922c02e793aba906cfad855c2474a3c2fe3b Mon Sep 17 00:00:00 2001
|
||||
From 0572bef41d224ebb69c6c3fd647bddf844a3a29d Mon Sep 17 00:00:00 2001
|
||||
From: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
|
||||
Date: Tue, 9 Jul 2019 14:13:28 +1000
|
||||
Subject: [PATCH] user32: Improve GetKeyboardLayoutList
|
||||
Subject: [PATCH] user32: Do not enumerate the registry in
|
||||
GetKeyboardLayoutList().
|
||||
|
||||
This function returns the current list of *installed* Keyboard layouts
|
||||
not the complete list from the registry.
|
||||
---
|
||||
dlls/user32/driver.c | 26 --------------------------
|
||||
dlls/user32/input.c | 32 +++-----------------------------
|
||||
dlls/user32/tests/input.c | 35 +++++++++++++++++++++++++++++++++++
|
||||
2 files changed, 35 insertions(+), 26 deletions(-)
|
||||
2 files changed, 38 insertions(+), 29 deletions(-)
|
||||
|
||||
diff --git a/dlls/user32/driver.c b/dlls/user32/driver.c
|
||||
index 7ac77141696..56009667b00 100644
|
||||
--- a/dlls/user32/driver.c
|
||||
+++ b/dlls/user32/driver.c
|
||||
@@ -198,8 +198,6 @@ static void CDECL nulldrv_Beep(void)
|
||||
|
||||
static UINT CDECL nulldrv_GetKeyboardLayoutList( INT size, HKL *layouts )
|
||||
diff --git a/dlls/user32/input.c b/dlls/user32/input.c
|
||||
index 97be83369d9..42145c13105 100644
|
||||
--- a/dlls/user32/input.c
|
||||
+++ b/dlls/user32/input.c
|
||||
@@ -1336,9 +1336,7 @@ BOOL WINAPI BlockInput(BOOL fBlockIt)
|
||||
*/
|
||||
UINT WINAPI GetKeyboardLayoutList( INT size, HKL *layouts )
|
||||
{
|
||||
- HKEY hKeyKeyboard;
|
||||
- DWORD rc;
|
||||
INT count = 0;
|
||||
ULONG_PTR baselayout;
|
||||
LANGID langid;
|
||||
@@ -211,30 +209,6 @@ static UINT CDECL nulldrv_GetKeyboardLayoutList( INT size, HKL *layouts )
|
||||
else
|
||||
baselayout |= baselayout << 16;
|
||||
- WCHAR klid[KL_NAMELENGTH], value[5];
|
||||
- DWORD value_size, count, tmp, i = 0;
|
||||
- HKEY hkey;
|
||||
+ DWORD count;
|
||||
HKL layout;
|
||||
|
||||
- /* Enumerate the Registry */
|
||||
- rc = RegOpenKeyW(HKEY_LOCAL_MACHINE,L"System\\CurrentControlSet\\Control\\Keyboard Layouts",&hKeyKeyboard);
|
||||
- if (rc == ERROR_SUCCESS)
|
||||
TRACE_(keyboard)( "size %d, layouts %p.\n", size, layouts );
|
||||
@@ -1346,37 +1344,13 @@ UINT WINAPI GetKeyboardLayoutList( INT size, HKL *layouts )
|
||||
if ((count = USER_Driver->pGetKeyboardLayoutList( size, layouts )) != ~0) return count;
|
||||
|
||||
layout = get_locale_kbd_layout();
|
||||
- count = 0;
|
||||
|
||||
- count++;
|
||||
if (size && layouts)
|
||||
{
|
||||
- layouts[count - 1] = layout;
|
||||
- if (count == size) return count;
|
||||
+ layouts[0] = layout;
|
||||
}
|
||||
|
||||
- if (!RegOpenKeyW( HKEY_LOCAL_MACHINE, L"System\\CurrentControlSet\\Control\\Keyboard Layouts", &hkey ))
|
||||
- {
|
||||
- do {
|
||||
- WCHAR szKeyName[9];
|
||||
- HKL layout;
|
||||
- rc = RegEnumKeyW(hKeyKeyboard, count, szKeyName, 9);
|
||||
- if (rc == ERROR_SUCCESS)
|
||||
- while (!RegEnumKeyW( hkey, i++, klid, ARRAY_SIZE(klid) ))
|
||||
- {
|
||||
- tmp = wcstoul( klid, NULL, 16 );
|
||||
- value_size = sizeof(value);
|
||||
- if (!RegGetValueW( hkey, klid, L"Layout Id", RRF_RT_REG_SZ, NULL, (void *)&value, &value_size ))
|
||||
- tmp = MAKELONG( LOWORD( tmp ), 0xf000 | (wcstoul( value, NULL, 16 ) & 0xfff) );
|
||||
-
|
||||
- if (layout == UlongToHandle( tmp )) continue;
|
||||
-
|
||||
- count++;
|
||||
- if (size && layouts)
|
||||
- {
|
||||
- layout = (HKL)(ULONG_PTR)wcstoul(szKeyName,NULL,16);
|
||||
- if (baselayout != 0 && layout == (HKL)baselayout)
|
||||
- baselayout = 0; /* found in the registry do not add again */
|
||||
- if (size && layouts)
|
||||
- {
|
||||
- if (count >= size ) break;
|
||||
- layouts[count] = layout;
|
||||
- }
|
||||
- count ++;
|
||||
- layouts[count - 1] = UlongToHandle( tmp );
|
||||
- if (count == size) break;
|
||||
- }
|
||||
- } while (rc == ERROR_SUCCESS);
|
||||
- RegCloseKey(hKeyKeyboard);
|
||||
- }
|
||||
- RegCloseKey( hkey );
|
||||
- }
|
||||
-
|
||||
/* make sure our base layout is on the list */
|
||||
if (baselayout != 0)
|
||||
{
|
||||
- return count;
|
||||
+ return 1;
|
||||
}
|
||||
|
||||
|
||||
diff --git a/dlls/user32/tests/input.c b/dlls/user32/tests/input.c
|
||||
index 2397b4104e4..a5c8521c0e9 100644
|
||||
index c4c361575cd..070c22a4349 100644
|
||||
--- a/dlls/user32/tests/input.c
|
||||
+++ b/dlls/user32/tests/input.c
|
||||
@@ -4322,6 +4322,40 @@ static void test_SendInput(void)
|
||||
@@ -4363,6 +4363,40 @@ static void test_SendInput(void)
|
||||
DestroyWindow( hwnd );
|
||||
}
|
||||
|
||||
@ -99,7 +111,7 @@ index 2397b4104e4..a5c8521c0e9 100644
|
||||
START_TEST(input)
|
||||
{
|
||||
char **argv;
|
||||
@@ -4364,6 +4398,7 @@ START_TEST(input)
|
||||
@@ -4405,6 +4439,7 @@ START_TEST(input)
|
||||
test_GetRawInputBuffer();
|
||||
test_RegisterRawInputDevices();
|
||||
test_rawinput(argv[0]);
|
||||
|
@ -51,7 +51,7 @@ usage()
|
||||
# Get the upstream commit sha
|
||||
upstream_commit()
|
||||
{
|
||||
echo "ca03802a456e7cf4efd834edfeddc483ac72e4b5"
|
||||
echo "2deb8c2825afcb88a9f106b73aa1f4da9253fb87"
|
||||
}
|
||||
|
||||
# Show version information
|
||||
@ -2661,7 +2661,7 @@ fi
|
||||
# | * [#47439] loader: Add Keyboard Layouts registry enteries.
|
||||
# |
|
||||
# | Modified files:
|
||||
# | * dlls/user32/driver.c, dlls/user32/tests/input.c, loader/wine.inf.in
|
||||
# | * dlls/user32/input.c, dlls/user32/tests/input.c, loader/wine.inf.in
|
||||
# |
|
||||
if test "$enable_loader_KeyboardLayouts" -eq 1; then
|
||||
patch_apply loader-KeyboardLayouts/0001-loader-Add-Keyboard-Layouts-registry-enteries.patch
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 464489a607fc03a7a157e779c0c152e833cfab33 Mon Sep 17 00:00:00 2001
|
||||
From 407cf938ab003880cc74273e172fbce2b1eec539 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
|
||||
Date: Mon, 8 May 2017 23:33:45 +0200
|
||||
Subject: [PATCH] shell32: Add security property tab.
|
||||
@ -62,10 +62,10 @@ index 1324a5449a3..3fc9d205c25 100644
|
||||
/* FIXME: Some will be unused until desktop.ini support is implemented */
|
||||
IDS_PROGRAMS "Programs"
|
||||
diff --git a/dlls/shell32/shlview_cmenu.c b/dlls/shell32/shlview_cmenu.c
|
||||
index 04ac0b6fd3c..3ea61dd730d 100644
|
||||
index e7c1cf16e10..b3bcd37fa56 100644
|
||||
--- a/dlls/shell32/shlview_cmenu.c
|
||||
+++ b/dlls/shell32/shlview_cmenu.c
|
||||
@@ -39,12 +39,131 @@
|
||||
@@ -39,14 +39,133 @@
|
||||
|
||||
#include "shresdef.h"
|
||||
#include "shlwapi.h"
|
||||
@ -80,6 +80,8 @@ index 04ac0b6fd3c..3ea61dd730d 100644
|
||||
+
|
||||
WINE_DEFAULT_DEBUG_CHANNEL(shell);
|
||||
|
||||
#define FCIDM_BASE 0x7000
|
||||
|
||||
+/* According to https://blogs.msdn.microsoft.com/oldnewthing/20070726-00/?p=25833 */
|
||||
+static const SI_ACCESS access_rights_files[] =
|
||||
+{
|
||||
@ -197,7 +199,7 @@ index 04ac0b6fd3c..3ea61dd730d 100644
|
||||
typedef struct
|
||||
{
|
||||
IContextMenu3 IContextMenu3_iface;
|
||||
@@ -615,6 +734,269 @@ error:
|
||||
@@ -649,6 +768,269 @@ error:
|
||||
heap_free(props);
|
||||
}
|
||||
|
||||
@ -467,7 +469,7 @@ index 04ac0b6fd3c..3ea61dd730d 100644
|
||||
#define MAX_PROP_PAGES 99
|
||||
|
||||
static void DoOpenProperties(ContextMenu *This, HWND hwnd)
|
||||
@@ -697,6 +1079,7 @@ static void DoOpenProperties(ContextMenu *This, HWND hwnd)
|
||||
@@ -731,6 +1113,7 @@ static void DoOpenProperties(ContextMenu *This, HWND hwnd)
|
||||
if (SUCCEEDED(ret))
|
||||
{
|
||||
init_file_properties_pages(lpDo, Properties_AddPropSheetCallback, (LPARAM)&psh);
|
||||
|
@ -1,15 +1,15 @@
|
||||
From 103583fcc07412ede80a00edc1f07a9d0ada28e3 Mon Sep 17 00:00:00 2001
|
||||
From 9272578ec7000b28be8e1454f4e2dd2ee7017146 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
|
||||
Date: Sat, 2 Apr 2016 01:39:40 +0200
|
||||
Subject: [PATCH 3/7] shell32: Implement insert/paste for item context menus.
|
||||
Subject: [PATCH] shell32: Implement insert/paste for item context menus.
|
||||
|
||||
---
|
||||
dlls/shell32/shell32.rc | 1 +
|
||||
dlls/shell32/shlview_cmenu.c | 64 +++++++++++++++++++++++++++++++++++++++-----
|
||||
dlls/shell32/shlview_cmenu.c | 64 ++++++++++++++++++++++++++++++++----
|
||||
2 files changed, 58 insertions(+), 7 deletions(-)
|
||||
|
||||
diff --git a/dlls/shell32/shell32.rc b/dlls/shell32/shell32.rc
|
||||
index 6585416..0c75786 100644
|
||||
index ff859381593..e7324c9af5e 100644
|
||||
--- a/dlls/shell32/shell32.rc
|
||||
+++ b/dlls/shell32/shell32.rc
|
||||
@@ -99,6 +99,7 @@ BEGIN
|
||||
@ -21,10 +21,10 @@ index 6585416..0c75786 100644
|
||||
MENUITEM "Create &Link", FCIDM_SHVIEW_CREATELINK
|
||||
MENUITEM "&Delete", FCIDM_SHVIEW_DELETE
|
||||
diff --git a/dlls/shell32/shlview_cmenu.c b/dlls/shell32/shlview_cmenu.c
|
||||
index 677bb3f..0394da3 100644
|
||||
index f8b6a8572de..0e72e13c80f 100644
|
||||
--- a/dlls/shell32/shlview_cmenu.c
|
||||
+++ b/dlls/shell32/shlview_cmenu.c
|
||||
@@ -59,6 +59,8 @@ typedef struct
|
||||
@@ -66,6 +66,8 @@ typedef struct
|
||||
BOOL desktop;
|
||||
} ContextMenu;
|
||||
|
||||
@ -33,8 +33,8 @@ index 677bb3f..0394da3 100644
|
||||
static inline ContextMenu *impl_from_IContextMenu3(IContextMenu3 *iface)
|
||||
{
|
||||
return CONTAINING_RECORD(iface, ContextMenu, IContextMenu3_iface);
|
||||
@@ -123,6 +125,30 @@ static ULONG WINAPI ContextMenu_Release(IContextMenu3 *iface)
|
||||
return ref;
|
||||
@@ -175,6 +177,30 @@ static UINT max_menu_id(HMENU hmenu, UINT offset, UINT last)
|
||||
return max_id;
|
||||
}
|
||||
|
||||
+static BOOL CheckClipboard(void)
|
||||
@ -64,7 +64,7 @@ index 677bb3f..0394da3 100644
|
||||
static HRESULT WINAPI ItemMenu_QueryContextMenu(
|
||||
IContextMenu3 *iface,
|
||||
HMENU hmenu,
|
||||
@@ -133,6 +159,7 @@ static HRESULT WINAPI ItemMenu_QueryContextMenu(
|
||||
@@ -185,6 +211,7 @@ static HRESULT WINAPI ItemMenu_QueryContextMenu(
|
||||
{
|
||||
ContextMenu *This = impl_from_IContextMenu3(iface);
|
||||
INT uIDMax;
|
||||
@ -72,7 +72,7 @@ index 677bb3f..0394da3 100644
|
||||
|
||||
TRACE("(%p)->(%p %d 0x%x 0x%x 0x%x )\n", This, hmenu, indexMenu, idCmdFirst, idCmdLast, uFlags);
|
||||
|
||||
@@ -169,6 +196,9 @@ static HRESULT WINAPI ItemMenu_QueryContextMenu(
|
||||
@@ -222,6 +249,9 @@ static HRESULT WINAPI ItemMenu_QueryContextMenu(
|
||||
|
||||
SetMenuDefaultItem(hmenu, 0, MF_BYPOSITION);
|
||||
|
||||
@ -80,9 +80,9 @@ index 677bb3f..0394da3 100644
|
||||
+ IShellFolder_GetAttributesOf(This->parent, 1, (LPCITEMIDLIST*)This->apidl, &attr);
|
||||
+
|
||||
if(uFlags & ~CMF_CANRENAME)
|
||||
RemoveMenu(hmenu, FCIDM_SHVIEW_RENAME, MF_BYCOMMAND);
|
||||
RemoveMenu(hmenu, FCIDM_SHVIEW_RENAME - FCIDM_BASE + idCmdFirst, MF_BYCOMMAND);
|
||||
else
|
||||
@@ -179,16 +209,14 @@ static HRESULT WINAPI ItemMenu_QueryContextMenu(
|
||||
@@ -232,16 +262,14 @@ static HRESULT WINAPI ItemMenu_QueryContextMenu(
|
||||
if (!This->apidl || This->cidl > 1)
|
||||
enable |= MFS_DISABLED;
|
||||
else
|
||||
@ -93,16 +93,16 @@ index 677bb3f..0394da3 100644
|
||||
enable |= (attr & SFGAO_CANRENAME) ? MFS_ENABLED : MFS_DISABLED;
|
||||
- }
|
||||
|
||||
EnableMenuItem(hmenu, FCIDM_SHVIEW_RENAME, enable);
|
||||
EnableMenuItem(hmenu, FCIDM_SHVIEW_RENAME - FCIDM_BASE + idCmdFirst, enable);
|
||||
}
|
||||
|
||||
+ if ((attr & (SFGAO_FILESYSTEM|SFGAO_FOLDER)) != (SFGAO_FILESYSTEM|SFGAO_FOLDER) || !CheckClipboard())
|
||||
+ RemoveMenu(hmenu, FCIDM_SHVIEW_INSERT + idCmdFirst, MF_BYCOMMAND);
|
||||
+ RemoveMenu(hmenu, FCIDM_SHVIEW_INSERT - FCIDM_BASE + idCmdFirst, MF_BYCOMMAND);
|
||||
+
|
||||
return MAKE_HRESULT(SEVERITY_SUCCESS, 0, uIDMax-idCmdFirst);
|
||||
}
|
||||
return MAKE_HRESULT(SEVERITY_SUCCESS, 0, 0);
|
||||
@@ -447,6 +475,10 @@ static HRESULT WINAPI ItemMenu_InvokeCommand(
|
||||
@@ -814,6 +842,10 @@ static HRESULT WINAPI ItemMenu_InvokeCommand(
|
||||
TRACE("Verb FCIDM_SHVIEW_CUT\n");
|
||||
DoCopyOrCut(This, lpcmi->hwnd, TRUE);
|
||||
break;
|
||||
@ -113,7 +113,7 @@ index 677bb3f..0394da3 100644
|
||||
case FCIDM_SHVIEW_PROPERTIES:
|
||||
TRACE("Verb FCIDM_SHVIEW_PROPERTIES\n");
|
||||
DoOpenProperties(This, lpcmi->hwnd);
|
||||
@@ -478,6 +510,7 @@ static HRESULT WINAPI ItemMenu_GetCommandString(IContextMenu3 *iface, UINT_PTR c
|
||||
@@ -845,6 +877,7 @@ static HRESULT WINAPI ItemMenu_GetCommandString(IContextMenu3 *iface, UINT_PTR c
|
||||
static const WCHAR exploreW[] = {'e','x','p','l','o','r','e',0};
|
||||
static const WCHAR cutW[] = {'c','u','t',0};
|
||||
static const WCHAR copyW[] = {'c','o','p','y',0};
|
||||
@ -121,7 +121,7 @@ index 677bb3f..0394da3 100644
|
||||
static const WCHAR linkW[] = {'l','i','n','k',0};
|
||||
static const WCHAR deleteW[] = {'d','e','l','e','t','e',0};
|
||||
static const WCHAR propertiesW[] = {'p','r','o','p','e','r','t','i','e','s',0};
|
||||
@@ -511,6 +544,9 @@ static HRESULT WINAPI ItemMenu_GetCommandString(IContextMenu3 *iface, UINT_PTR c
|
||||
@@ -878,6 +911,9 @@ static HRESULT WINAPI ItemMenu_GetCommandString(IContextMenu3 *iface, UINT_PTR c
|
||||
case FCIDM_SHVIEW_COPY:
|
||||
cmdW = copyW;
|
||||
break;
|
||||
@ -131,7 +131,7 @@ index 677bb3f..0394da3 100644
|
||||
case FCIDM_SHVIEW_CREATELINK:
|
||||
cmdW = linkW;
|
||||
break;
|
||||
@@ -726,8 +762,22 @@ static BOOL DoPaste(ContextMenu *This)
|
||||
@@ -1177,8 +1213,22 @@ static BOOL DoPaste(ContextMenu *This)
|
||||
if (psfFrom)
|
||||
{
|
||||
/* get source and destination shellfolder */
|
||||
@ -157,5 +157,5 @@ index 677bb3f..0394da3 100644
|
||||
|
||||
/* do the copy/move */
|
||||
--
|
||||
2.7.4
|
||||
2.30.2
|
||||
|
||||
|
@ -1 +1 @@
|
||||
ca03802a456e7cf4efd834edfeddc483ac72e4b5
|
||||
2deb8c2825afcb88a9f106b73aa1f4da9253fb87
|
||||
|
Loading…
Reference in New Issue
Block a user