Rebase against 975d0632a19efd41338cb73a97f1b0bdbe7bc0cc.

This commit is contained in:
Alistair Leslie-Hughes 2021-09-21 09:08:59 +10:00
parent 2771ab8cee
commit a1db1dfc16
31 changed files with 313 additions and 327 deletions

View File

@ -1,4 +1,4 @@
From 0e65ed108eb8bab24668f9a58c5757a3ad36104f Mon Sep 17 00:00:00 2001
From ffea83bdf88a4b7d35c2f9a7e1a773d3110b5771 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Tue, 12 Apr 2016 01:02:34 +0200
Subject: [PATCH] uiautomationcore: Add dll and stub some functions.
@ -9,7 +9,7 @@ Subject: [PATCH] uiautomationcore: Add dll and stub some functions.
2 files changed, 48 insertions(+), 6 deletions(-)
diff --git a/dlls/uiautomationcore/Makefile.in b/dlls/uiautomationcore/Makefile.in
index 5c4acb232a4..412f1dbbe19 100644
index 71ea7b99c94..3e6c2d7688a 100644
--- a/dlls/uiautomationcore/Makefile.in
+++ b/dlls/uiautomationcore/Makefile.in
@@ -1,5 +1,6 @@
@ -17,10 +17,10 @@ index 5c4acb232a4..412f1dbbe19 100644
IMPORTLIB = uiautomationcore
+IMPORTS = uuid
EXTRADLLFLAGS = -mno-cygwin -Wb,--prefer-native
EXTRADLLFLAGS = -Wb,--prefer-native
diff --git a/dlls/uiautomationcore/uia_main.c b/dlls/uiautomationcore/uia_main.c
index 42014af6035..61e165d83c0 100644
index 2dada95af80..a32ef552f15 100644
--- a/dlls/uiautomationcore/uia_main.c
+++ b/dlls/uiautomationcore/uia_main.c
@@ -1,4 +1,5 @@
@ -121,5 +121,5 @@ index 42014af6035..61e165d83c0 100644
}
--
2.20.1
2.33.0

View File

@ -1,4 +1,4 @@
From 50bd67fb1fd718eaaf9f5600fba7ab86e4b71a76 Mon Sep 17 00:00:00 2001
From a5045503cf3310058cc64814ff9626f4877a13bb Mon Sep 17 00:00:00 2001
From: Dmitry Timoshkov <dmitry@baikal.ru>
Date: Fri, 5 Jul 2019 13:20:23 +0800
Subject: [PATCH] cryptext: Implement CryptExtOpenCER.
@ -17,10 +17,10 @@ Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
create mode 100644 dlls/cryptext/tests/cryptext.c
diff --git a/configure b/configure
index 2b20133cd65..f3ef3aef3a9 100755
index db592f0868d..ba13abacc46 100755
--- a/configure
+++ b/configure
@@ -20350,6 +20350,7 @@ wine_fn_config_makefile dlls/crypt32/tests enable_tests
@@ -20291,6 +20291,7 @@ wine_fn_config_makefile dlls/crypt32/tests enable_tests
wine_fn_config_makefile dlls/cryptdlg enable_cryptdlg
wine_fn_config_makefile dlls/cryptdll enable_cryptdll
wine_fn_config_makefile dlls/cryptext enable_cryptext
@ -29,10 +29,10 @@ index 2b20133cd65..f3ef3aef3a9 100755
wine_fn_config_makefile dlls/cryptnet/tests enable_tests
wine_fn_config_makefile dlls/cryptsp enable_cryptsp
diff --git a/configure.ac b/configure.ac
index 24f5c8847d6..f71fb6f401d 100644
index d449b88fb19..af75e0e80ab 100644
--- a/configure.ac
+++ b/configure.ac
@@ -3083,6 +3083,7 @@ WINE_CONFIG_MAKEFILE(dlls/crypt32/tests)
@@ -3029,6 +3029,7 @@ WINE_CONFIG_MAKEFILE(dlls/crypt32/tests)
WINE_CONFIG_MAKEFILE(dlls/cryptdlg)
WINE_CONFIG_MAKEFILE(dlls/cryptdll)
WINE_CONFIG_MAKEFILE(dlls/cryptext)
@ -41,7 +41,7 @@ index 24f5c8847d6..f71fb6f401d 100644
WINE_CONFIG_MAKEFILE(dlls/cryptnet/tests)
WINE_CONFIG_MAKEFILE(dlls/cryptsp)
diff --git a/dlls/cryptext/Makefile.in b/dlls/cryptext/Makefile.in
index 3acce60ae88..590074a806f 100644
index 0ec2b8a2045..76accca43eb 100644
--- a/dlls/cryptext/Makefile.in
+++ b/dlls/cryptext/Makefile.in
@@ -1,4 +1,5 @@
@ -49,10 +49,10 @@ index 3acce60ae88..590074a806f 100644
+MODULE = cryptext.dll
+IMPORTS = crypt32 cryptui user32
EXTRADLLFLAGS = -mno-cygwin -Wb,--prefer-native
EXTRADLLFLAGS = -Wb,--prefer-native
diff --git a/dlls/cryptext/cryptext.spec b/dlls/cryptext/cryptext.spec
index 0dba38e3934..911ab2f4ba4 100644
index ee3e155f457..24b4794c198 100644
--- a/dlls/cryptext/cryptext.spec
+++ b/dlls/cryptext/cryptext.spec
@@ -12,8 +12,8 @@
@ -227,5 +227,5 @@ index 00000000000..cc62a772b59
+ test_CryptExtOpenCER();
+}
--
2.20.1
2.33.0

View File

@ -1,4 +1,4 @@
From 95708c8fdfcb45cfe667cc9a68ea774c2be52169 Mon Sep 17 00:00:00 2001
From e3a6b75cbce69e18742135fdd8e105132d8ca9dd Mon Sep 17 00:00:00 2001
From: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Date: Fri, 30 Jul 2021 15:57:29 +1000
Subject: [PATCH] d3dx11_43: Implement D3DX11GetImageInfoFromMemory
@ -14,7 +14,7 @@ Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
4 files changed, 178 insertions(+), 9 deletions(-)
diff --git a/dlls/d3dx11_42/Makefile.in b/dlls/d3dx11_42/Makefile.in
index c34f53a930c..9e1379937a7 100644
index 7fcce18a8e1..78ca5f707a7 100644
--- a/dlls/d3dx11_42/Makefile.in
+++ b/dlls/d3dx11_42/Makefile.in
@@ -2,6 +2,7 @@ EXTRADEFS = -DD3DX11_SDK_VERSION=42
@ -24,9 +24,9 @@ index c34f53a930c..9e1379937a7 100644
+DELAYIMPORTS = windowscodecs
PARENTSRC = ../d3dx11_43
EXTRADLLFLAGS = -mno-cygwin -Wb,--prefer-native
EXTRADLLFLAGS = -Wb,--prefer-native
diff --git a/dlls/d3dx11_43/Makefile.in b/dlls/d3dx11_43/Makefile.in
index b69f3f1ce02..ed23958a671 100644
index ccd4319ace2..6854c73ebcb 100644
--- a/dlls/d3dx11_43/Makefile.in
+++ b/dlls/d3dx11_43/Makefile.in
@@ -2,6 +2,7 @@ EXTRADEFS = -DD3DX11_SDK_VERSION=43
@ -35,7 +35,7 @@ index b69f3f1ce02..ed23958a671 100644
IMPORTS = d3dcompiler
+DELAYIMPORTS = windowscodecs
EXTRADLLFLAGS = -mno-cygwin -Wb,--prefer-native
EXTRADLLFLAGS = -Wb,--prefer-native
diff --git a/dlls/d3dx11_43/main.c b/dlls/d3dx11_43/main.c
index 950f6d76f5c..00c1db35e42 100644
@ -250,5 +250,5 @@ index ee6808d76d6..8addf4f84d3 100644
SIZE_T data_size, D3DX11_IMAGE_LOAD_INFO *load_info, ID3DX11ThreadPump *pump,
ID3D11ShaderResourceView **view, HRESULT *hresult)
--
2.32.0
2.33.0

View File

@ -1,4 +1,4 @@
From 30c01cb08a47b706a4ae49ddbd28f39cb065b5c9 Mon Sep 17 00:00:00 2001
From f73bf747238e157fc73f8b62941d3d8aa4b6bb33 Mon Sep 17 00:00:00 2001
From: Sebastian Lackner <sebastian@fds-team.de>
Date: Mon, 6 Oct 2014 05:06:06 +0200
Subject: [PATCH] dbghelp: Always check for debug symbols in BINDIR.
@ -9,7 +9,7 @@ Subject: [PATCH] dbghelp: Always check for debug symbols in BINDIR.
2 files changed, 2 insertions(+), 1 deletion(-)
diff --git a/dlls/dbghelp/Makefile.in b/dlls/dbghelp/Makefile.in
index 076c50323dda..ddb69c96dd42 100644
index b2a5e2037e9..7140cc9f181 100644
--- a/dlls/dbghelp/Makefile.in
+++ b/dlls/dbghelp/Makefile.in
@@ -1,6 +1,6 @@
@ -19,12 +19,12 @@ index 076c50323dda..ddb69c96dd42 100644
+EXTRADEFS = -D_IMAGEHLP_SOURCE_ -DBINDIR="L\"${bindir}\""
DELAYIMPORTS = version
EXTRADLLFLAGS = -mno-cygwin
C_SRCS = \
diff --git a/dlls/dbghelp/elf_module.c b/dlls/dbghelp/elf_module.c
index e44629f016e1..923608f35e31 100644
index 553b212c526..3584a27953e 100644
--- a/dlls/dbghelp/elf_module.c
+++ b/dlls/dbghelp/elf_module.c
@@ -1436,6 +1436,7 @@ static BOOL elf_search_and_load_file(struct process* pcs, const WCHAR* filename,
@@ -1451,6 +1451,7 @@ static BOOL elf_search_and_load_file(struct process* pcs, const WCHAR* filename,
load_elf.elf_info = elf_info;
ret = search_unix_path(filename, process_getenv(pcs, L"LD_LIBRARY_PATH"), elf_load_file_cb, &load_elf)
@ -33,5 +33,5 @@ index e44629f016e1..923608f35e31 100644
}
--
2.26.2
2.33.0

View File

@ -1,20 +1,20 @@
From f02dd0110ae95771a6e44a608c724d964fab7f68 Mon Sep 17 00:00:00 2001
From 2af1ec49d958424e2b78f52ae3e3daca1d562b35 Mon Sep 17 00:00:00 2001
From: Sebastian Lackner <sebastian@fds-team.de>
Date: Sat, 28 Mar 2015 08:18:10 +0100
Subject: dsound: Apply filters before sound is multiplied to speakers.
Subject: [PATCH] dsound: Apply filters before sound is multiplied to speakers.
Based on a patch by Mark Harmstone.
---
dlls/dsound/dsound.c | 2 +
dlls/dsound/dsound_private.h | 4 +-
dlls/dsound/mixer.c | 110 ++++++++++++++++++++++++-----------
3 files changed, 81 insertions(+), 35 deletions(-)
dlls/dsound/mixer.c | 109 ++++++++++++++++++++++++-----------
3 files changed, 80 insertions(+), 35 deletions(-)
diff --git a/dlls/dsound/dsound.c b/dlls/dsound/dsound.c
index 71ede7d8..cc8b4444 100644
index 3085d86e5b5..91fa94b943e 100644
--- a/dlls/dsound/dsound.c
+++ b/dlls/dsound/dsound.c
@@ -233,6 +233,8 @@ static ULONG DirectSoundDevice_Release(DirectSoundDevice * device)
@@ -234,6 +234,8 @@ static ULONG DirectSoundDevice_Release(DirectSoundDevice * device)
if(device->mmdevice)
IMMDevice_Release(device->mmdevice);
CloseHandle(device->sleepev);
@ -24,10 +24,10 @@ index 71ede7d8..cc8b4444 100644
HeapFree(GetProcessHeap(), 0, device->cp_buffer);
HeapFree(GetProcessHeap(), 0, device->buffer);
diff --git a/dlls/dsound/dsound_private.h b/dlls/dsound/dsound_private.h
index c9ae7fd7..371cc5fb 100644
index 2408f80ba82..2e23f222b03 100644
--- a/dlls/dsound/dsound_private.h
+++ b/dlls/dsound/dsound_private.h
@@ -90,8 +90,8 @@ struct DirectSoundDevice
@@ -89,8 +89,8 @@ struct DirectSoundDevice
int speaker_num[DS_MAX_CHANNELS];
int num_speakers;
int lfe_channel;
@ -39,11 +39,11 @@ index c9ae7fd7..371cc5fb 100644
DSVOLUMEPAN volpan;
diff --git a/dlls/dsound/mixer.c b/dlls/dsound/mixer.c
index 1643e7d4..d4dbdc15 100644
index 1877d61cbf0..13bff1b9ae7 100644
--- a/dlls/dsound/mixer.c
+++ b/dlls/dsound/mixer.c
@@ -278,23 +278,22 @@ static inline float get_current_sample(const IDirectSoundBufferImpl *dsb,
return dsb->get(dsb, mixpos % dsb->buflen, channel);
@@ -283,10 +283,9 @@ static inline float get_current_sample(const IDirectSoundBufferImpl *dsb,
return dsb->get(dsb, buffer + (mixpos % buflen), channel);
}
-static UINT cp_fields_noresample(IDirectSoundBufferImpl *dsb, UINT count)
@ -51,13 +51,17 @@ index 1643e7d4..d4dbdc15 100644
{
UINT istride = dsb->pwfx->nBlockAlign;
- UINT ostride = dsb->device->pwfx->nChannels * sizeof(float);
UINT committed_samples = 0;
DWORD channel, i;
for (i = 0; i < count; i++)
@@ -302,17 +301,16 @@ static UINT cp_fields_noresample(IDirectSoundBufferImpl *dsb, UINT count)
for (; i < count; i++)
for (channel = 0; channel < dsb->mix_channels; channel++)
- dsb->put(dsb, i * ostride, channel, get_current_sample(dsb,
- dsb->sec_mixpos + i * istride, channel));
+ put(dsb, i * ostride, channel, get_current_sample(dsb,
+ dsb->sec_mixpos + i * istride, channel));
- dsb->put(dsb, i * ostride, channel, get_current_sample(dsb, dsb->buffer->memory,
+ put(dsb, i * ostride, channel, get_current_sample(dsb, dsb->buffer->memory,
dsb->buflen, dsb->sec_mixpos + i * istride, channel));
-
return count;
}
@ -71,16 +75,16 @@ index 1643e7d4..d4dbdc15 100644
UINT channels = dsb->mix_channels;
LONG64 freqAcc_start = *freqAccNum;
@@ -322,7 +321,7 @@ static UINT cp_fields_resample_lq(IDirectSoundBufferImpl *dsb, UINT count, LONG6
float s1 = get_current_sample(dsb, idx, channel);
float s2 = get_current_sample(dsb, idx + istride, channel);
@@ -340,7 +338,7 @@ static UINT cp_fields_resample_lq(IDirectSoundBufferImpl *dsb, UINT count, LONG6
float s1 = get_current_sample(dsb, dsb->buffer->memory, dsb->buflen, idx, channel);
float s2 = get_current_sample(dsb, dsb->buffer->memory, dsb->buflen, idx + istride, channel);
float result = s1 * cur_freqAcc2 + s2 * cur_freqAcc;
- dsb->put(dsb, i * ostride, channel, result);
+ put(dsb, i * ostride, channel, result);
}
}
@@ -330,11 +329,11 @@ static UINT cp_fields_resample_lq(IDirectSoundBufferImpl *dsb, UINT count, LONG6
@@ -348,11 +346,11 @@ static UINT cp_fields_resample_lq(IDirectSoundBufferImpl *dsb, UINT count, LONG6
return max_ipos;
}
@ -91,10 +95,10 @@ index 1643e7d4..d4dbdc15 100644
UINT i, channel;
UINT istride = dsb->pwfx->nBlockAlign;
- UINT ostride = dsb->device->pwfx->nChannels * sizeof(float);
UINT committed_samples = 0;
LONG64 freqAcc_start = *freqAccNum;
LONG64 freqAcc_end = freqAcc_start + count * dsb->freqAdjustNum;
@@ -395,7 +394,7 @@ static UINT cp_fields_resample_hq(IDirectSoundBufferImpl *dsb, UINT count, LONG6
@@ -422,7 +420,7 @@ static UINT cp_fields_resample_hq(IDirectSoundBufferImpl *dsb, UINT count, LONG6
float* cache = &intermediate[channel * required_input + ipos];
for (j = 0; j < fir_used; j++)
sum += fir_copy[j] * cache[j];
@ -103,7 +107,7 @@ index 1643e7d4..d4dbdc15 100644
}
}
@@ -404,16 +403,17 @@ static UINT cp_fields_resample_hq(IDirectSoundBufferImpl *dsb, UINT count, LONG6
@@ -431,16 +429,17 @@ static UINT cp_fields_resample_hq(IDirectSoundBufferImpl *dsb, UINT count, LONG6
return max_ipos;
}
@ -125,7 +129,7 @@ index 1643e7d4..d4dbdc15 100644
ipos = dsb->sec_mixpos + adv * dsb->pwfx->nBlockAlign;
if (ipos >= dsb->buflen) {
@@ -443,6 +443,21 @@ static inline DWORD DSOUND_BufPtrDiff(DWORD buflen, DWORD ptr1, DWORD ptr2)
@@ -476,6 +475,21 @@ static inline DWORD DSOUND_BufPtrDiff(DWORD buflen, DWORD ptr1, DWORD ptr2)
return buflen + ptr1 - ptr2;
}
}
@ -147,7 +151,7 @@ index 1643e7d4..d4dbdc15 100644
/**
* Mix at most the given amount of data into the allocated temporary buffer
* of the given secondary buffer, starting from the dsb's first currently
@@ -458,34 +473,63 @@ static inline DWORD DSOUND_BufPtrDiff(DWORD buflen, DWORD ptr1, DWORD ptr2)
@@ -491,34 +505,63 @@ static inline DWORD DSOUND_BufPtrDiff(DWORD buflen, DWORD ptr1, DWORD ptr2)
*/
static void DSOUND_MixToTemporary(IDirectSoundBufferImpl *dsb, DWORD frames)
{
@ -231,5 +235,5 @@ index 1643e7d4..d4dbdc15 100644
static void DSOUND_MixerVol(const IDirectSoundBufferImpl *dsb, INT frames)
--
2.19.1
2.33.0

View File

@ -1,22 +1,22 @@
From 43637cb46c48e84e7f1b127ba4427900c76f2470 Mon Sep 17 00:00:00 2001
From f4e3bbf1a91a5a99d703d3fee9a81a5c5089ab79 Mon Sep 17 00:00:00 2001
From: Mark Harmstone <mark@harmstone.com>
Date: Fri, 27 Mar 2015 20:48:19 +0000
Subject: dsound: Support getting and setting EAX buffer properties.
Subject: [PATCH] dsound: Support getting and setting EAX buffer properties.
---
dlls/dsound/buffer.c | 2 ++
dlls/dsound/dsound_eax.h | 4 +++
dlls/dsound/dsound_private.h | 2 ++
dlls/dsound/eax.c | 64 ++++++++++++++++++++++++++++++++++++++++++++
dlls/dsound/eax.c | 64 ++++++++++++++++++++++++++++++++++++
4 files changed, 72 insertions(+)
diff --git a/dlls/dsound/buffer.c b/dlls/dsound/buffer.c
index 0596ce3..1c318f5 100644
index b7a0fb26c4b..0aff7c96842 100644
--- a/dlls/dsound/buffer.c
+++ b/dlls/dsound/buffer.c
@@ -1092,6 +1092,8 @@ HRESULT IDirectSoundBufferImpl_Create(
/* calculate fragment size and write lead */
DSOUND_RecalcFormat(dsb);
@@ -1127,6 +1127,8 @@ HRESULT secondarybuffer_create(DirectSoundDevice *device, const DSBUFFERDESC *ds
return DSERR_OUTOFMEMORY;
}
+ dsb->eax.reverb_mix = EAX_REVERBMIX_USEDISTANCE;
+
@ -24,7 +24,7 @@ index 0596ce3..1c318f5 100644
dsb->ds3db_ds3db.dwSize = sizeof(DS3DBUFFER);
dsb->ds3db_ds3db.vPosition.x = 0.0;
diff --git a/dlls/dsound/dsound_eax.h b/dlls/dsound/dsound_eax.h
index c90d82d..2ee83b9 100644
index c90d82d9a3f..2ee83b94ff9 100644
--- a/dlls/dsound/dsound_eax.h
+++ b/dlls/dsound/dsound_eax.h
@@ -119,6 +119,10 @@ typedef struct {
@ -39,10 +39,10 @@ index c90d82d..2ee83b9 100644
}
#endif
diff --git a/dlls/dsound/dsound_private.h b/dlls/dsound/dsound_private.h
index c16f770..c732b52 100644
index a11379f0f88..9b537ad80a5 100644
--- a/dlls/dsound/dsound_private.h
+++ b/dlls/dsound/dsound_private.h
@@ -176,6 +176,8 @@ struct IDirectSoundBufferImpl
@@ -177,6 +177,8 @@ struct IDirectSoundBufferImpl
int num_filters;
DSFilter* filters;
@ -52,13 +52,14 @@ index c16f770..c732b52 100644
};
diff --git a/dlls/dsound/eax.c b/dlls/dsound/eax.c
index cdd03be..3931681 100644
index cdd03becbee..3931681d295 100644
--- a/dlls/dsound/eax.c
+++ b/dlls/dsound/eax.c
@@ -179,6 +179,38 @@ HRESULT WINAPI EAX_Get(IDirectSoundBufferImpl *buf, REFGUID guidPropSet,
@@ -178,6 +178,38 @@ HRESULT WINAPI EAX_Get(IDirectSoundBufferImpl *buf, REFGUID guidPropSet,
return E_PROP_ID_UNSUPPORTED;
}
return S_OK;
+ return S_OK;
+ } else if (IsEqualGUID(&DSPROPSETID_EAXBUFFER_ReverbProperties, guidPropSet)) {
+ EAXBUFFER_REVERBPROPERTIES *props;
+
@ -90,14 +91,14 @@ index cdd03be..3931681 100644
+ return E_PROP_ID_UNSUPPORTED;
+ }
+
+ return S_OK;
return S_OK;
}
return E_PROP_ID_UNSUPPORTED;
@@ -276,6 +308,38 @@ HRESULT WINAPI EAX_Set(IDirectSoundBufferImpl *buf, REFGUID guidPropSet,
@@ -275,6 +307,38 @@ HRESULT WINAPI EAX_Set(IDirectSoundBufferImpl *buf, REFGUID guidPropSet,
return E_PROP_ID_UNSUPPORTED;
}
return S_OK;
+ return S_OK;
+ } else if (IsEqualGUID(&DSPROPSETID_EAXBUFFER_ReverbProperties, guidPropSet)) {
+ EAXBUFFER_REVERBPROPERTIES *props;
+
@ -129,10 +130,9 @@ index cdd03be..3931681 100644
+ return E_PROP_ID_UNSUPPORTED;
+ }
+
+ return S_OK;
return S_OK;
}
return E_PROP_ID_UNSUPPORTED;
--
2.3.3
2.33.0

View File

@ -1,4 +1,4 @@
From 66c0779d339d5d27753e6f0ac6509741b908cca1 Mon Sep 17 00:00:00 2001
From 3760db8daceee555842425400af01de2075b4568 Mon Sep 17 00:00:00 2001
From: Sebastian Lackner <sebastian@fds-team.de>
Date: Sat, 4 Apr 2015 21:09:18 +0200
Subject: [PATCH] dsound: Various improvements to EAX support.
@ -16,28 +16,19 @@ update it later when necessary (-> much faster). Moreover, to avoid unnecessary
locking, we initialize the EAX-specific properties always (for both the device and
the buffers).
---
dlls/dsound/buffer.c | 6 ++--
dlls/dsound/buffer.c | 4 ++-
dlls/dsound/dsound.c | 2 ++
dlls/dsound/dsound_eax.h | 1 +
dlls/dsound/dsound_private.h | 1 +
dlls/dsound/eax.c | 68 ++++++++++++++++--------------------
5 files changed, 37 insertions(+), 41 deletions(-)
5 files changed, 37 insertions(+), 39 deletions(-)
diff --git a/dlls/dsound/buffer.c b/dlls/dsound/buffer.c
index 030f0849fed..252122d0374 100644
index 6b7414d34ff..b1efa0d3012 100644
--- a/dlls/dsound/buffer.c
+++ b/dlls/dsound/buffer.c
@@ -1084,8 +1084,6 @@ HRESULT secondarybuffer_create(DirectSoundDevice *device, const DSBUFFERDESC *ds
/* calculate fragment size and write lead */
DSOUND_RecalcFormat(dsb);
- dsb->eax.reverb_mix = EAX_REVERBMIX_USEDISTANCE;
-
if (dsb->dsbd.dwFlags & DSBCAPS_CTRL3D) {
dsb->ds3db_ds3db.dwSize = sizeof(DS3DBUFFER);
dsb->ds3db_ds3db.vPosition.x = 0.0;
@@ -1168,7 +1166,7 @@ HRESULT IDirectSoundBufferImpl_Duplicate(
HRESULT hres = DS_OK;
@@ -1213,7 +1213,7 @@ HRESULT IDirectSoundBufferImpl_Duplicate(
VOID *committedbuff;
TRACE("(%p,%p,%p)\n", device, ppdsb, pdsb);
- dsb = HeapAlloc(GetProcessHeap(),0,sizeof(*dsb));
@ -45,7 +36,7 @@ index 030f0849fed..252122d0374 100644
if (dsb == NULL) {
WARN("out of memory\n");
*ppdsb = NULL;
@@ -1205,6 +1203,8 @@ HRESULT IDirectSoundBufferImpl_Duplicate(
@@ -1261,6 +1261,8 @@ HRESULT IDirectSoundBufferImpl_Duplicate(
InitializeSRWLock(&dsb->lock);
@ -80,10 +71,10 @@ index a650108f570..a555a75e458 100644
float *SampleBuffer;
diff --git a/dlls/dsound/dsound_private.h b/dlls/dsound/dsound_private.h
index 110dfe2c207..bca2bf46601 100644
index 43e62626161..065fe820055 100644
--- a/dlls/dsound/dsound_private.h
+++ b/dlls/dsound/dsound_private.h
@@ -234,6 +234,7 @@ HRESULT WINAPI EAX_Get(IDirectSoundBufferImpl *buf, REFGUID guidPropSet,
@@ -239,6 +239,7 @@ HRESULT WINAPI EAX_Get(IDirectSoundBufferImpl *buf, REFGUID guidPropSet,
HRESULT WINAPI EAX_Set(IDirectSoundBufferImpl *buf, REFGUID guidPropSet,
ULONG dwPropID, void *pInstanceData, ULONG cbInstanceData, void *pPropData,
ULONG cbPropData) DECLSPEC_HIDDEN;
@ -92,7 +83,7 @@ index 110dfe2c207..bca2bf46601 100644
void init_eax_buffer(IDirectSoundBufferImpl *dsb) DECLSPEC_HIDDEN;
void process_eax_buffer(IDirectSoundBufferImpl *dsb, float *buf, DWORD count) DECLSPEC_HIDDEN;
diff --git a/dlls/dsound/eax.c b/dlls/dsound/eax.c
index a05b00e1c02..535ff92d44d 100644
index a05b00e1c02..ef802b95a7d 100644
--- a/dlls/dsound/eax.c
+++ b/dlls/dsound/eax.c
@@ -114,6 +114,8 @@ static const float LATE_LINE_MULTIPLIER = 4.0f;
@ -253,5 +244,5 @@ index a05b00e1c02..535ff92d44d 100644
switch (dwPropID) {
case DSPROPERTY_EAXBUFFER_ALL:
--
2.27.0
2.33.0

View File

@ -87,8 +87,8 @@ index a6402b09eff..28f32e9d092 100644
+ * So far, this possibility of saving calls to
+ * get_current_sample() is ignored.
+ */
+ float s1 = get_current_sample(dsb, idx, channel);
+ float s2 = get_current_sample(dsb, idx + istride, channel);
+ float s1 = get_current_sample(dsb, dsb->buffer->memory, dsb->buflen, idx, channel);
+ float s2 = get_current_sample(dsb, dsb->buffer->memory, dsb->buflen, idx + istride, channel);
+ float result = s1 * cur_freqAcc2 + s2 * cur_freqAcc;
+ dsb->put(dsb, i * ostride, channel, result);
+ }

View File

@ -1,7 +1,7 @@
From a1676237114c4c827e45e9adde3a190bc62b88d0 Mon Sep 17 00:00:00 2001
From f9da0ca4c7012918b5c8660ebe8a9ea0c74f05b0 Mon Sep 17 00:00:00 2001
From: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Date: Sun, 29 Aug 2021 13:26:53 +1000
Subject: [PATCH 1/3] fltmgr.sys: Implement FltBuildDefaultSecurityDescriptor
Subject: [PATCH] fltmgr.sys: Implement FltBuildDefaultSecurityDescriptor
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
---
@ -12,12 +12,12 @@ Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
4 files changed, 76 insertions(+), 3 deletions(-)
diff --git a/dlls/fltmgr.sys/Makefile.in b/dlls/fltmgr.sys/Makefile.in
index cbe124c2480..706f87b183b 100644
index ba106a43831..bb1f34b4896 100644
--- a/dlls/fltmgr.sys/Makefile.in
+++ b/dlls/fltmgr.sys/Makefile.in
@@ -1,5 +1,6 @@
MODULE = fltmgr.sys
EXTRADLLFLAGS = -mno-cygwin -Wl,--subsystem,native
EXTRADLLFLAGS = -Wl,--subsystem,native
+IMPORTS = ntoskrnl
C_SRCS = \

View File

@ -1,7 +1,7 @@
From 4610af3e3e4e0715ad00de5e16b812f5bf9445be Mon Sep 17 00:00:00 2001
From 36bb7032734a97c5b9d01ef96d595973ea16eb95 Mon Sep 17 00:00:00 2001
From: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Date: Mon, 30 Aug 2021 15:15:35 +1000
Subject: [PATCH 2/3] fltmgr.sys: Create import library
Subject: [PATCH] fltmgr.sys: Create import library
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
---
@ -9,13 +9,13 @@ Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
1 file changed, 1 insertion(+)
diff --git a/dlls/fltmgr.sys/Makefile.in b/dlls/fltmgr.sys/Makefile.in
index 706f87b183b..764a1602678 100644
index bb1f34b4896..5540df35d6a 100644
--- a/dlls/fltmgr.sys/Makefile.in
+++ b/dlls/fltmgr.sys/Makefile.in
@@ -1,4 +1,5 @@
MODULE = fltmgr.sys
+IMPORTLIB = fltmgr
EXTRADLLFLAGS = -mno-cygwin -Wl,--subsystem,native
EXTRADLLFLAGS = -Wl,--subsystem,native
IMPORTS = ntoskrnl
--

View File

@ -1,4 +1,4 @@
From 8204d928d034b627c2c4bc7930f62a352d609ad0 Mon Sep 17 00:00:00 2001
From e26a5fd9e3b44cbee2919398233739d985274638 Mon Sep 17 00:00:00 2001
From: Daniel Wendt <daniel.wendt@linux.com>
Date: Fri, 15 Nov 2013 12:52:37 +0100
Subject: [PATCH] gdi32: fix for rotated Arc, ArcTo, Chord and Pie drawing
@ -11,7 +11,7 @@ Wine-Bug: http://bugs.winehq.org/show_bug.cgi?id=34579
2 files changed, 83 insertions(+)
diff --git a/dlls/gdi32/dibdrv/graphics.c b/dlls/gdi32/dibdrv/graphics.c
index 9bd6dc557a5..da9144f0862 100644
index 9ebcaf7e4a3..c4456a76e77 100644
--- a/dlls/gdi32/dibdrv/graphics.c
+++ b/dlls/gdi32/dibdrv/graphics.c
@@ -312,6 +312,60 @@ static int get_arc_points( int arc_dir, const RECT *rect, POINT start, POINT end
@ -116,12 +116,12 @@ index 9bd6dc557a5..da9144f0862 100644
{
HeapFree( GetProcessHeap(), 0, points );
diff --git a/dlls/gdi32/gdi_private.h b/dlls/gdi32/gdi_private.h
index 2dddf361d5b..e7d0090a52b 100644
index 9f092913110..8dbf2772555 100644
--- a/dlls/gdi32/gdi_private.h
+++ b/dlls/gdi32/gdi_private.h
@@ -289,4 +289,7 @@ static inline int get_dib_info_size( const BITMAPINFO *info, UINT coloruse )
return FIELD_OFFSET( BITMAPINFO, bmiColors[info->bmiHeader.biClrUsed] );
}
@@ -303,4 +303,7 @@ static inline int get_dib_info_size( const BITMAPINFO *info, UINT coloruse )
extern HMODULE gdi32_module DECLSPEC_HIDDEN;
+BOOL xform_has_rotate_and_uniform_scale_and_shear( const XFORM *xform ) DECLSPEC_HIDDEN;
+BOOL xform_decompose_rotation_and_translation( XFORM *xform, XFORM *rotation_and_translation ) DECLSPEC_HIDDEN;

View File

@ -1,4 +1,4 @@
From 907420bdc128c5e0ac6ab91996baa1a70a7b50a0 Mon Sep 17 00:00:00 2001
From d8c34665cf3869d553ef19d7556f5ce3ccf5c786 Mon Sep 17 00:00:00 2001
From: Nikolay Sivov <nsivov@codeweavers.com>
Date: Wed, 30 Jan 2019 12:25:41 +0300
Subject: [PATCH] imm32: Automatically initialize COM on window activation.
@ -15,7 +15,7 @@ Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
7 files changed, 386 insertions(+), 3 deletions(-)
diff --git a/dlls/imm32/Makefile.in b/dlls/imm32/Makefile.in
index cebcf4ca30f..2ad39baf972 100644
index b190888659b..ad10fc2fa45 100644
--- a/dlls/imm32/Makefile.in
+++ b/dlls/imm32/Makefile.in
@@ -1,6 +1,6 @@
@ -24,10 +24,10 @@ index cebcf4ca30f..2ad39baf972 100644
-IMPORTS = user32 gdi32 advapi32
+IMPORTS = user32 gdi32 advapi32 ole32
EXTRADLLFLAGS = -mno-cygwin
C_SRCS = \
imm.c
diff --git a/dlls/imm32/imm.c b/dlls/imm32/imm.c
index 9d2a09f22be..2625549712e 100644
index 20633041871..432dd224882 100644
--- a/dlls/imm32/imm.c
+++ b/dlls/imm32/imm.c
@@ -19,6 +19,8 @@
@ -556,10 +556,10 @@ index e12a1af5571..d37bc819447 100644
FIXME("native imm32.dll not supported\n");
return TRUE;
diff --git a/dlls/user32/user_private.h b/dlls/user32/user_private.h
index c460b1571c8..e5af441e33b 100644
index beece021a9f..5bc4a429b8d 100644
--- a/dlls/user32/user_private.h
+++ b/dlls/user32/user_private.h
@@ -210,6 +210,7 @@ C_ASSERT( sizeof(struct user_thread_info) <= sizeof(((TEB *)0)->Win32ClientInfo)
@@ -209,6 +209,7 @@ C_ASSERT( sizeof(struct user_thread_info) <= sizeof(((TEB *)0)->Win32ClientInfo)
extern INT global_key_state_counter DECLSPEC_HIDDEN;
extern BOOL (WINAPI *imm_register_window)(HWND) DECLSPEC_HIDDEN;
extern void (WINAPI *imm_unregister_window)(HWND) DECLSPEC_HIDDEN;
@ -568,5 +568,5 @@ index c460b1571c8..e5af441e33b 100644
struct user_key_state_info
{
--
2.29.2
2.33.0

View File

@ -1,4 +1,4 @@
From cc5f08165c512cecaafc19bb4157d2bea31f4770 Mon Sep 17 00:00:00 2001
From eee60c1777c710cfcb4283922990a306361548ba 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.
@ -18,7 +18,7 @@ FIXME: Needs splitting.
create mode 100644 dlls/inseng/inseng_private.h
diff --git a/dlls/inseng/Makefile.in b/dlls/inseng/Makefile.in
index d3f29328f67..b12c2156339 100644
index 0217203791a..ba2388c97ed 100644
--- a/dlls/inseng/Makefile.in
+++ b/dlls/inseng/Makefile.in
@@ -1,8 +1,11 @@
@ -26,7 +26,7 @@ index d3f29328f67..b12c2156339 100644
-IMPORTS = uuid ole32 advapi32
+IMPORTS = uuid ole32 advapi32 urlmon shlwapi
EXTRADLLFLAGS = -mno-cygwin -Wb,--prefer-native
EXTRADLLFLAGS = -Wb,--prefer-native
-C_SRCS = inseng_main.c
+C_SRCS = \
@ -37,7 +37,7 @@ index d3f29328f67..b12c2156339 100644
IDL_SRCS = inseng_classes.idl
diff --git a/dlls/inseng/icif.c b/dlls/inseng/icif.c
new file mode 100644
index 00000000000..6fd35625006
index 00000000000..11a91b86476
--- /dev/null
+++ b/dlls/inseng/icif.c
@@ -0,0 +1,1745 @@
@ -3862,5 +3862,5 @@ index 8a3f4c4d270..82927418a99 100644
+cpp_quote("HRESULT WINAPI GetICifFileFromFile(ICifFile **, const char *);")
+cpp_quote("HRESULT WINAPI GetICifRWFileFromFile(ICifRWFile **, const char *);")
--
2.30.2
2.33.0

View File

@ -34,6 +34,7 @@ index 00000000000..4b33278c115
+++ b/dlls/nvcuda/Makefile.in
@@ -0,0 +1,6 @@
+MODULE = nvcuda.dll
+EXTRADLLFLAGS = -mcygwin
+
+C_SRCS = \
+ nvcuda.c

View File

@ -1,4 +1,4 @@
From de6fa54bd3abdb58136d378b13a08e809e5b6a10 Mon Sep 17 00:00:00 2001
From 420c654406ccb66b6876bed02851d7278318cd4e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Sat, 3 Jan 2015 03:39:11 +0100
Subject: [PATCH] nvcuda: First implementation. (rev 2)
@ -23,10 +23,10 @@ Changes by Sebastian Lackner <sebastian@fds-team.de>:
create mode 100644 dlls/nvcuda/tests/nvcuda.c
diff --git a/configure.ac b/configure.ac
index f6a8f8d2458..67f4376f9aa 100644
index 341ed704730..6a3bdc6a89b 100644
--- a/configure.ac
+++ b/configure.ac
@@ -3558,6 +3558,7 @@ WINE_CONFIG_MAKEFILE(dlls/ntoskrnl.exe/tests)
@@ -3564,6 +3564,7 @@ WINE_CONFIG_MAKEFILE(dlls/ntoskrnl.exe/tests)
WINE_CONFIG_MAKEFILE(dlls/ntprint)
WINE_CONFIG_MAKEFILE(dlls/ntprint/tests)
WINE_CONFIG_MAKEFILE(dlls/nvcuda)
@ -35,17 +35,16 @@ index f6a8f8d2458..67f4376f9aa 100644
WINE_CONFIG_MAKEFILE(dlls/odbc32)
WINE_CONFIG_MAKEFILE(dlls/odbcbcp)
diff --git a/dlls/nvcuda/Makefile.in b/dlls/nvcuda/Makefile.in
index 4b33278c115..0921ce64cae 100644
index f8bea7210cc..20a66c90afb 100644
--- a/dlls/nvcuda/Makefile.in
+++ b/dlls/nvcuda/Makefile.in
@@ -1,6 +1,7 @@
MODULE = nvcuda.dll
@@ -2,5 +2,6 @@ MODULE = nvcuda.dll
EXTRADLLFLAGS = -mcygwin
C_SRCS = \
+ internal.c \
nvcuda.c
RC_SRCS = nvcuda.rc
diff --git a/dlls/nvcuda/internal.c b/dlls/nvcuda/internal.c
new file mode 100644
index 00000000000..664bdf84f51
@ -3417,5 +3416,5 @@ index 00000000000..fc8f300a28b
+ test_TlsNotifyInterface();
+}
--
2.20.1
2.33.0

View File

@ -1,4 +1,4 @@
From 3693c4416a4d6e938a36a63970d9ae16ac5c38a8 Mon Sep 17 00:00:00 2001
From c9ebf40c3752098c4366446467a544bbd2260ee6 Mon Sep 17 00:00:00 2001
From: Sebastian Lackner <sebastian@fds-team.de>
Date: Thu, 22 Jan 2015 01:02:53 +0100
Subject: [PATCH] nvcuda: Properly wrap stream callbacks by forwarding them to
@ -10,11 +10,12 @@ Subject: [PATCH] nvcuda: Properly wrap stream callbacks by forwarding them to
2 files changed, 122 insertions(+), 15 deletions(-)
diff --git a/dlls/nvcuda/Makefile.in b/dlls/nvcuda/Makefile.in
index 0921ce64cae..ab8a5a29a7a 100644
index 20a66c90afb..7691c6aede3 100644
--- a/dlls/nvcuda/Makefile.in
+++ b/dlls/nvcuda/Makefile.in
@@ -1,4 +1,5 @@
@@ -1,5 +1,6 @@
MODULE = nvcuda.dll
EXTRADLLFLAGS = -mcygwin
+EXTRALIBS = $(PTHREAD_LIBS)
C_SRCS = \
@ -204,5 +205,5 @@ index 7b23abe6f90..117d78b6766 100644
}
--
2.28.0
2.33.0

View File

@ -1,4 +1,4 @@
From 2b576a42fb563be7426ebc5919901d9ccb965bda Mon Sep 17 00:00:00 2001
From b65a4bd03ba8ef03599ded3d2ac1180cc0ae1c5b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Tue, 6 Jan 2015 05:16:36 +0100
Subject: [PATCH] nvcuvid: First implementation. (rev 2)
@ -7,13 +7,13 @@ Changes by Sebastian Lackner <sebastian@fds-team.de>:
* Convert structures properly where the Windows and Linux definition differs.
---
configure.ac | 1 +
dlls/nvcuvid/Makefile.in | 4 +
dlls/nvcuvid/Makefile.in | 5 +
dlls/nvcuvid/nvcuvid.c | 512 ++++++++++++++++++++++++++++++++++++++
dlls/nvcuvid/nvcuvid.spec | 24 ++
include/Makefile.in | 2 +
include/cuviddec.h | 99 ++++++++
include/nvcuvid.h | 79 ++++++
7 files changed, 721 insertions(+)
7 files changed, 722 insertions(+)
create mode 100644 dlls/nvcuvid/Makefile.in
create mode 100644 dlls/nvcuvid/nvcuvid.c
create mode 100644 dlls/nvcuvid/nvcuvid.spec
@ -21,10 +21,10 @@ Changes by Sebastian Lackner <sebastian@fds-team.de>:
create mode 100644 include/nvcuvid.h
diff --git a/configure.ac b/configure.ac
index 2be5ea9945a..620a9006aa7 100644
index 73925b808fc..c81b347762f 100644
--- a/configure.ac
+++ b/configure.ac
@@ -3653,6 +3653,7 @@ WINE_CONFIG_MAKEFILE(dlls/nvapi/tests)
@@ -3574,6 +3574,7 @@ WINE_CONFIG_MAKEFILE(dlls/nvapi/tests)
WINE_CONFIG_MAKEFILE(dlls/nvapi64,enable_win64)
WINE_CONFIG_MAKEFILE(dlls/nvcuda)
WINE_CONFIG_MAKEFILE(dlls/nvcuda/tests)
@ -34,11 +34,12 @@ index 2be5ea9945a..620a9006aa7 100644
WINE_CONFIG_MAKEFILE(dlls/odbcbcp)
diff --git a/dlls/nvcuvid/Makefile.in b/dlls/nvcuvid/Makefile.in
new file mode 100644
index 00000000000..2c2dc8ccf67
index 00000000000..23b2537c58d
--- /dev/null
+++ b/dlls/nvcuvid/Makefile.in
@@ -0,0 +1,4 @@
@@ -0,0 +1,5 @@
+MODULE = nvcuvid.dll
+EXTRADLLFLAGS = -mcygwin
+
+C_SRCS = \
+ nvcuvid.c
@ -591,10 +592,10 @@ index 00000000000..433e7db3b7e
+@ stdcall cuvidSetVideoSourceState(ptr long) wine_cuvidSetVideoSourceState
+@ stdcall cuvidUnmapVideoFrame(ptr long) wine_cuvidUnmapVideoFrame
diff --git a/include/Makefile.in b/include/Makefile.in
index 9fc3769b675..4f77d8eb016 100644
index e409d8d788b..b4ae2bbcd96 100644
--- a/include/Makefile.in
+++ b/include/Makefile.in
@@ -92,6 +92,7 @@ SOURCES = \
@@ -97,6 +97,7 @@ SOURCES = \
ctxtcall.idl \
cuda.h \
custcntl.h \
@ -602,7 +603,7 @@ index 9fc3769b675..4f77d8eb016 100644
cvconst.h \
cvttyp.idl \
d2d1.idl \
@@ -538,6 +539,7 @@ SOURCES = \
@@ -555,6 +556,7 @@ SOURCES = \
ntsecpkg.h \
ntstatus.h \
nvapi.h \
@ -801,5 +802,5 @@ index 00000000000..a192ef64c2e
+
+#endif /* __WINE_NVCUVID_H */
--
2.28.0
2.33.0

View File

@ -38,8 +38,9 @@ new file mode 100644
index 00000000000..a2e58acaf0d
--- /dev/null
+++ b/dlls/nvencodeapi/Makefile.in
@@ -0,0 +1,4 @@
@@ -0,0 +1,5 @@
+MODULE = nvencodeapi.dll
+EXTRADLLFLAGS = -mcygwin
+
+C_SRCS = \
+ nvencodeapi.c
@ -430,8 +431,9 @@ new file mode 100644
index 00000000000..8297ec352b5
--- /dev/null
+++ b/dlls/nvencodeapi64/Makefile.in
@@ -0,0 +1,5 @@
@@ -0,0 +1,6 @@
+MODULE = nvencodeapi64.dll
+EXTRADLLFLAGS = -mcygwin
+PARENTSRC = ../nvencodeapi
+
+C_SRCS = \

View File

@ -1,25 +1,25 @@
From 8e4c76596335097ca35af9d289c2096dc274b4d3 Mon Sep 17 00:00:00 2001
From b8164026e54c8bb9e9401d4952ebe07d3811bc45 Mon Sep 17 00:00:00 2001
From: Sebastian Lackner <sebastian@fds-team.de>
Date: Sun, 6 Aug 2017 02:50:23 +0200
Subject: [PATCH] packager: Prefer native version.
---
dlls/packager/Makefile.in | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
dlls/packager/Makefile.in | 2 ++
1 file changed, 2 insertions(+)
diff --git a/dlls/packager/Makefile.in b/dlls/packager/Makefile.in
index a90014ce25d..747eed203ae 100644
index a2b2daa0cea..55482167bc1 100644
--- a/dlls/packager/Makefile.in
+++ b/dlls/packager/Makefile.in
@@ -1,7 +1,7 @@
@@ -1,6 +1,8 @@
MODULE = packager.dll
IMPORTS = uuid shell32 shlwapi user32
-EXTRADLLFLAGS = -mno-cygwin
+EXTRADLLFLAGS = -mno-cygwin -Wb,--prefer-native
+EXTRADLLFLAGS = -Wb,--prefer-native
+
C_SRCS = \
packager_main.c
--
2.20.1
2.33.0

View File

@ -51,7 +51,7 @@ usage()
# Get the upstream commit sha
upstream_commit()
{
echo "16e73be10d940c9c04101a47687a6f8a385c2b0f"
echo "975d0632a19efd41338cb73a97f1b0bdbe7bc0cc"
}
# Show version information

View File

@ -1,4 +1,4 @@
From 8913fe5871a9c0d16a44cbcc88af26b318da7ce2 Mon Sep 17 00:00:00 2001
From 2a65304628648472b9c9bd85d2230a020aa5ca1c Mon Sep 17 00:00:00 2001
From: Louis Lenders <xerox.xerox2000x@gmail.com>
Date: Wed, 5 Aug 2020 08:39:14 +0200
Subject: [PATCH] findstr: add basic functionality (also support literal search
@ -15,14 +15,14 @@ Signed-off-by: Louis Lenders <xerox.xerox2000x@gmail.com>
create mode 100644 programs/findstr/resources.h
diff --git a/programs/findstr/Makefile.in b/programs/findstr/Makefile.in
index 0f29794591..c9d799db6b 100644
index e97ec9c20e3..40142508981 100644
--- a/programs/findstr/Makefile.in
+++ b/programs/findstr/Makefile.in
@@ -1,6 +1,10 @@
MODULE = findstr.exe
+IMPORTS = user32
EXTRADLLFLAGS = -mconsole -municode -mno-cygwin
EXTRADLLFLAGS = -mconsole -municode
C_SRCS = \
main.c
@ -31,7 +31,7 @@ index 0f29794591..c9d799db6b 100644
+ findstr.rc
diff --git a/programs/findstr/findstr.rc b/programs/findstr/findstr.rc
new file mode 100644
index 0000000000..3a6fad7eb1
index 00000000000..3a6fad7eb1a
--- /dev/null
+++ b/programs/findstr/findstr.rc
@@ -0,0 +1,27 @@
@ -63,7 +63,7 @@ index 0000000000..3a6fad7eb1
+ IDS_USAGE "Usage: findstr /options string filename\r\n"
+}
diff --git a/programs/findstr/main.c b/programs/findstr/main.c
index d25e1965f6..dc73fbba66 100644
index d25e1965f6e..dc73fbba666 100644
--- a/programs/findstr/main.c
+++ b/programs/findstr/main.c
@@ -1,5 +1,6 @@
@ -332,7 +332,7 @@ index d25e1965f6..dc73fbba66 100644
}
diff --git a/programs/findstr/resources.h b/programs/findstr/resources.h
new file mode 100644
index 0000000000..e868c7efa4
index 00000000000..e868c7efa4a
--- /dev/null
+++ b/programs/findstr/resources.h
@@ -0,0 +1,29 @@
@ -366,5 +366,5 @@ index 0000000000..e868c7efa4
+
+#endif /* __WINE_FINDSTR_RESOURCES_H */
--
2.27.0
2.33.0

View File

@ -1,4 +1,4 @@
From 0f6f113f1c561e0f5652a4b79e15770f5528f558 Mon Sep 17 00:00:00 2001
From 18053994fa047259217523879c13ee0c44c681d5 Mon Sep 17 00:00:00 2001
From: Louis Lenders <xerox.xerox2000x@gmail.com>
Date: Wed, 5 Aug 2020 09:09:45 +0200
Subject: [PATCH] systeminfo: add basic functionality
@ -10,17 +10,17 @@ Signed-off-by: Louis Lenders <xerox.xerox2000x@gmail.com>
2 files changed, 223 insertions(+), 4 deletions(-)
diff --git a/programs/systeminfo/Makefile.in b/programs/systeminfo/Makefile.in
index 053c52e585..1c6ad71cc7 100644
index 6ddd309b2ef..a3c65f0a6c6 100644
--- a/programs/systeminfo/Makefile.in
+++ b/programs/systeminfo/Makefile.in
@@ -1,4 +1,5 @@
MODULE = systeminfo.exe
+IMPORTS = ole32 oleaut32
EXTRADLLFLAGS = -mconsole -municode -mno-cygwin
EXTRADLLFLAGS = -mconsole -municode
diff --git a/programs/systeminfo/main.c b/programs/systeminfo/main.c
index b633134a39..c913aab3d9 100644
index b633134a393..c913aab3d91 100644
--- a/programs/systeminfo/main.c
+++ b/programs/systeminfo/main.c
@@ -1,5 +1,7 @@
@ -271,5 +271,5 @@ index b633134a39..c913aab3d9 100644
return 0;
}
--
2.27.0
2.33.0

View File

@ -1,15 +1,15 @@
From c95a146e0925be225cd71f23062de266b82b28d4 Mon Sep 17 00:00:00 2001
From bf2a4d41fff53ff3ffccca694b22c051043dde62 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] shell32: Implement insert/paste for item context menus.
---
dlls/shell32/shell32.rc | 1 +
dlls/shell32/shlview_cmenu.c | 46 ++++++++++++++++++++++++++++++++----
2 files changed, 42 insertions(+), 5 deletions(-)
dlls/shell32/shlview_cmenu.c | 45 ++++++++++++++++++++++++++++++++----
2 files changed, 41 insertions(+), 5 deletions(-)
diff --git a/dlls/shell32/shell32.rc b/dlls/shell32/shell32.rc
index ff859381593..e7324c9af5e 100644
index c6280edac6b..09b90a9805b 100644
--- a/dlls/shell32/shell32.rc
+++ b/dlls/shell32/shell32.rc
@@ -99,6 +99,7 @@ BEGIN
@ -21,10 +21,10 @@ index ff859381593..e7324c9af5e 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 634e3b07176..fe943179cb1 100644
index 43cbea2ec87..047fe00e39d 100644
--- a/dlls/shell32/shlview_cmenu.c
+++ b/dlls/shell32/shlview_cmenu.c
@@ -66,6 +66,8 @@ typedef struct
@@ -185,6 +185,8 @@ typedef struct
BOOL desktop;
} ContextMenu;
@ -33,7 +33,7 @@ index 634e3b07176..fe943179cb1 100644
static inline ContextMenu *impl_from_IContextMenu3(IContextMenu3 *iface)
{
return CONTAINING_RECORD(iface, ContextMenu, IContextMenu3_iface);
@@ -175,6 +177,30 @@ static UINT max_menu_id(HMENU hmenu, UINT offset, UINT last)
@@ -294,6 +296,30 @@ static UINT max_menu_id(HMENU hmenu, UINT offset, UINT last)
return max_id;
}
@ -64,7 +64,7 @@ index 634e3b07176..fe943179cb1 100644
static HRESULT WINAPI ItemMenu_QueryContextMenu(
IContextMenu3 *iface,
HMENU hmenu,
@@ -185,6 +211,7 @@ static HRESULT WINAPI ItemMenu_QueryContextMenu(
@@ -304,6 +330,7 @@ static HRESULT WINAPI ItemMenu_QueryContextMenu(
{
ContextMenu *This = impl_from_IContextMenu3(iface);
INT uIDMax;
@ -72,7 +72,7 @@ index 634e3b07176..fe943179cb1 100644
TRACE("(%p)->(%p %d 0x%x 0x%x 0x%x )\n", This, hmenu, indexMenu, idCmdFirst, idCmdLast, uFlags);
@@ -222,6 +249,9 @@ static HRESULT WINAPI ItemMenu_QueryContextMenu(
@@ -341,6 +368,9 @@ static HRESULT WINAPI ItemMenu_QueryContextMenu(
SetMenuDefaultItem(hmenu, 0, MF_BYPOSITION);
@ -82,7 +82,7 @@ index 634e3b07176..fe943179cb1 100644
if(uFlags & ~CMF_CANRENAME)
RemoveMenu(hmenu, FCIDM_SHVIEW_RENAME - FCIDM_BASE + idCmdFirst, MF_BYCOMMAND);
else
@@ -232,16 +262,14 @@ static HRESULT WINAPI ItemMenu_QueryContextMenu(
@@ -351,16 +381,14 @@ static HRESULT WINAPI ItemMenu_QueryContextMenu(
if (!This->apidl || This->cidl > 1)
enable |= MFS_DISABLED;
else
@ -102,7 +102,7 @@ index 634e3b07176..fe943179cb1 100644
return MAKE_HRESULT(SEVERITY_SUCCESS, 0, uIDMax-idCmdFirst);
}
return MAKE_HRESULT(SEVERITY_SUCCESS, 0, 0);
@@ -814,6 +842,10 @@ static HRESULT WINAPI ItemMenu_InvokeCommand(
@@ -1183,6 +1211,10 @@ static HRESULT WINAPI ItemMenu_InvokeCommand(
TRACE("Verb FCIDM_SHVIEW_CUT\n");
DoCopyOrCut(This, lpcmi->hwnd, TRUE);
break;
@ -113,24 +113,16 @@ index 634e3b07176..fe943179cb1 100644
case FCIDM_SHVIEW_PROPERTIES:
TRACE("Verb FCIDM_SHVIEW_PROPERTIES\n");
DoOpenProperties(This, lpcmi->hwnd);
@@ -849,6 +881,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};
+ static const WCHAR pasteW[] = {'p','a','s','t','e',0};
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};
@@ -882,6 +915,9 @@ static HRESULT WINAPI ItemMenu_GetCommandString(IContextMenu3 *iface, UINT_PTR c
@@ -1243,6 +1275,9 @@ static HRESULT WINAPI ItemMenu_GetCommandString(IContextMenu3 *iface, UINT_PTR c
case FCIDM_SHVIEW_COPY:
cmdW = copyW;
cmdW = L"copy";
break;
+ case FCIDM_SHVIEW_INSERT:
+ cmdW = pasteW;
+ cmdW = L"paste";
+ break;
case FCIDM_SHVIEW_CREATELINK:
cmdW = linkW;
cmdW = L"link";
break;
--
2.30.2
2.33.0

View File

@ -1,4 +1,4 @@
From c3a3329a62b2d113101a507620927a64f158388f Mon Sep 17 00:00:00 2001
From c89e6c48e313c0de0749a4526c677491764845d3 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Tue, 24 Feb 2015 04:25:29 +0100
Subject: [PATCH] shell32: Correct indentation in shfileop.c.
@ -8,10 +8,10 @@ Subject: [PATCH] shell32: Correct indentation in shfileop.c.
1 file changed, 329 insertions(+), 331 deletions(-)
diff --git a/dlls/shell32/shlfileop.c b/dlls/shell32/shlfileop.c
index 941dba725cd..7b5339acc92 100644
index 807b999d957..f0cadc67f8f 100644
--- a/dlls/shell32/shlfileop.c
+++ b/dlls/shell32/shlfileop.c
@@ -210,108 +210,107 @@ static int SHELL_ConfirmMsgBox(HWND hWnd, LPWSTR lpszText, LPWSTR lpszCaption, H
@@ -201,108 +201,107 @@ static int SHELL_ConfirmMsgBox(HWND hWnd, LPWSTR lpszText, LPWSTR lpszCaption, H
/* confirmation dialogs content */
typedef struct
{
@ -208,7 +208,7 @@ index 941dba725cd..7b5339acc92 100644
}
BOOL SHELL_ConfirmYesNoW(HWND hWnd, int nKindOfDialog, LPCWSTR szDir)
@@ -321,18 +320,18 @@ BOOL SHELL_ConfirmYesNoW(HWND hWnd, int nKindOfDialog, LPCWSTR szDir)
@@ -312,18 +311,18 @@ BOOL SHELL_ConfirmYesNoW(HWND hWnd, int nKindOfDialog, LPCWSTR szDir)
static DWORD SHELL32_AnsiToUnicodeBuf(LPCSTR aPath, LPWSTR *wPath, DWORD minChars)
{
@ -237,7 +237,7 @@ index 941dba725cd..7b5339acc92 100644
}
HRESULT WINAPI SHIsFileAvailableOffline(LPCWSTR path, LPDWORD status)
@@ -375,8 +374,8 @@ static DWORD SHELL_DeleteDirectoryW(HWND hwnd, LPCWSTR pszDir, BOOL bShowUI)
@@ -366,8 +365,8 @@ static DWORD SHELL_DeleteDirectoryW(HWND hwnd, LPCWSTR pszDir, BOOL bShowUI)
ret = SHNotifyRemoveDirectoryW(pszDir);
return ret == ERROR_PATH_NOT_FOUND ?
@ -248,7 +248,7 @@ index 941dba725cd..7b5339acc92 100644
}
/**************************************************************************
@@ -396,41 +395,41 @@ static DWORD SHELL_DeleteDirectoryW(HWND hwnd, LPCWSTR pszDir, BOOL bShowUI)
@@ -387,41 +386,41 @@ static DWORD SHELL_DeleteDirectoryW(HWND hwnd, LPCWSTR pszDir, BOOL bShowUI)
*/
static DWORD SHNotifyCreateDirectoryA(LPCSTR path, LPSECURITY_ATTRIBUTES sec)
{
@ -310,7 +310,7 @@ index 941dba725cd..7b5339acc92 100644
}
/************************************************************************
@@ -450,51 +449,51 @@ BOOL WINAPI Win32CreateDirectoryAW(LPCVOID path, LPSECURITY_ATTRIBUTES sec)
@@ -441,51 +440,51 @@ BOOL WINAPI Win32CreateDirectoryAW(LPCVOID path, LPSECURITY_ATTRIBUTES sec)
*/
static DWORD SHNotifyRemoveDirectoryA(LPCSTR path)
{
@ -392,7 +392,7 @@ index 941dba725cd..7b5339acc92 100644
}
/************************************************************************
@@ -514,52 +513,52 @@ BOOL WINAPI Win32RemoveDirectoryAW(LPCVOID path)
@@ -505,52 +504,52 @@ BOOL WINAPI Win32RemoveDirectoryAW(LPCVOID path)
*/
static DWORD SHNotifyDeleteFileA(LPCSTR path)
{
@ -475,7 +475,7 @@ index 941dba725cd..7b5339acc92 100644
}
/************************************************************************
@@ -576,36 +575,36 @@ DWORD WINAPI Win32DeleteFileAW(LPCVOID path)
@@ -567,36 +566,36 @@ DWORD WINAPI Win32DeleteFileAW(LPCVOID path)
*/
static DWORD SHNotifyMoveFileW(LPCWSTR src, LPCWSTR dest)
{
@ -537,7 +537,7 @@ index 941dba725cd..7b5339acc92 100644
}
/************************************************************************
@@ -624,24 +623,24 @@ static DWORD SHNotifyMoveFileW(LPCWSTR src, LPCWSTR dest)
@@ -615,24 +614,24 @@ static DWORD SHNotifyMoveFileW(LPCWSTR src, LPCWSTR dest)
*/
static DWORD SHNotifyCopyFileW(LPCWSTR src, LPCWSTR dest, BOOL bFailIfExists)
{
@ -576,7 +576,7 @@ index 941dba725cd..7b5339acc92 100644
}
/*************************************************************************
@@ -671,9 +670,9 @@ static DWORD SHNotifyCopyFileW(LPCWSTR src, LPCWSTR dest, BOOL bFailIfExists)
@@ -662,9 +661,9 @@ static DWORD SHNotifyCopyFileW(LPCWSTR src, LPCWSTR dest, BOOL bFailIfExists)
*/
DWORD WINAPI SHCreateDirectory(HWND hWnd, LPCVOID path)
{
@ -589,7 +589,7 @@ index 941dba725cd..7b5339acc92 100644
}
/*************************************************************************
@@ -710,18 +709,18 @@ DWORD WINAPI SHCreateDirectory(HWND hWnd, LPCVOID path)
@@ -701,18 +700,18 @@ DWORD WINAPI SHCreateDirectory(HWND hWnd, LPCVOID path)
*/
int WINAPI SHCreateDirectoryExA(HWND hWnd, LPCSTR path, LPSECURITY_ATTRIBUTES sec)
{
@ -618,16 +618,16 @@ index 941dba725cd..7b5339acc92 100644
}
/*************************************************************************
@@ -795,25 +794,25 @@ int WINAPI SHCreateDirectoryExW(HWND hWnd, LPCWSTR path, LPSECURITY_ATTRIBUTES s
@@ -786,25 +785,25 @@ int WINAPI SHCreateDirectoryExW(HWND hWnd, LPCWSTR path, LPSECURITY_ATTRIBUTES s
*/
static DWORD SHFindAttrW(LPCWSTR pName, BOOL fileOnly)
{
- WIN32_FIND_DATAW wfd;
- BOOL b_FileMask = fileOnly && (NULL != StrPBrkW(pName, wWildcardChars));
- BOOL b_FileMask = fileOnly && (NULL != StrPBrkW(pName, L"*?"));
- DWORD dwAttr = INVALID_FILE_ATTRIBUTES;
- HANDLE hFind = FindFirstFileW(pName, &wfd);
+ WIN32_FIND_DATAW wfd;
+ BOOL b_FileMask = fileOnly && (NULL != StrPBrkW(pName, wWildcardChars));
+ BOOL b_FileMask = fileOnly && (NULL != StrPBrkW(pName, L"*?"));
+ DWORD dwAttr = INVALID_FILE_ATTRIBUTES;
+ HANDLE hFind = FindFirstFileW(pName, &wfd);
@ -662,7 +662,7 @@ index 941dba725cd..7b5339acc92 100644
}
/*************************************************************************
@@ -827,27 +826,27 @@ static DWORD SHFindAttrW(LPCWSTR pName, BOOL fileOnly)
@@ -818,27 +817,27 @@ static DWORD SHFindAttrW(LPCWSTR pName, BOOL fileOnly)
*/
static DWORD SHNameTranslate(LPWSTR* wString, LPCWSTR* pWToFrom, BOOL more)
{
@ -710,7 +710,7 @@ index 941dba725cd..7b5339acc92 100644
}
/*************************************************************************
* SHFileOperationA [SHELL32.@]
@@ -867,46 +866,45 @@ static DWORD SHNameTranslate(LPWSTR* wString, LPCWSTR* pWToFrom, BOOL more)
@@ -858,46 +857,45 @@ static DWORD SHNameTranslate(LPWSTR* wString, LPCWSTR* pWToFrom, BOOL more)
*/
int WINAPI SHFileOperationA(LPSHFILEOPSTRUCTA lpFileOp)
{
@ -794,7 +794,7 @@ index 941dba725cd..7b5339acc92 100644
}
#define ERROR_SHELL_INTERNAL_FILE_NOT_FOUND 1026
@@ -936,7 +934,7 @@ typedef struct
@@ -927,7 +925,7 @@ typedef struct
static inline void grow_list(FILE_LIST *list)
{
FILE_ENTRY *new = HeapReAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, list->feFiles,
@ -803,7 +803,7 @@ index 941dba725cd..7b5339acc92 100644
list->feFiles = new;
list->num_alloc *= 2;
}
@@ -1029,7 +1027,7 @@ static HRESULT parse_file_list(FILE_LIST *flList, LPCWSTR szFiles)
@@ -1020,7 +1018,7 @@ static HRESULT parse_file_list(FILE_LIST *flList, LPCWSTR szFiles)
/* empty list */
if (!szFiles[0])
return ERROR_ACCESS_DENIED;
@ -812,7 +812,7 @@ index 941dba725cd..7b5339acc92 100644
flList->feFiles = heap_alloc_zero(flList->num_alloc * sizeof(FILE_ENTRY));
while (*ptr)
@@ -1134,7 +1132,7 @@ static void copy_dir_to_dir(FILE_OPERATION *op, const FILE_ENTRY *feFrom, LPCWST
@@ -1123,7 +1121,7 @@ static void copy_dir_to_dir(FILE_OPERATION *op, const FILE_ENTRY *feFrom, LPCWST
/* Don't ask the user about overwriting files when he accepted to overwrite the
folder. FIXME: this is not exactly what Windows does - e.g. there would be
an additional confirmation for a nested folder */
@ -821,7 +821,7 @@ index 941dba725cd..7b5339acc92 100644
SHFileOperationW(&fileOp);
}
@@ -1381,11 +1379,11 @@ static int delete_files(LPSHFILEOPSTRUCTW lpFileOp, const FILE_LIST *flFrom)
@@ -1369,11 +1367,11 @@ static int delete_files(LPSHFILEOPSTRUCTW lpFileOp, const FILE_LIST *flFrom)
break;
}
}
@ -835,7 +835,7 @@ index 941dba725cd..7b5339acc92 100644
else
ret = SHELL_DeleteDirectoryW(lpFileOp->hwnd, fileEntry->szFullPath, FALSE);
@@ -1510,8 +1508,8 @@ static int rename_files(LPSHFILEOPSTRUCTW lpFileOp, const FILE_LIST *flFrom, con
@@ -1498,8 +1496,8 @@ static int rename_files(LPSHFILEOPSTRUCTW lpFileOp, const FILE_LIST *flFrom, con
static void check_flags(FILEOP_FLAGS fFlags)
{
WORD wUnsupportedFlags = FOF_NO_CONNECTED_ELEMENTS |
@ -846,7 +846,7 @@ index 941dba725cd..7b5339acc92 100644
if (fFlags & wUnsupportedFlags)
FIXME("Unsupported flags: %04x\n", fFlags);
@@ -1594,19 +1592,19 @@ int WINAPI SHFileOperationW(LPSHFILEOPSTRUCTW lpFileOp)
@@ -1582,19 +1580,19 @@ int WINAPI SHFileOperationW(LPSHFILEOPSTRUCTW lpFileOp)
*/
void WINAPI SHFreeNameMappings(HANDLE hNameMapping)
{
@ -876,7 +876,7 @@ index 941dba725cd..7b5339acc92 100644
}
/*************************************************************************
@@ -1712,14 +1710,14 @@ DWORD WINAPI SheChangeDirW(LPWSTR path)
@@ -1700,14 +1698,14 @@ DWORD WINAPI SheChangeDirW(LPWSTR path)
}
/*************************************************************************

View File

@ -1,4 +1,4 @@
From 7cbc2d3a95bdbd362138638b90a24c1b2b7cacfc Mon Sep 17 00:00:00 2001
From a810107bb8baf40586def0905ef3bd98fe6c852f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Thu, 26 Feb 2015 23:21:26 +0100
Subject: [PATCH] shell32: Pass FILE_INFORMATION into SHNotify* functions.
@ -9,12 +9,12 @@ Preparation of the progressbar work. Based on a patch by Huw Campbell.
1 file changed, 98 insertions(+), 103 deletions(-)
diff --git a/dlls/shell32/shlfileop.c b/dlls/shell32/shlfileop.c
index 7b5339acc92..85448bad7dd 100644
index f0cadc67f8f..1ad2af6dd58 100644
--- a/dlls/shell32/shlfileop.c
+++ b/dlls/shell32/shlfileop.c
@@ -62,16 +62,6 @@ WINE_DEFAULT_DEBUG_CHANNEL(shell);
static const WCHAR wWildcardFile[] = {'*',0};
static const WCHAR wWildcardChars[] = {'*','?',0};
@@ -56,16 +56,6 @@ WINE_DEFAULT_DEBUG_CHANNEL(shell);
#define DE_SAMEFILE 0x71
#define DE_DESTSAMETREE 0x7D
-static DWORD SHNotifyCreateDirectoryA(LPCSTR path, LPSECURITY_ATTRIBUTES sec);
-static DWORD SHNotifyCreateDirectoryW(LPCWSTR path, LPSECURITY_ATTRIBUTES sec);
@ -29,7 +29,7 @@ index 7b5339acc92..85448bad7dd 100644
typedef struct
{
SHFILEOPSTRUCTW *req;
@@ -80,6 +70,42 @@ typedef struct
@@ -74,6 +64,42 @@ typedef struct
BOOL bCancelled;
} FILE_OPERATION;
@ -71,8 +71,8 @@ index 7b5339acc92..85448bad7dd 100644
+
/* Confirm dialogs with an optional "Yes To All" as used in file operations confirmations
*/
static const WCHAR CONFIRM_MSG_PROP[] = {'W','I','N','E','_','C','O','N','F','I','R','M',0};
@@ -346,7 +372,7 @@ HRESULT WINAPI SHIsFileAvailableOffline(LPCWSTR path, LPDWORD status)
struct confirm_msg_info
@@ -337,7 +363,7 @@ HRESULT WINAPI SHIsFileAvailableOffline(LPCWSTR path, LPDWORD status)
* Asks for confirmation when bShowUI is true and deletes the directory and
* all its subdirectories and files if necessary.
*/
@ -81,8 +81,8 @@ index 7b5339acc92..85448bad7dd 100644
{
DWORD ret = 0;
HANDLE hFind;
@@ -356,16 +382,18 @@ static DWORD SHELL_DeleteDirectoryW(HWND hwnd, LPCWSTR pszDir, BOOL bShowUI)
PathCombineW(szTemp, pszDir, wWildcardFile);
@@ -347,16 +373,18 @@ static DWORD SHELL_DeleteDirectoryW(HWND hwnd, LPCWSTR pszDir, BOOL bShowUI)
PathCombineW(szTemp, pszDir, L"*");
hFind = FindFirstFileW(szTemp, &wfd);
- if (hFind != INVALID_HANDLE_VALUE) {
@ -104,7 +104,7 @@ index 7b5339acc92..85448bad7dd 100644
} while (!ret && FindNextFileW(hFind, &wfd));
}
FindClose(hFind);
@@ -496,22 +524,9 @@ BOOL WINAPI Win32RemoveDirectoryAW(LPCVOID path)
@@ -487,22 +515,9 @@ BOOL WINAPI Win32RemoveDirectoryAW(LPCVOID path)
return (SHNotifyRemoveDirectoryA(path) == ERROR_SUCCESS);
}
@ -130,7 +130,7 @@ index 7b5339acc92..85448bad7dd 100644
{
LPWSTR wPath;
DWORD retCode;
@@ -521,7 +536,7 @@ static DWORD SHNotifyDeleteFileA(LPCSTR path)
@@ -512,7 +527,7 @@ static DWORD SHNotifyDeleteFileA(LPCSTR path)
retCode = SHELL32_AnsiToUnicodeBuf(path, &wPath, 0);
if (!retCode)
{
@ -139,7 +139,7 @@ index 7b5339acc92..85448bad7dd 100644
heap_free(wPath);
}
return retCode;
@@ -529,12 +544,14 @@ static DWORD SHNotifyDeleteFileA(LPCSTR path)
@@ -520,12 +535,14 @@ static DWORD SHNotifyDeleteFileA(LPCSTR path)
/***********************************************************************/
@ -155,7 +155,7 @@ index 7b5339acc92..85448bad7dd 100644
ret = DeleteFileW(path);
if (!ret)
{
@@ -557,8 +574,8 @@ static DWORD SHNotifyDeleteFileW(LPCWSTR path)
@@ -548,8 +565,8 @@ static DWORD SHNotifyDeleteFileW(LPCWSTR path)
DWORD WINAPI Win32DeleteFileAW(LPCVOID path)
{
if (SHELL_OsIsUnicode())
@ -166,7 +166,7 @@ index 7b5339acc92..85448bad7dd 100644
}
/************************************************************************
@@ -567,18 +584,21 @@ DWORD WINAPI Win32DeleteFileAW(LPCVOID path)
@@ -558,18 +575,21 @@ DWORD WINAPI Win32DeleteFileAW(LPCVOID path)
* Moves a file. Also triggers a change notify if one exists.
*
* PARAMS
@ -189,7 +189,7 @@ index 7b5339acc92..85448bad7dd 100644
ret = MoveFileExW(src, dest, MOVEFILE_REPLACE_EXISTING);
/* MOVEFILE_REPLACE_EXISTING fails with dirs, so try MoveFile */
@@ -613,6 +633,7 @@ static DWORD SHNotifyMoveFileW(LPCWSTR src, LPCWSTR dest)
@@ -604,6 +624,7 @@ static DWORD SHNotifyMoveFileW(LPCWSTR src, LPCWSTR dest)
* Copies a file. Also triggers a change notify if one exists.
*
* PARAMS
@ -197,7 +197,7 @@ index 7b5339acc92..85448bad7dd 100644
* src [I] path to source file to move
* dest [I] path to target file to move to
* bFailIfExists [I] if TRUE, the target file will not be overwritten if
@@ -621,13 +642,15 @@ static DWORD SHNotifyMoveFileW(LPCWSTR src, LPCWSTR dest)
@@ -612,13 +633,15 @@ static DWORD SHNotifyMoveFileW(LPCWSTR src, LPCWSTR dest)
* RETURNS
* ERROR_SUCCESS if successful
*/
@ -214,7 +214,7 @@ index 7b5339acc92..85448bad7dd 100644
/* Destination file may already exist with read only attribute */
attribs = GetFileAttributesW(dest);
if (IsAttrib(attribs, FILE_ATTRIBUTE_READONLY))
@@ -907,30 +930,6 @@ int WINAPI SHFileOperationA(LPSHFILEOPSTRUCTA lpFileOp)
@@ -898,30 +921,6 @@ int WINAPI SHFileOperationA(LPSHFILEOPSTRUCTA lpFileOp)
return retCode;
}
@ -245,17 +245,17 @@ index 7b5339acc92..85448bad7dd 100644
static inline void grow_list(FILE_LIST *list)
{
FILE_ENTRY *new = HeapReAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, list->feFiles,
@@ -1096,7 +1095,7 @@ static void destroy_file_list(FILE_LIST *flList)
@@ -1087,7 +1086,7 @@ static void destroy_file_list(FILE_LIST *flList)
static void copy_dir_to_dir(FILE_OPERATION *op, const FILE_ENTRY *feFrom, LPCWSTR szDestPath)
{
WCHAR szFrom[MAX_PATH], szTo[MAX_PATH];
- SHFILEOPSTRUCTW fileOp;
+ FILE_LIST flFromNew, flToNew;
static const WCHAR wildCardFiles[] = {'*','.','*',0};
@@ -1124,17 +1123,16 @@ static void copy_dir_to_dir(FILE_OPERATION *op, const FILE_ENTRY *feFrom, LPCWST
PathCombineW(szFrom, feFrom->szFullPath, wildCardFiles);
if (IsDotDir(feFrom->szFilename))
return;
@@ -1113,17 +1112,16 @@ static void copy_dir_to_dir(FILE_OPERATION *op, const FILE_ENTRY *feFrom, LPCWST
PathCombineW(szFrom, feFrom->szFullPath, L"*.*");
szFrom[lstrlenW(szFrom) + 1] = '\0';
- fileOp = *op->req;
@ -280,7 +280,7 @@ index 7b5339acc92..85448bad7dd 100644
}
static BOOL copy_file_to_file(FILE_OPERATION *op, const WCHAR *szFrom, const WCHAR *szTo)
@@ -1145,7 +1143,7 @@ static BOOL copy_file_to_file(FILE_OPERATION *op, const WCHAR *szFrom, const WCH
@@ -1134,7 +1132,7 @@ static BOOL copy_file_to_file(FILE_OPERATION *op, const WCHAR *szFrom, const WCH
return FALSE;
}
@ -289,7 +289,7 @@ index 7b5339acc92..85448bad7dd 100644
}
/* copy a file or directory to another directory */
@@ -1185,7 +1183,7 @@ static void create_dest_dirs(LPCWSTR szDestDir)
@@ -1174,7 +1172,7 @@ static void create_dest_dirs(LPCWSTR szDestDir)
}
/* the FO_COPY operation */
@ -298,7 +298,7 @@ index 7b5339acc92..85448bad7dd 100644
{
DWORD i;
const FILE_ENTRY *entryToCopy;
@@ -1208,7 +1206,7 @@ static int copy_files(FILE_OPERATION *op, const FILE_LIST *flFrom, FILE_LIST *fl
@@ -1197,7 +1195,7 @@ static int copy_files(FILE_OPERATION *op, const FILE_LIST *flFrom, FILE_LIST *fl
fileDest = &flTo->feFiles[0];
}
@ -307,7 +307,7 @@ index 7b5339acc92..85448bad7dd 100644
{
if (flFrom->bAnyFromWildcard)
return ERROR_CANCELLED;
@@ -1260,8 +1258,7 @@ static int copy_files(FILE_OPERATION *op, const FILE_LIST *flFrom, FILE_LIST *fl
@@ -1249,8 +1247,7 @@ static int copy_files(FILE_OPERATION *op, const FILE_LIST *flFrom, FILE_LIST *fl
{
entryToCopy = &flFrom->feFiles[i];
@ -317,7 +317,7 @@ index 7b5339acc92..85448bad7dd 100644
{
fileDest = &flTo->feFiles[i];
}
@@ -1333,7 +1330,7 @@ static BOOL confirm_delete_list(HWND hWnd, DWORD fFlags, BOOL fTrash, const FILE
@@ -1321,7 +1318,7 @@ static BOOL confirm_delete_list(HWND hWnd, DWORD fFlags, BOOL fTrash, const FILE
}
/* the FO_DELETE operation */
@ -326,7 +326,7 @@ index 7b5339acc92..85448bad7dd 100644
{
const FILE_ENTRY *fileEntry;
DWORD i;
@@ -1344,12 +1341,12 @@ static int delete_files(LPSHFILEOPSTRUCTW lpFileOp, const FILE_LIST *flFrom)
@@ -1332,12 +1329,12 @@ static int delete_files(LPSHFILEOPSTRUCTW lpFileOp, const FILE_LIST *flFrom)
return ERROR_SUCCESS;
/* Windows also checks only the first item */
@ -343,7 +343,7 @@ index 7b5339acc92..85448bad7dd 100644
return 0;
}
@@ -1358,7 +1355,7 @@ static int delete_files(LPSHFILEOPSTRUCTW lpFileOp, const FILE_LIST *flFrom)
@@ -1346,7 +1343,7 @@ static int delete_files(LPSHFILEOPSTRUCTW lpFileOp, const FILE_LIST *flFrom)
fileEntry = &flFrom->feFiles[i];
if (!IsAttribFile(fileEntry->attributes) &&
@ -352,7 +352,7 @@ index 7b5339acc92..85448bad7dd 100644
continue;
if (bTrash)
@@ -1368,14 +1365,14 @@ static int delete_files(LPSHFILEOPSTRUCTW lpFileOp, const FILE_LIST *flFrom)
@@ -1356,14 +1353,14 @@ static int delete_files(LPSHFILEOPSTRUCTW lpFileOp, const FILE_LIST *flFrom)
continue;
/* Note: Windows silently deletes the file in such a situation, we show a dialog */
@ -370,7 +370,7 @@ index 7b5339acc92..85448bad7dd 100644
break;
}
}
@@ -1385,7 +1382,7 @@ static int delete_files(LPSHFILEOPSTRUCTW lpFileOp, const FILE_LIST *flFrom)
@@ -1373,7 +1370,7 @@ static int delete_files(LPSHFILEOPSTRUCTW lpFileOp, const FILE_LIST *flFrom)
ret = DeleteFileW(fileEntry->szFullPath) ?
ERROR_SUCCESS : GetLastError();
else
@ -379,7 +379,7 @@ index 7b5339acc92..85448bad7dd 100644
if (ret)
return ret;
@@ -1395,16 +1392,16 @@ static int delete_files(LPSHFILEOPSTRUCTW lpFileOp, const FILE_LIST *flFrom)
@@ -1383,16 +1380,16 @@ static int delete_files(LPSHFILEOPSTRUCTW lpFileOp, const FILE_LIST *flFrom)
}
/* moves a file or directory to another directory */
@ -399,7 +399,7 @@ index 7b5339acc92..85448bad7dd 100644
{
DWORD i;
INT mismatched = 0;
@@ -1417,14 +1414,12 @@ static int move_files(LPSHFILEOPSTRUCTW lpFileOp, const FILE_LIST *flFrom, const
@@ -1405,14 +1402,12 @@ static int move_files(LPSHFILEOPSTRUCTW lpFileOp, const FILE_LIST *flFrom, const
if (!flTo->dwNumFiles)
return ERROR_FILE_NOT_FOUND;
@ -416,7 +416,7 @@ index 7b5339acc92..85448bad7dd 100644
flFrom->dwNumFiles > flTo->dwNumFiles)
{
return ERROR_CANCELLED;
@@ -1437,7 +1432,7 @@ static int move_files(LPSHFILEOPSTRUCTW lpFileOp, const FILE_LIST *flFrom, const
@@ -1425,7 +1420,7 @@ static int move_files(LPSHFILEOPSTRUCTW lpFileOp, const FILE_LIST *flFrom, const
return ret;
}
@ -425,7 +425,7 @@ index 7b5339acc92..85448bad7dd 100644
mismatched = flFrom->dwNumFiles - flTo->dwNumFiles;
fileDest = &flTo->feFiles[0];
@@ -1448,7 +1443,7 @@ static int move_files(LPSHFILEOPSTRUCTW lpFileOp, const FILE_LIST *flFrom, const
@@ -1436,7 +1431,7 @@ static int move_files(LPSHFILEOPSTRUCTW lpFileOp, const FILE_LIST *flFrom, const
if (!PathFileExistsW(fileDest->szDirectory))
return ERROR_CANCELLED;
@ -434,7 +434,7 @@ index 7b5339acc92..85448bad7dd 100644
{
if (i >= flTo->dwNumFiles)
break;
@@ -1462,9 +1457,9 @@ static int move_files(LPSHFILEOPSTRUCTW lpFileOp, const FILE_LIST *flFrom, const
@@ -1450,9 +1445,9 @@ static int move_files(LPSHFILEOPSTRUCTW lpFileOp, const FILE_LIST *flFrom, const
}
if (fileDest->bExists && IsAttribDir(fileDest->attributes))
@ -446,7 +446,7 @@ index 7b5339acc92..85448bad7dd 100644
}
if (mismatched > 0)
@@ -1479,7 +1474,7 @@ static int move_files(LPSHFILEOPSTRUCTW lpFileOp, const FILE_LIST *flFrom, const
@@ -1467,7 +1462,7 @@ static int move_files(LPSHFILEOPSTRUCTW lpFileOp, const FILE_LIST *flFrom, const
}
/* the FO_RENAME files */
@ -455,7 +455,7 @@ index 7b5339acc92..85448bad7dd 100644
{
const FILE_ENTRY *feFrom;
const FILE_ENTRY *feTo;
@@ -1501,7 +1496,7 @@ static int rename_files(LPSHFILEOPSTRUCTW lpFileOp, const FILE_LIST *flFrom, con
@@ -1489,7 +1484,7 @@ static int rename_files(LPSHFILEOPSTRUCTW lpFileOp, const FILE_LIST *flFrom, con
if (feTo->bExists)
return ERROR_ALREADY_EXISTS;
@ -464,7 +464,7 @@ index 7b5339acc92..85448bad7dd 100644
}
/* alert the user if an unsupported flag is used */
@@ -1548,16 +1543,16 @@ int WINAPI SHFileOperationW(LPSHFILEOPSTRUCTW lpFileOp)
@@ -1536,16 +1531,16 @@ int WINAPI SHFileOperationW(LPSHFILEOPSTRUCTW lpFileOp)
switch (lpFileOp->wFunc)
{
case FO_COPY:

View File

@ -1,4 +1,4 @@
From 10a17211f70192614d6e799ed76fe811b120dcc2 Mon Sep 17 00:00:00 2001
From c7362e2cda63ee0be3ac48b8d75cb2b30d79f4d8 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Fri, 27 Feb 2015 01:04:33 +0100
Subject: [PATCH] shell32: Implement file operation progress dialog.
@ -29,10 +29,10 @@ index f7f8eea2da5..eb03982f6a9 100644
IDS_RESTART_TITLE "Restart"
IDS_RESTART_PROMPT "Do you want to simulate a Windows reboot?"
diff --git a/dlls/shell32/shlfileop.c b/dlls/shell32/shlfileop.c
index 50ee0486a23..4c8dcb00ac6 100644
index 86367b53b69..39159731599 100644
--- a/dlls/shell32/shlfileop.c
+++ b/dlls/shell32/shlfileop.c
@@ -65,6 +65,10 @@ typedef struct
@@ -72,6 +72,10 @@ typedef struct
DWORD dwYesToAllMask;
BOOL bManyItems;
BOOL bCancelled;
@ -43,7 +43,7 @@ index 50ee0486a23..4c8dcb00ac6 100644
} FILE_OPERATION;
typedef struct
@@ -103,6 +107,12 @@ static DWORD SHFindAttrW(LPCWSTR pName, BOOL fileOnly);
@@ -110,6 +114,12 @@ static DWORD SHFindAttrW(LPCWSTR pName, BOOL fileOnly);
static int copy_files(FILE_OPERATION *op, BOOL multidest, const FILE_LIST *flFrom, FILE_LIST *flTo);
static int move_files(FILE_OPERATION *op, BOOL multidest, const FILE_LIST *flFrom, const FILE_LIST *flTo);
@ -55,8 +55,8 @@ index 50ee0486a23..4c8dcb00ac6 100644
+
/* Confirm dialogs with an optional "Yes To All" as used in file operations confirmations
*/
static const WCHAR CONFIRM_MSG_PROP[] = {'W','I','N','E','_','C','O','N','F','I','R','M',0};
@@ -391,6 +401,13 @@ static DWORD SHELL_DeleteDirectoryW(FILE_OPERATION *op, LPCWSTR pszDir, BOOL bSh
struct confirm_msg_info
@@ -395,6 +405,13 @@ static DWORD SHELL_DeleteDirectoryW(FILE_OPERATION *op, LPCWSTR pszDir, BOOL bSh
ret = SHELL_DeleteDirectoryW(op, szTemp, FALSE);
else
ret = SHNotifyDeleteFileW(op, szTemp);
@ -70,7 +70,7 @@ index 50ee0486a23..4c8dcb00ac6 100644
} while (!ret && FindNextFileW(hFind, &wfd));
}
FindClose(hFind);
@@ -544,10 +561,22 @@ static DWORD SHNotifyDeleteFileA(FILE_OPERATION *op, LPCSTR path)
@@ -548,10 +565,22 @@ static DWORD SHNotifyDeleteFileA(FILE_OPERATION *op, LPCSTR path)
static DWORD SHNotifyDeleteFileW(FILE_OPERATION *op, LPCWSTR path)
{
BOOL ret;
@ -94,7 +94,7 @@ index 50ee0486a23..4c8dcb00ac6 100644
ret = DeleteFileW(path);
if (!ret)
@@ -560,6 +589,14 @@ static DWORD SHNotifyDeleteFileW(FILE_OPERATION *op, LPCWSTR path)
@@ -564,6 +593,14 @@ static DWORD SHNotifyDeleteFileW(FILE_OPERATION *op, LPCWSTR path)
}
if (ret)
{
@ -109,7 +109,7 @@ index 50ee0486a23..4c8dcb00ac6 100644
SHChangeNotify(SHCNE_DELETE, SHCNF_PATHW, path, NULL);
return ERROR_SUCCESS;
}
@@ -594,9 +631,10 @@ static DWORD SHNotifyMoveFileW(FILE_OPERATION *op, LPCWSTR src, LPCWSTR dest)
@@ -598,9 +635,10 @@ static DWORD SHNotifyMoveFileW(FILE_OPERATION *op, LPCWSTR src, LPCWSTR dest)
TRACE("(%s %s)\n", debugstr_w(src), debugstr_w(dest));
@ -122,7 +122,7 @@ index 50ee0486a23..4c8dcb00ac6 100644
/* MOVEFILE_REPLACE_EXISTING fails with dirs, so try MoveFile */
if (!ret)
@@ -646,14 +684,15 @@ static DWORD SHNotifyCopyFileW(FILE_OPERATION *op, LPCWSTR src, LPCWSTR dest, BO
@@ -650,14 +688,15 @@ static DWORD SHNotifyCopyFileW(FILE_OPERATION *op, LPCWSTR src, LPCWSTR dest, BO
TRACE("(%s %s %s)\n", debugstr_w(src), debugstr_w(dest), bFailIfExists ? "failIfExists" : "");
@ -140,7 +140,7 @@ index 50ee0486a23..4c8dcb00ac6 100644
if (ret)
{
SHChangeNotify(SHCNE_CREATE, SHCNF_PATHW, dest, NULL);
@@ -1295,6 +1334,8 @@ static int copy_files(FILE_OPERATION *op, BOOL multidest, const FILE_LIST *flFro
@@ -1297,6 +1336,8 @@ static int copy_files(FILE_OPERATION *op, BOOL multidest, const FILE_LIST *flFro
}
/* Vista return code. XP would return e.g. ERROR_FILE_NOT_FOUND, ERROR_ALREADY_EXISTS */
@ -149,7 +149,7 @@ index 50ee0486a23..4c8dcb00ac6 100644
if (op->bCancelled)
return ERROR_CANCELLED;
}
@@ -1376,13 +1417,17 @@ static int delete_files(FILE_OPERATION *op, const FILE_LIST *flFrom)
@@ -1377,13 +1418,17 @@ static int delete_files(FILE_OPERATION *op, const FILE_LIST *flFrom)
/* delete the file or directory */
if (IsAttribFile(fileEntry->attributes))
@ -169,7 +169,7 @@ index 50ee0486a23..4c8dcb00ac6 100644
}
return ERROR_SUCCESS;
@@ -1457,6 +1502,11 @@ static int move_files(FILE_OPERATION *op, BOOL multidest, const FILE_LIST *flFro
@@ -1458,6 +1503,11 @@ static int move_files(FILE_OPERATION *op, BOOL multidest, const FILE_LIST *flFro
move_to_dir(op, entryToMove, fileDest);
else
SHNotifyMoveFileW(op, entryToMove->szFullPath, fileDest->szFullPath);
@ -181,7 +181,7 @@ index 50ee0486a23..4c8dcb00ac6 100644
}
if (mismatched > 0)
@@ -1516,6 +1566,7 @@ int WINAPI SHFileOperationW(LPSHFILEOPSTRUCTW lpFileOp)
@@ -1517,6 +1567,7 @@ int WINAPI SHFileOperationW(LPSHFILEOPSTRUCTW lpFileOp)
{
FILE_OPERATION op;
FILE_LIST flFrom, flTo;
@ -189,7 +189,7 @@ index 50ee0486a23..4c8dcb00ac6 100644
int ret = 0;
if (!lpFileOp)
@@ -1534,9 +1585,31 @@ int WINAPI SHFileOperationW(LPSHFILEOPSTRUCTW lpFileOp)
@@ -1535,9 +1586,31 @@ int WINAPI SHFileOperationW(LPSHFILEOPSTRUCTW lpFileOp)
ZeroMemory(&op, sizeof(op));
op.req = lpFileOp;
@ -221,7 +221,7 @@ index 50ee0486a23..4c8dcb00ac6 100644
switch (lpFileOp->wFunc)
{
case FO_COPY:
@@ -1556,6 +1629,12 @@ int WINAPI SHFileOperationW(LPSHFILEOPSTRUCTW lpFileOp)
@@ -1557,6 +1630,12 @@ int WINAPI SHFileOperationW(LPSHFILEOPSTRUCTW lpFileOp)
break;
}
@ -234,7 +234,7 @@ index 50ee0486a23..4c8dcb00ac6 100644
destroy_file_list(&flFrom);
if (lpFileOp->wFunc != FO_DELETE)
@@ -1564,6 +1643,9 @@ int WINAPI SHFileOperationW(LPSHFILEOPSTRUCTW lpFileOp)
@@ -1565,6 +1644,9 @@ int WINAPI SHFileOperationW(LPSHFILEOPSTRUCTW lpFileOp)
if (ret == ERROR_CANCELLED)
lpFileOp->fAnyOperationsAborted = TRUE;
@ -244,7 +244,7 @@ index 50ee0486a23..4c8dcb00ac6 100644
SetLastError(ERROR_SUCCESS);
return ret;
}
@@ -2052,3 +2134,184 @@ HRESULT WINAPI IFileOperation_Constructor(IUnknown *outer, REFIID riid, void **o
@@ -2053,3 +2135,184 @@ HRESULT WINAPI IFileOperation_Constructor(IUnknown *outer, REFIID riid, void **o
return hr;
}

View File

@ -1,4 +1,4 @@
From 3c48b07b4aeaf7bfae61c5e43382fd2165ae31bd Mon Sep 17 00:00:00 2001
From 71e2a33c1ecf912c000449971bcbae26a7797c6a Mon Sep 17 00:00:00 2001
From: Louis Lenders <xerox.xerox2000x@gmail.com>
Date: Fri, 12 Oct 2018 11:57:18 +0200
Subject: [PATCH] shell32: Improve semi-stub SHGetStockIconInfo, try find
@ -13,15 +13,15 @@ Fix for bug https://bugs.winehq.org/show_bug.cgi?id=45868
Signed-off-by: Louis Lenders <xerox.xerox2000x@gmail.com>
---
dlls/shell32/iconcache.c | 158 +++++++++++++++++++++++++++++++--
dlls/shell32/iconcache.c | 156 +++++++++++++++++++++++++++++++--
dlls/shell32/tests/shelllink.c | 15 ++++
2 files changed, 165 insertions(+), 8 deletions(-)
2 files changed, 164 insertions(+), 7 deletions(-)
diff --git a/dlls/shell32/iconcache.c b/dlls/shell32/iconcache.c
index 6107e0c33b..da3e043d95 100644
index a1c91f4785e..48fc5744879 100644
--- a/dlls/shell32/iconcache.c
+++ b/dlls/shell32/iconcache.c
@@ -987,6 +987,119 @@ INT WINAPI SHGetIconOverlayIndexW(LPCWSTR pszIconPath, INT iIconIndex)
@@ -1020,6 +1020,119 @@ INT WINAPI SHGetIconOverlayIndexW(LPCWSTR pszIconPath, INT iIconIndex)
return -1;
}
@ -141,31 +141,31 @@ index 6107e0c33b..da3e043d95 100644
/****************************************************************************
* SHGetStockIconInfo [SHELL32.@]
*
@@ -1004,25 +1117,54 @@ INT WINAPI SHGetIconOverlayIndexW(LPCWSTR pszIconPath, INT iIconIndex)
@@ -1037,23 +1150,52 @@ INT WINAPI SHGetIconOverlayIndexW(LPCWSTR pszIconPath, INT iIconIndex)
*/
HRESULT WINAPI SHGetStockIconInfo(SHSTOCKICONID id, UINT flags, SHSTOCKICONINFO *sii)
{
- static const WCHAR shell32dll[] = {'\\','s','h','e','l','l','3','2','.','d','l','l',0};
+ static const WCHAR shell32dllW[] = {'s','h','e','l','l','3','2','.','d','l','l',0};
+ static const WCHAR slashW[] = {'\\',0};
+ HMODULE hmod;
- FIXME("(%d, 0x%x, %p) semi-stub\n", id, flags, sii);
+ HMODULE hmod;
+
+ TRACE("(%d, 0x%x, %p)\n", id, flags, sii);
+
if ((id < 0) || (id >= SIID_MAX_ICONS) || !sii || (sii->cbSize != sizeof(SHSTOCKICONINFO))) {
return E_INVALIDARG;
}
GetSystemDirectoryW(sii->szPath, MAX_PATH);
+ lstrcatW(sii->szPath, slashW);
+ lstrcatW(sii->szPath, shell32dllW);
+
+ sii->hIcon = NULL;
+ sii->iSysImageIndex = -1;
-
- /* no icons defined: use default */
- sii->iIcon = -IDI_SHELL_FILE;
- lstrcatW(sii->szPath, shell32dll);
lstrcatW(sii->szPath, L"\\shell32.dll");
- if (flags)
- FIXME("flags 0x%x not implemented\n", flags);
-
sii->hIcon = NULL;
sii->iSysImageIndex = -1;
+ /* this is not how windows does it, on windows picked mostly from imageres.dll !*/
+ if (si_table[id].iconid)
+ sii->iIcon = sii->iSysImageIndex - si_table[id].id;
@ -179,7 +179,7 @@ index 6107e0c33b..da3e043d95 100644
+ {
+ flags &= ~SHGSI_ICON;
+
+ hmod = GetModuleHandleW(shell32dllW);
+ hmod = GetModuleHandleW(L"shell32.dll");
+ if (hmod)
+ {
+ if (si_table[id].iconid)
@ -194,21 +194,18 @@ index 6107e0c33b..da3e043d95 100644
+ return E_INVALIDARG;
+ }
+ }
if (flags)
FIXME("flags 0x%x not implemented\n", flags);
- sii->hIcon = NULL;
- sii->iSysImageIndex = -1;
-
+
+ if (flags)
+ FIXME("flags 0x%x not implemented\n", flags);
+
TRACE("%3d: returning %s (%d)\n", id, debugstr_w(sii->szPath), sii->iIcon);
return S_OK;
diff --git a/dlls/shell32/tests/shelllink.c b/dlls/shell32/tests/shelllink.c
index 3bfd9cbe38..e7e3dac987 100644
index edd536c3a01..05adcae57b2 100644
--- a/dlls/shell32/tests/shelllink.c
+++ b/dlls/shell32/tests/shelllink.c
@@ -1139,6 +1139,21 @@ static void test_SHGetStockIconInfo(void)
@@ -1073,6 +1073,21 @@ static void test_SHGetStockIconInfo(void)
/* there is a NULL check for the struct */
hr = pSHGetStockIconInfo(SIID_FOLDER, SHGSI_ICONLOCATION, NULL);
ok(hr == E_INVALIDARG, "NULL: got 0x%x\n", hr);
@ -231,5 +228,5 @@ index 3bfd9cbe38..e7e3dac987 100644
static void test_SHExtractIcons(void)
--
2.19.1
2.33.0

View File

@ -1,4 +1,4 @@
From c36fdad49464375eaf3696df6915c12e3e3e894c Mon Sep 17 00:00:00 2001
From 0ff072aa67bc20ee219f5187d36d1ff132a96a6c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gabriel=20Iv=C4=83ncescu?= <gabrielopcode@gmail.com>
Date: Mon, 22 Jul 2019 15:29:26 +0300
Subject: [PATCH] user32/tests: Test a recursive activation loop on WM_ACTIVATE
@ -15,10 +15,10 @@ Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
1 file changed, 81 insertions(+)
diff --git a/dlls/user32/tests/msg.c b/dlls/user32/tests/msg.c
index 64054147a62..7a85e556f34 100644
index 504a276c32f..0a0ee2da6e4 100644
--- a/dlls/user32/tests/msg.c
+++ b/dlls/user32/tests/msg.c
@@ -5106,6 +5106,39 @@ static void test_showwindow(void)
@@ -5114,6 +5114,39 @@ static void test_showwindow(void)
flush_sequence();
}
@ -58,7 +58,7 @@ index 64054147a62..7a85e556f34 100644
static void test_sys_menu(void)
{
HWND hwnd;
@@ -10101,6 +10134,48 @@ static LRESULT WINAPI ShowWindowProcA(HWND hwnd, UINT message, WPARAM wParam, LP
@@ -10109,6 +10142,48 @@ static LRESULT WINAPI ShowWindowProcA(HWND hwnd, UINT message, WPARAM wParam, LP
return ret;
}
@ -107,7 +107,7 @@ index 64054147a62..7a85e556f34 100644
static LRESULT WINAPI PaintLoopProcA(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam)
{
switch (msg)
@@ -10198,6 +10273,10 @@ static BOOL RegisterWindowClasses(void)
@@ -10206,6 +10281,10 @@ static BOOL RegisterWindowClasses(void)
cls.lpszClassName = "ShowWindowClass";
if(!RegisterClassA(&cls)) return FALSE;
@ -118,7 +118,7 @@ index 64054147a62..7a85e556f34 100644
cls.lpfnWndProc = PopupMsgCheckProcA;
cls.lpszClassName = "TestPopupClass";
if(!RegisterClassA(&cls)) return FALSE;
@@ -10253,6 +10332,7 @@ static BOOL is_our_logged_class(HWND hwnd)
@@ -10261,6 +10340,7 @@ static BOOL is_our_logged_class(HWND hwnd)
{
if (!lstrcmpiA(buf, "TestWindowClass") ||
!lstrcmpiA(buf, "ShowWindowClass") ||
@ -126,14 +126,14 @@ index 64054147a62..7a85e556f34 100644
!lstrcmpiA(buf, "TestParentClass") ||
!lstrcmpiA(buf, "TestPopupClass") ||
!lstrcmpiA(buf, "SimpleWindowClass") ||
@@ -18476,6 +18556,7 @@ START_TEST(msg)
@@ -18499,6 +18579,7 @@ START_TEST(msg)
test_messages();
test_setwindowpos();
test_showwindow();
+ test_recursive_activation();
invisible_parent_tests();
test_mdi_messages();
/* Fix message sequences before removing 4 lines below */
--
2.33.0

View File

@ -1,4 +1,4 @@
From 6b2e1e7f5021f8f8652c33c38693c53e1a745e28 Mon Sep 17 00:00:00 2001
From 584eecc73a8cba537b8f50932769729a29fe7d3d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Mon, 26 Dec 2016 16:37:40 +0100
Subject: [PATCH] wineboot: Initialize proxy settings registry key.
@ -9,20 +9,19 @@ Subject: [PATCH] wineboot: Initialize proxy settings registry key.
2 files changed, 10 insertions(+), 1 deletion(-)
diff --git a/programs/wineboot/Makefile.in b/programs/wineboot/Makefile.in
index 0a1f5e4152f..7d8642694c3 100644
index 667f8f48702..4a1747ad047 100644
--- a/programs/wineboot/Makefile.in
+++ b/programs/wineboot/Makefile.in
@@ -1,7 +1,7 @@
@@ -1,6 +1,6 @@
MODULE = wineboot.exe
APPMODE = -mconsole
IMPORTS = uuid advapi32 ws2_32 kernelbase
-DELAYIMPORTS = shell32 shlwapi version user32 setupapi newdev
+DELAYIMPORTS = shell32 shlwapi version user32 setupapi newdev wininet
EXTRADLLFLAGS = -mno-cygwin
EXTRADLLFLAGS = -mconsole
diff --git a/programs/wineboot/wineboot.c b/programs/wineboot/wineboot.c
index 27ba8b2eead..518444a4787 100644
index 14943b005ef..9aab3b68e5b 100644
--- a/programs/wineboot/wineboot.c
+++ b/programs/wineboot/wineboot.c
@@ -77,6 +77,7 @@
@ -47,7 +46,7 @@ index 27ba8b2eead..518444a4787 100644
/* Performs the rename operations dictated in %SystemRoot%\Wininit.ini.
* Returns FALSE if there was an error, or otherwise if all is ok.
*/
@@ -1813,6 +1821,7 @@ int __cdecl main( int argc, char *argv[] )
@@ -1812,6 +1820,7 @@ int __cdecl main( int argc, char *argv[] )
if (init || update) update_wineprefix( update );
create_volatile_environment_registry_key();
@ -56,5 +55,5 @@ index 27ba8b2eead..518444a4787 100644
ProcessRunKeys( HKEY_LOCAL_MACHINE, L"RunOnce", TRUE, TRUE );
--
2.30.2
2.33.0

View File

@ -1,4 +1,4 @@
From 4dcf6eeb01f5df57d71ce20b1a8c438905cb22f0 Mon Sep 17 00:00:00 2001
From a7ebcd8202c860f9966a861dee5cfc6c3c307c59 Mon Sep 17 00:00:00 2001
From: Sebastian Lackner <sebastian@fds-team.de>
Date: Wed, 24 Sep 2014 21:13:59 +0200
Subject: [PATCH] winemenubuilder: Create desktop shortcuts with absolute wine
@ -15,17 +15,16 @@ wine, and so on ...).
2 files changed, 16 insertions(+), 6 deletions(-)
diff --git a/programs/winemenubuilder/Makefile.in b/programs/winemenubuilder/Makefile.in
index 07e2702843b..a4e28adc4b4 100644
index f42cc0abdf2..6590ca7c642 100644
--- a/programs/winemenubuilder/Makefile.in
+++ b/programs/winemenubuilder/Makefile.in
@@ -1,6 +1,7 @@
@@ -1,5 +1,6 @@
MODULE = winemenubuilder.exe
APPMODE = -mwindows -municode
IMPORTS = uuid windowscodecs shell32 shlwapi ole32 user32 advapi32
+EXTRADEFS = -DBINDIR="\"${bindir}\""
C_SRCS = \
winemenubuilder.c
EXTRADLLFLAGS = -mwindows -municode -mcygwin
diff --git a/programs/winemenubuilder/winemenubuilder.c b/programs/winemenubuilder/winemenubuilder.c
index 87ff3f37637..bac3b2485c8 100644
--- a/programs/winemenubuilder/winemenubuilder.c
@ -77,5 +76,5 @@ index 87ff3f37637..bac3b2485c8 100644
fprintf(desktop, "StartupNotify=true\n");
if (openWithIcon)
--
2.30.2
2.33.0

View File

@ -1 +1 @@
16e73be10d940c9c04101a47687a6f8a385c2b0f
975d0632a19efd41338cb73a97f1b0bdbe7bc0cc