mirror of
https://gitlab.winehq.org/wine/wine-staging.git
synced 2024-11-21 16:46:54 -08:00
Removed several patches (accepted upstream).
This commit is contained in:
parent
b0ab8b3913
commit
565f1e2e53
@ -37,10 +37,9 @@ Wine. All those differences are also documented on the
|
||||
Included bug fixes and improvements
|
||||
===================================
|
||||
|
||||
**Bugfixes and features included in the next upcoming release [2]:**
|
||||
**Bugfixes and features included in the next upcoming release [1]:**
|
||||
|
||||
* Fix handling of subdirectory in FtpFindFirstFile ([Wine Bug #16526](https://bugs.winehq.org/show_bug.cgi?id=16526))
|
||||
* Return proper charcount for GetLocaleInfo with LOCALE_IFIRSTDAYOFWEEK ([Wine Bug #32169](https://bugs.winehq.org/show_bug.cgi?id=32169))
|
||||
|
||||
|
||||
**Bugs fixed in Wine Staging 1.7.33 [119]:**
|
||||
@ -93,7 +92,7 @@ Included bug fixes and improvements
|
||||
* Implement a Microsoft Yahei replacement font ([Wine Bug #13829](https://bugs.winehq.org/show_bug.cgi?id=13829))
|
||||
* Implement an Arial replacement font ([Wine Bug #32323](https://bugs.winehq.org/show_bug.cgi?id=32323))
|
||||
* Implement exclusive mode in PulseAudio backend ([Wine Bug #37042](https://bugs.winehq.org/show_bug.cgi?id=37042))
|
||||
* Implement stubs for mfplat.MFStartup and MFShutdown ([Wine Bug #37701](https://bugs.winehq.org/show_bug.cgi?id=37701))
|
||||
* ~~Implement stubs for mfplat.MFStartup and MFShutdown~~ ([Wine Bug #37701](https://bugs.winehq.org/show_bug.cgi?id=37701))
|
||||
* Improvement for heap allocation performance
|
||||
* Initialize irp.Tail.Overlay.OriginalFileObject with stub file object ([Wine Bug #37537](https://bugs.winehq.org/show_bug.cgi?id=37537))
|
||||
* Lego Stunt Rally requires DXTn software de/encoding support ([Wine Bug #25486](https://bugs.winehq.org/show_bug.cgi?id=25486))
|
||||
@ -129,7 +128,7 @@ Included bug fixes and improvements
|
||||
* Support for ITextDocument_fnRange function ([Wine Bug #12458](https://bugs.winehq.org/show_bug.cgi?id=12458))
|
||||
* Support for ITextRange, ITextFont and ITextPara ([Wine Bug #18303](https://bugs.winehq.org/show_bug.cgi?id=18303))
|
||||
* Support for Junction Points ([Wine Bug #12401](https://bugs.winehq.org/show_bug.cgi?id=12401))
|
||||
* Support for K32EnumProcessModulesEx ([Wine Bug #34864](https://bugs.winehq.org/show_bug.cgi?id=34864))
|
||||
* ~~Support for K32EnumProcessModulesEx~~ ([Wine Bug #34864](https://bugs.winehq.org/show_bug.cgi?id=34864))
|
||||
* Support for KF_FLAG_DEFAULT_PATH in SHGetKnownFolderPath ([Wine Bug #30385](https://bugs.winehq.org/show_bug.cgi?id=30385))
|
||||
* Support for LoadIconMetric ([Wine Bug #35375](https://bugs.winehq.org/show_bug.cgi?id=35375))
|
||||
* Support for NtQuerySection ([Wine Bug #37338](https://bugs.winehq.org/show_bug.cgi?id=37338))
|
||||
@ -137,7 +136,7 @@ Included bug fixes and improvements
|
||||
* Support for PulseAudio backend for audio ([Wine Bug #10495](https://bugs.winehq.org/show_bug.cgi?id=10495))
|
||||
* Support for RtlDecompressBuffer ([Wine Bug #37449](https://bugs.winehq.org/show_bug.cgi?id=37449))
|
||||
* Support for SHCreateSessionKey ([Wine Bug #35630](https://bugs.winehq.org/show_bug.cgi?id=35630))
|
||||
* Support for StrCatChainW
|
||||
* ~~Support for StrCatChainW~~
|
||||
* Support for TOOLTIPS_GetTipText edge cases ([Wine Bug #30648](https://bugs.winehq.org/show_bug.cgi?id=30648))
|
||||
* Support for TransmitFile ([Wine Bug #5048](https://bugs.winehq.org/show_bug.cgi?id=5048))
|
||||
* Support for UTF7 encoding/decoding ([Wine Bug #27388](https://bugs.winehq.org/show_bug.cgi?id=27388))
|
||||
|
4
debian/changelog
vendored
4
debian/changelog
vendored
@ -4,6 +4,10 @@ wine-compholio (1.7.34) UNRELEASED; urgency=low
|
||||
* Added patch to return proper charcount for GetLocaleInfo with LOCALE_IFIRSTDAYOFWEEK.
|
||||
* Removed patch to implement combase HSTRING objects (accepted upstream).
|
||||
* Removed patch to add fake ProductId to registry (accepted upstream).
|
||||
* Removed patch to implement stubs for MFStartup and MFShutdown (accepted upstream).
|
||||
* Removed patch to implement shlwapi.StrCatChainW (accepted upstream).
|
||||
* Removed patch to implement semi-stub for psapi/kernel32 K32EnumProcessModulesEx.
|
||||
* Removed patch to return proper charcount for GetLocaleInfo with LOCALE_IFIRSTDAYOFWEEK.
|
||||
-- Sebastian Lackner <sebastian@fds-team.de> Mon, 15 Dec 2014 22:42:09 +0100
|
||||
|
||||
wine-compholio (1.7.33) unstable; urgency=low
|
||||
|
@ -53,10 +53,8 @@ PATCHLIST := \
|
||||
kernel32-Profile.ok \
|
||||
kernel32-UTF7_Support.ok \
|
||||
kernel32-VerifyVersionInfo.ok \
|
||||
kernel32-get_registry_locale_info.ok \
|
||||
libs-Unicode_Collation.ok \
|
||||
libwine-BSD_mmap_fixed.ok \
|
||||
mfplat-Stubs.ok \
|
||||
msvcp90-basic_string_wchar_dtor.ok \
|
||||
msvcrt-atof_strtod.ok \
|
||||
ntdll-DOS_Attributes.ok \
|
||||
@ -83,7 +81,6 @@ PATCHLIST := \
|
||||
ntoskrnl-Stub_FileObject.ok \
|
||||
ntoskrnl-Write_CR4.ok \
|
||||
ole32-CoWaitForMultipleHandles.ok \
|
||||
psapi-K32EnumProcessModulesEx.ok \
|
||||
quartz-MediaSeeking_Positions.ok \
|
||||
riched20-IText_Interface.ok \
|
||||
secur32-Schannel_ContextAttr.ok \
|
||||
@ -105,7 +102,6 @@ PATCHLIST := \
|
||||
shell32-SHFileOperation.ok \
|
||||
shell32-SHILCreateFromPath.ok \
|
||||
shlwapi-PathIsDirectoryEmptyW.ok \
|
||||
shlwapi-StrCatChainW.ok \
|
||||
shlwapi-UrlCombine.ok \
|
||||
urlmon-CoInternetSetFeatureEnabled.ok \
|
||||
user32-Dialog_Paint_Event.ok \
|
||||
@ -741,21 +737,6 @@ kernel32-VerifyVersionInfo.ok:
|
||||
echo '+ { "Sebastian Lackner", "ntdll: Fix condition mask handling in RtlVerifyVersionInfo.", 1 },'; \
|
||||
) > kernel32-VerifyVersionInfo.ok
|
||||
|
||||
# Patchset kernel32-get_registry_locale_info
|
||||
# |
|
||||
# | This patchset fixes the following Wine bugs:
|
||||
# | * [#32169] Return proper charcount for GetLocaleInfo with LOCALE_IFIRSTDAYOFWEEK
|
||||
# |
|
||||
# | Modified files:
|
||||
# | * dlls/kernel32/locale.c
|
||||
# |
|
||||
.INTERMEDIATE: kernel32-get_registry_locale_info.ok
|
||||
kernel32-get_registry_locale_info.ok:
|
||||
$(call APPLY_FILE,kernel32-get_registry_locale_info/0001-kernel32-Return-proper-char-count-in-get_registry_lo.patch)
|
||||
@( \
|
||||
echo '+ { "Sebastian Lackner", "kernel32: Return proper char count in get_registry_locale_info.", 1 },'; \
|
||||
) > kernel32-get_registry_locale_info.ok
|
||||
|
||||
# Patchset libs-Unicode_Collation
|
||||
# |
|
||||
# | This patchset fixes the following Wine bugs:
|
||||
@ -786,23 +767,6 @@ libwine-BSD_mmap_fixed.ok:
|
||||
echo '+ { "André Hentschel", "libwine: Use try_mmap_fixed for wine64 on FreeBSD.", 1 },'; \
|
||||
) > libwine-BSD_mmap_fixed.ok
|
||||
|
||||
# Patchset mfplat-Stubs
|
||||
# |
|
||||
# | This patchset fixes the following Wine bugs:
|
||||
# | * [#37701] Implement stubs for mfplat.MFStartup and MFShutdown
|
||||
# |
|
||||
# | Modified files:
|
||||
# | * dlls/mfplat/main.c, dlls/mfplat/mfplat.spec, include/Makefile.in, include/mferror.h
|
||||
# |
|
||||
.INTERMEDIATE: mfplat-Stubs.ok
|
||||
mfplat-Stubs.ok:
|
||||
$(call APPLY_FILE,mfplat-Stubs/0001-include-Add-mferror.h-header.patch)
|
||||
$(call APPLY_FILE,mfplat-Stubs/0002-mfplat-Implement-stubs-for-MFStartup-and-MFShutdown.patch)
|
||||
@( \
|
||||
echo '+ { "Sebastian Lackner", "include: Add mferror.h header.", 1 },'; \
|
||||
echo '+ { "Sebastian Lackner", "mfplat: Implement stubs for MFStartup and MFShutdown.", 1 },'; \
|
||||
) > mfplat-Stubs.ok
|
||||
|
||||
# Patchset mshtml-sessionStorage
|
||||
# |
|
||||
# | Modified files:
|
||||
@ -1260,21 +1224,6 @@ ole32-CoWaitForMultipleHandles.ok:
|
||||
echo '+ { "Sebastian Lackner", "ole32/tests: Add additional tests for CoWaitForMultipleHandles and WM_QUIT.", 1 },'; \
|
||||
) > ole32-CoWaitForMultipleHandles.ok
|
||||
|
||||
# Patchset psapi-K32EnumProcessModulesEx
|
||||
# |
|
||||
# | This patchset fixes the following Wine bugs:
|
||||
# | * [#34864] Support for K32EnumProcessModulesEx
|
||||
# |
|
||||
# | Modified files:
|
||||
# | * dlls/kernel32/kernel32.spec, dlls/kernel32/module.c, dlls/psapi/psapi.spec, include/psapi.h
|
||||
# |
|
||||
.INTERMEDIATE: psapi-K32EnumProcessModulesEx.ok
|
||||
psapi-K32EnumProcessModulesEx.ok:
|
||||
$(call APPLY_FILE,psapi-K32EnumProcessModulesEx/0001-psapi-Implement-semi-stub-for-K32EnumProcessModulesE.patch)
|
||||
@( \
|
||||
echo '+ { "Sebastian Lackner", "psapi: Implement semi-stub for K32EnumProcessModulesEx.", 1 },'; \
|
||||
) > psapi-K32EnumProcessModulesEx.ok
|
||||
|
||||
# Patchset quartz-MediaSeeking_Positions
|
||||
# |
|
||||
# | This patchset fixes the following Wine bugs:
|
||||
@ -1632,18 +1581,6 @@ shlwapi-PathIsDirectoryEmptyW.ok:
|
||||
echo '+ { "Michael Müller", "shlwapi: Correctly treat '\''.'\'' when enumerating files in PathIsDirectoryEmptyW.", 1 },'; \
|
||||
) > shlwapi-PathIsDirectoryEmptyW.ok
|
||||
|
||||
# Patchset shlwapi-StrCatChainW
|
||||
# |
|
||||
# | Modified files:
|
||||
# | * dlls/shlwapi/shlwapi.spec, dlls/shlwapi/string.c, dlls/shlwapi/tests/string.c
|
||||
# |
|
||||
.INTERMEDIATE: shlwapi-StrCatChainW.ok
|
||||
shlwapi-StrCatChainW.ok:
|
||||
$(call APPLY_FILE,shlwapi-StrCatChainW/0001-shlwapi-Add-implementation-for-StrCatChainW.patch)
|
||||
@( \
|
||||
echo '+ { "Sebastian Lackner", "shlwapi: Add implementation for StrCatChainW.", 1 },'; \
|
||||
) > shlwapi-StrCatChainW.ok
|
||||
|
||||
# Patchset shlwapi-UrlCombine
|
||||
# |
|
||||
# | Modified files:
|
||||
|
@ -1,27 +0,0 @@
|
||||
From 0dc9223ea631649d09fb6e94c4c01032150c155c Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Lackner <sebastian@fds-team.de>
|
||||
Date: Tue, 16 Dec 2014 04:10:34 +0100
|
||||
Subject: kernel32: Return proper char count in get_registry_locale_info.
|
||||
|
||||
---
|
||||
dlls/kernel32/locale.c | 4 +++-
|
||||
1 file changed, 3 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/dlls/kernel32/locale.c b/dlls/kernel32/locale.c
|
||||
index 5fee723..1460f7a 100644
|
||||
--- a/dlls/kernel32/locale.c
|
||||
+++ b/dlls/kernel32/locale.c
|
||||
@@ -1206,7 +1206,9 @@ static INT get_registry_locale_info( struct registry_value *registry_value, LPWS
|
||||
{
|
||||
if (status == STATUS_BUFFER_OVERFLOW && !buffer)
|
||||
{
|
||||
- ret = (size - info_size) / sizeof(WCHAR) + 1;
|
||||
+ ret = (size - info_size) / sizeof(WCHAR);
|
||||
+ if (!ret || ((WCHAR *)&info->Data)[ret-1])
|
||||
+ ret++;
|
||||
}
|
||||
else if (status == STATUS_OBJECT_NAME_NOT_FOUND)
|
||||
{
|
||||
--
|
||||
2.1.3
|
||||
|
@ -1 +0,0 @@
|
||||
Fixes: [32169] Return proper charcount for GetLocaleInfo with LOCALE_IFIRSTDAYOFWEEK
|
@ -1,115 +0,0 @@
|
||||
From 76e1bf51109fcade8d12a828c501f86d42ba1c5f Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Lackner <sebastian@fds-team.de>
|
||||
Date: Fri, 12 Dec 2014 00:56:28 +0100
|
||||
Subject: include: Add mferror.h header.
|
||||
|
||||
---
|
||||
include/Makefile.in | 1 +
|
||||
include/mferror.h | 82 +++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
2 files changed, 83 insertions(+)
|
||||
create mode 100644 include/mferror.h
|
||||
|
||||
diff --git a/include/Makefile.in b/include/Makefile.in
|
||||
index 3cf9ba6..ef65df5 100644
|
||||
--- a/include/Makefile.in
|
||||
+++ b/include/Makefile.in
|
||||
@@ -397,6 +397,7 @@ SRCDIR_INCLUDES = \
|
||||
mciavi.h \
|
||||
mcx.h \
|
||||
mediaerr.h \
|
||||
+ mferror.h \
|
||||
midles.h \
|
||||
minmax.h \
|
||||
mmddk.h \
|
||||
diff --git a/include/mferror.h b/include/mferror.h
|
||||
new file mode 100644
|
||||
index 0000000..42c472f
|
||||
--- /dev/null
|
||||
+++ b/include/mferror.h
|
||||
@@ -0,0 +1,82 @@
|
||||
+/*
|
||||
+ * Copyright (C) 2014 Sebastian Lackner
|
||||
+ *
|
||||
+ * This library is free software; you can redistribute it and/or
|
||||
+ * modify it under the terms of the GNU Lesser General Public
|
||||
+ * License as published by the Free Software Foundation; either
|
||||
+ * version 2.1 of the License, or (at your option) any later version.
|
||||
+ *
|
||||
+ * This library is distributed in the hope that it will be useful,
|
||||
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
+ * Lesser General Public License for more details.
|
||||
+ *
|
||||
+ * You should have received a copy of the GNU Lesser General Public
|
||||
+ * License along with this library; if not, write to the Free Software
|
||||
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
|
||||
+ */
|
||||
+
|
||||
+#ifndef __WINE_MFERROR_H
|
||||
+#define __WINE_MFERROR_H
|
||||
+
|
||||
+#define MF_E_PLATFORM_NOT_INITIALIZED _HRESULT_TYPEDEF_(0xc00d36b0)
|
||||
+#define MF_E_BUFFERTOOSMALL _HRESULT_TYPEDEF_(0xc00d36b1)
|
||||
+#define MF_E_INVALIDREQUEST _HRESULT_TYPEDEF_(0xc00d36b2)
|
||||
+#define MF_E_INVALIDSTREAMNUMBER _HRESULT_TYPEDEF_(0xc00d36b3)
|
||||
+#define MF_E_INVALIDMEDIATYPE _HRESULT_TYPEDEF_(0xc00d36b4)
|
||||
+#define MF_E_NOTACCEPTING _HRESULT_TYPEDEF_(0xc00d36b5)
|
||||
+#define MF_E_NOT_INITIALIZED _HRESULT_TYPEDEF_(0xc00d36b6)
|
||||
+#define MF_E_UNSUPPORTED_REPRESENTATION _HRESULT_TYPEDEF_(0xc00d36b7)
|
||||
+#define MF_E_NO_MORE_TYPES _HRESULT_TYPEDEF_(0xc00d36b9)
|
||||
+#define MF_E_UNSUPPORTED_SERVICE _HRESULT_TYPEDEF_(0xc00d36ba)
|
||||
+#define MF_E_UNEXPECTED _HRESULT_TYPEDEF_(0xc00d36bb)
|
||||
+#define MF_E_INVALIDNAME _HRESULT_TYPEDEF_(0xc00d36bc)
|
||||
+#define MF_E_INVALIDTYPE _HRESULT_TYPEDEF_(0xc00d36bd)
|
||||
+#define MF_E_INVALID_FILE_FORMAT _HRESULT_TYPEDEF_(0xc00d36be)
|
||||
+#define MF_E_INVALIDINDEX _HRESULT_TYPEDEF_(0xc00d36bf)
|
||||
+#define MF_E_INVALID_TIMESTAMP _HRESULT_TYPEDEF_(0xc00d36c0)
|
||||
+#define MF_E_UNSUPPORTED_SCHEME _HRESULT_TYPEDEF_(0xc00d36c3)
|
||||
+#define MF_E_UNSUPPORTED_BYTESTREAM_TYPE _HRESULT_TYPEDEF_(0xc00d36c4)
|
||||
+#define MF_E_UNSUPPORTED_TIME_FORMAT _HRESULT_TYPEDEF_(0xc00d36c5)
|
||||
+#define MF_E_NO_SAMPLE_TIMESTAMP _HRESULT_TYPEDEF_(0xc00d36c8)
|
||||
+#define MF_E_NO_SAMPLE_DURATION _HRESULT_TYPEDEF_(0xc00d36c9)
|
||||
+#define MF_E_INVALID_STREAM_DATA _HRESULT_TYPEDEF_(0xc00d36cb)
|
||||
+#define MF_E_RT_UNAVAILABLE _HRESULT_TYPEDEF_(0xc00d36cf)
|
||||
+#define MF_E_UNSUPPORTED_RATE _HRESULT_TYPEDEF_(0xc00d36d0)
|
||||
+#define MF_E_THINNING_UNSUPPORTED _HRESULT_TYPEDEF_(0xc00d36d1)
|
||||
+#define MF_E_REVERSE_UNSUPPORTED _HRESULT_TYPEDEF_(0xc00d36d2)
|
||||
+#define MF_E_UNSUPPORTED_RATE_TRANSITION _HRESULT_TYPEDEF_(0xc00d36d3)
|
||||
+#define MF_E_RATE_CHANGE_PREEMPTED _HRESULT_TYPEDEF_(0xc00d36d4)
|
||||
+#define MF_E_NOT_FOUND _HRESULT_TYPEDEF_(0xc00d36d5)
|
||||
+#define MF_E_NOT_AVAILABLE _HRESULT_TYPEDEF_(0xc00d36d6)
|
||||
+#define MF_E_NO_CLOCK _HRESULT_TYPEDEF_(0xc00d36d7)
|
||||
+#define MF_S_MULTIPLE_BEGIN _HRESULT_TYPEDEF_(0x000d36d8)
|
||||
+#define MF_E_MULTIPLE_BEGIN _HRESULT_TYPEDEF_(0xc00d36d9)
|
||||
+#define MF_E_MULTIPLE_SUBSCRIBERS _HRESULT_TYPEDEF_(0xc00d36da)
|
||||
+#define MF_E_TIMER_ORPHANED _HRESULT_TYPEDEF_(0xc00d36db)
|
||||
+#define MF_E_STATE_TRANSITION_PENDING _HRESULT_TYPEDEF_(0xc00d36dc)
|
||||
+#define MF_E_UNSUPPORTED_STATE_TRANSITION _HRESULT_TYPEDEF_(0xc00d36dd)
|
||||
+#define MF_E_UNRECOVERABLE_ERROR_OCCURRED _HRESULT_TYPEDEF_(0xc00d36de)
|
||||
+#define MF_E_SAMPLE_HAS_TOO_MANY_BUFFERS _HRESULT_TYPEDEF_(0xc00d36df)
|
||||
+#define MF_E_SAMPLE_NOT_WRITABLE _HRESULT_TYPEDEF_(0xc00d36e0)
|
||||
+#define MF_E_INVALID_KEY _HRESULT_TYPEDEF_(0xc00d36e2)
|
||||
+#define MF_E_BAD_STARTUP_VERSION _HRESULT_TYPEDEF_(0xc00d36e3)
|
||||
+#define MF_E_UNSUPPORTED_CAPTION _HRESULT_TYPEDEF_(0xc00d36e4)
|
||||
+#define MF_E_INVALID_POSITION _HRESULT_TYPEDEF_(0xc00d36e5)
|
||||
+#define MF_E_ATTRIBUTENOTFOUND _HRESULT_TYPEDEF_(0xc00d36e6)
|
||||
+#define MF_E_PROPERTY_TYPE_NOT_ALLOWED _HRESULT_TYPEDEF_(0xc00d36e7)
|
||||
+
|
||||
+#define MF_E_TOPO_INVALID_OPTIONAL_NODE _HRESULT_TYPEDEF_(0xc00d520e)
|
||||
+#define MF_E_TOPO_CANNOT_FIND_DECRYPTOR _HRESULT_TYPEDEF_(0xc00d5211)
|
||||
+#define MF_E_TOPO_CODEC_NOT_FOUND _HRESULT_TYPEDEF_(0xc00d5212)
|
||||
+#define MF_E_TOPO_CANNOT_CONNECT _HRESULT_TYPEDEF_(0xc00d5213)
|
||||
+#define MF_E_TOPO_UNSUPPORTED _HRESULT_TYPEDEF_(0xc00d5214)
|
||||
+#define MF_E_TOPO_INVALID_TIME_ATTRIBUTES _HRESULT_TYPEDEF_(0xc00d5215)
|
||||
+#define MF_E_TOPO_LOOPS_IN_TOPOLOGY _HRESULT_TYPEDEF_(0xC00d5216)
|
||||
+#define MF_E_TOPO_MISSING_PRESENTATION_DESCRIPTOR _HRESULT_TYPEDEF_(0xc00d5217)
|
||||
+#define MF_E_TOPO_MISSING_STREAM_DESCRIPTOR _HRESULT_TYPEDEF_(0xc00d5218)
|
||||
+#define MF_E_TOPO_STREAM_DESCRIPTOR_NOT_SELECTED _HRESULT_TYPEDEF_(0xc00d5219)
|
||||
+#define MF_E_TOPO_MISSING_SOURCE _HRESULT_TYPEDEF_(0xc00d521a)
|
||||
+#define MF_E_TOPO_SINK_ACTIVATES_UNSUPPORTED _HRESULT_TYPEDEF_(0xc00d521b)
|
||||
+
|
||||
+#endif /* __WINE_MFERROR_H */
|
||||
\ No newline at end of file
|
||||
--
|
||||
2.1.3
|
||||
|
@ -1,67 +0,0 @@
|
||||
From 1070c32921c59adc3c410f8e5bfaea49d7426630 Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Lackner <sebastian@fds-team.de>
|
||||
Date: Fri, 12 Dec 2014 00:56:54 +0100
|
||||
Subject: mfplat: Implement stubs for MFStartup and MFShutdown.
|
||||
|
||||
---
|
||||
dlls/mfplat/main.c | 23 +++++++++++++++++++++++
|
||||
dlls/mfplat/mfplat.spec | 4 ++--
|
||||
2 files changed, 25 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/dlls/mfplat/main.c b/dlls/mfplat/main.c
|
||||
index a72f634..d86df7d 100644
|
||||
--- a/dlls/mfplat/main.c
|
||||
+++ b/dlls/mfplat/main.c
|
||||
@@ -22,6 +22,11 @@
|
||||
|
||||
#include "windef.h"
|
||||
#include "winbase.h"
|
||||
+#include "mferror.h"
|
||||
+
|
||||
+#include "wine/debug.h"
|
||||
+
|
||||
+WINE_DEFAULT_DEBUG_CHANNEL(mfplat);
|
||||
|
||||
BOOL WINAPI DllMain(HINSTANCE instance, DWORD reason, LPVOID reserved)
|
||||
{
|
||||
@@ -36,3 +41,21 @@ BOOL WINAPI DllMain(HINSTANCE instance, DWORD reason, LPVOID reserved)
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
+
|
||||
+/***********************************************************************
|
||||
+ * MFStartup (mfplat.@)
|
||||
+ */
|
||||
+HRESULT WINAPI MFStartup(ULONG version, DWORD flags)
|
||||
+{
|
||||
+ FIXME("(%u, %u): stub\n", version, flags);
|
||||
+ return MF_E_BAD_STARTUP_VERSION;
|
||||
+}
|
||||
+
|
||||
+/***********************************************************************
|
||||
+ * MFShutdown (mfplat.@)
|
||||
+ */
|
||||
+HRESULT WINAPI MFShutdown(void)
|
||||
+{
|
||||
+ FIXME("(): stub\n");
|
||||
+ return S_OK;
|
||||
+}
|
||||
\ No newline at end of file
|
||||
diff --git a/dlls/mfplat/mfplat.spec b/dlls/mfplat/mfplat.spec
|
||||
index 98a7147..7100dfd 100644
|
||||
--- a/dlls/mfplat/mfplat.spec
|
||||
+++ b/dlls/mfplat/mfplat.spec
|
||||
@@ -131,8 +131,8 @@
|
||||
@ stub MFSerializeMediaTypeToStream
|
||||
@ stub MFSerializePresentationDescriptor
|
||||
@ stub MFSetSockaddrAny
|
||||
-@ stub MFShutdown
|
||||
-@ stub MFStartup
|
||||
+@ stdcall MFShutdown()
|
||||
+@ stdcall MFStartup(long long)
|
||||
@ stub MFStreamDescriptorProtectMediaType
|
||||
@ stub MFTEnum
|
||||
@ stub MFTEnumEx
|
||||
--
|
||||
2.1.3
|
||||
|
@ -1 +0,0 @@
|
||||
Fixes: [37701] Implement stubs for mfplat.MFStartup and MFShutdown
|
@ -1,76 +0,0 @@
|
||||
From a9d202e6e62edb97ddc5d3723faf27ff47cea82d Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Lackner <sebastian@fds-team.de>
|
||||
Date: Sat, 29 Nov 2014 23:00:53 +0100
|
||||
Subject: psapi: Implement semi-stub for K32EnumProcessModulesEx.
|
||||
|
||||
---
|
||||
dlls/kernel32/kernel32.spec | 1 +
|
||||
dlls/kernel32/module.c | 14 ++++++++++++++
|
||||
dlls/psapi/psapi.spec | 1 +
|
||||
include/psapi.h | 1 +
|
||||
4 files changed, 17 insertions(+)
|
||||
|
||||
diff --git a/dlls/kernel32/kernel32.spec b/dlls/kernel32/kernel32.spec
|
||||
index c072780..e7e3492 100644
|
||||
--- a/dlls/kernel32/kernel32.spec
|
||||
+++ b/dlls/kernel32/kernel32.spec
|
||||
@@ -800,6 +800,7 @@
|
||||
@ stdcall K32EnumPageFilesA(ptr ptr)
|
||||
@ stdcall K32EnumPageFilesW(ptr ptr)
|
||||
@ stdcall K32EnumProcessModules(long ptr long ptr)
|
||||
+@ stdcall K32EnumProcessModulesEx(long ptr long ptr long)
|
||||
@ stdcall K32EnumProcesses(ptr long ptr)
|
||||
@ stdcall K32GetDeviceDriverBaseNameA(ptr ptr long)
|
||||
@ stdcall K32GetDeviceDriverBaseNameW(ptr ptr long)
|
||||
diff --git a/dlls/kernel32/module.c b/dlls/kernel32/module.c
|
||||
index ca4cf41..2a87e66 100644
|
||||
--- a/dlls/kernel32/module.c
|
||||
+++ b/dlls/kernel32/module.c
|
||||
@@ -1247,6 +1247,20 @@ BOOL WINAPI K32EnumProcessModules(HANDLE process, HMODULE *lphModule,
|
||||
}
|
||||
|
||||
/***********************************************************************
|
||||
+ * K32EnumProcessModulesEx (KERNEL32.@)
|
||||
+ *
|
||||
+ * NOTES
|
||||
+ * Returned list is in load order.
|
||||
+ */
|
||||
+BOOL WINAPI K32EnumProcessModulesEx(HANDLE process, HMODULE *lphModule,
|
||||
+ DWORD cb, DWORD *needed, DWORD filter)
|
||||
+{
|
||||
+ FIXME("(%p, %p, %d, %p, %d) semi-stub\n",
|
||||
+ process, lphModule, cb, needed, filter);
|
||||
+ return K32EnumProcessModules(process, lphModule, cb, needed);
|
||||
+}
|
||||
+
|
||||
+/***********************************************************************
|
||||
* K32GetModuleBaseNameW (KERNEL32.@)
|
||||
*/
|
||||
DWORD WINAPI K32GetModuleBaseNameW(HANDLE process, HMODULE module,
|
||||
diff --git a/dlls/psapi/psapi.spec b/dlls/psapi/psapi.spec
|
||||
index 45a1325..d6116f8 100644
|
||||
--- a/dlls/psapi/psapi.spec
|
||||
+++ b/dlls/psapi/psapi.spec
|
||||
@@ -3,6 +3,7 @@
|
||||
@ stdcall EnumPageFilesA(ptr ptr) kernel32.K32EnumPageFilesA
|
||||
@ stdcall EnumPageFilesW(ptr ptr) kernel32.K32EnumPageFilesW
|
||||
@ stdcall EnumProcessModules(long ptr long ptr) kernel32.K32EnumProcessModules
|
||||
+@ stdcall EnumProcessModulesEx(long ptr long ptr long) kernel32.K32EnumProcessModulesEx
|
||||
@ stdcall EnumProcesses(ptr long ptr) kernel32.K32EnumProcesses
|
||||
@ stdcall GetDeviceDriverBaseNameA(ptr ptr long) kernel32.K32GetDeviceDriverBaseNameA
|
||||
@ stdcall GetDeviceDriverBaseNameW(ptr ptr long) kernel32.K32GetDeviceDriverBaseNameW
|
||||
diff --git a/include/psapi.h b/include/psapi.h
|
||||
index f031724..fbdd903 100644
|
||||
--- a/include/psapi.h
|
||||
+++ b/include/psapi.h
|
||||
@@ -81,6 +81,7 @@ extern "C" {
|
||||
|
||||
BOOL WINAPI EnumProcesses(DWORD*, DWORD, DWORD*);
|
||||
BOOL WINAPI EnumProcessModules(HANDLE, HMODULE*, DWORD, LPDWORD);
|
||||
+BOOL WINAPI EnumProcessModulesEx(HANDLE, HMODULE*, DWORD, LPDWORD, DWORD);
|
||||
DWORD WINAPI GetModuleBaseNameA(HANDLE, HMODULE, LPSTR, DWORD);
|
||||
DWORD WINAPI GetModuleBaseNameW(HANDLE, HMODULE, LPWSTR, DWORD);
|
||||
#define GetModuleBaseName WINELIB_NAME_AW(GetModuleBaseName)
|
||||
--
|
||||
2.1.3
|
||||
|
@ -1 +0,0 @@
|
||||
Fixes: [34864] Support for K32EnumProcessModulesEx
|
@ -1,233 +0,0 @@
|
||||
From a850bb89ae8c415c8d7f04ba1c77b8933ca66d64 Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Lackner <sebastian@fds-team.de>
|
||||
Date: Sun, 7 Dec 2014 22:55:31 +0100
|
||||
Subject: shlwapi: Add implementation for StrCatChainW.
|
||||
|
||||
Based on a patch by Huw Campbell.
|
||||
---
|
||||
dlls/shlwapi/shlwapi.spec | 1 +
|
||||
dlls/shlwapi/string.c | 41 +++++++++++++++
|
||||
dlls/shlwapi/tests/string.c | 122 ++++++++++++++++++++++++++++++++++++++++++++
|
||||
3 files changed, 164 insertions(+)
|
||||
|
||||
diff --git a/dlls/shlwapi/shlwapi.spec b/dlls/shlwapi/shlwapi.spec
|
||||
index b7aac08..6b6ead2 100644
|
||||
--- a/dlls/shlwapi/shlwapi.spec
|
||||
+++ b/dlls/shlwapi/shlwapi.spec
|
||||
@@ -759,6 +759,7 @@
|
||||
@ stdcall StrCSpnW (wstr wstr)
|
||||
@ stdcall StrCatBuffA (str str long)
|
||||
@ stdcall StrCatBuffW (wstr wstr long)
|
||||
+@ stdcall StrCatChainW (ptr long long wstr)
|
||||
@ stdcall StrCatW (ptr wstr)
|
||||
@ stdcall StrChrA (str long)
|
||||
@ stdcall StrChrIA (str long)
|
||||
diff --git a/dlls/shlwapi/string.c b/dlls/shlwapi/string.c
|
||||
index 9ba6038..dfa383e 100644
|
||||
--- a/dlls/shlwapi/string.c
|
||||
+++ b/dlls/shlwapi/string.c
|
||||
@@ -459,6 +459,47 @@ LPWSTR WINAPI StrCatW(LPWSTR lpszStr, LPCWSTR lpszSrc)
|
||||
}
|
||||
|
||||
/*************************************************************************
|
||||
+ * StrCatChainW [SHLWAPI.@]
|
||||
+ *
|
||||
+ * Concatenates two unicode strings.
|
||||
+ *
|
||||
+ * PARAMS
|
||||
+ * lpszStr [O] Initial string
|
||||
+ * cchMax [I] Length of destination buffer
|
||||
+ * ichAt [I] Offset from the destination buffer to begin concatenation
|
||||
+ * lpszCat [I] String to concatenate
|
||||
+ *
|
||||
+ * RETURNS
|
||||
+ * The offset from the beginning of pszDst to the terminating NULL.
|
||||
+ */
|
||||
+DWORD WINAPI StrCatChainW(LPWSTR lpszStr, DWORD cchMax, DWORD ichAt, LPCWSTR lpszCat)
|
||||
+{
|
||||
+ TRACE("(%s,%i,%i,%s)\n", debugstr_w(lpszStr), cchMax, ichAt, debugstr_w(lpszCat));
|
||||
+
|
||||
+ if (ichAt == -1)
|
||||
+ ichAt = strlenW(lpszStr);
|
||||
+
|
||||
+ if (!cchMax)
|
||||
+ return ichAt;
|
||||
+
|
||||
+ if (ichAt == cchMax)
|
||||
+ ichAt--;
|
||||
+
|
||||
+ if (lpszCat && ichAt <= cchMax)
|
||||
+ {
|
||||
+ lpszStr += ichAt;
|
||||
+ while (ichAt < cchMax - 1 && *lpszCat)
|
||||
+ {
|
||||
+ *lpszStr++ = *lpszCat++;
|
||||
+ ichAt++;
|
||||
+ }
|
||||
+ *lpszStr = 0;
|
||||
+ }
|
||||
+
|
||||
+ return ichAt;
|
||||
+}
|
||||
+
|
||||
+/*************************************************************************
|
||||
* StrCpyW [SHLWAPI.@]
|
||||
*
|
||||
* Copy a string to another string.
|
||||
diff --git a/dlls/shlwapi/tests/string.c b/dlls/shlwapi/tests/string.c
|
||||
index c72b774..ac14db0 100644
|
||||
--- a/dlls/shlwapi/tests/string.c
|
||||
+++ b/dlls/shlwapi/tests/string.c
|
||||
@@ -48,6 +48,7 @@ static DWORD (WINAPI *pSHAnsiToAnsi)(LPCSTR,LPSTR,int);
|
||||
static DWORD (WINAPI *pSHUnicodeToUnicode)(LPCWSTR,LPWSTR,int);
|
||||
static LPSTR (WINAPI *pStrCatBuffA)(LPSTR,LPCSTR,INT);
|
||||
static LPWSTR (WINAPI *pStrCatBuffW)(LPWSTR,LPCWSTR,INT);
|
||||
+static DWORD (WINAPI *pStrCatChainW)(LPWSTR,DWORD,DWORD,LPCWSTR);
|
||||
static LPSTR (WINAPI *pStrCpyNXA)(LPSTR,LPCSTR,int);
|
||||
static LPWSTR (WINAPI *pStrCpyNXW)(LPWSTR,LPCWSTR,int);
|
||||
static LPSTR (WINAPI *pStrFormatByteSize64A)(LONGLONG,LPSTR,UINT);
|
||||
@@ -1481,6 +1482,125 @@ static void test_StrStrNIW(void)
|
||||
}
|
||||
}
|
||||
|
||||
+static void test_StrCatChainW(void)
|
||||
+{
|
||||
+ static const WCHAR deadbeefW[] = {'D','e','A','d','B','e','E','f',0};
|
||||
+ static const WCHAR deadW[] = {'D','e','A','d',0};
|
||||
+ static const WCHAR beefW[] = {'B','e','E','f',0};
|
||||
+
|
||||
+ WCHAR buf[32 + 1];
|
||||
+ DWORD ret;
|
||||
+
|
||||
+ if (!pStrCatChainW)
|
||||
+ {
|
||||
+ win_skip("StrCatChainW is not available\n");
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
+ /* Test with NULL buffer */
|
||||
+ ret = pStrCatChainW(NULL, 0, 0, beefW);
|
||||
+ ok(ret == 0, "Expected StrCatChainW to return 0, got %u\n", ret);
|
||||
+
|
||||
+ /* Test with empty buffer */
|
||||
+ memset(buf, 0x11, sizeof(buf));
|
||||
+ ret = pStrCatChainW(buf, 0, 0, beefW);
|
||||
+ ok(ret == 0, "Expected StrCatChainW to return 0, got %u\n", ret);
|
||||
+ ok(buf[0] == 0x1111, "Expected buf[0] = 0x1111, got %x\n", buf[0]);
|
||||
+
|
||||
+ memcpy(buf, deadbeefW, sizeof(deadbeefW));
|
||||
+ ret = pStrCatChainW(buf, 0, -1, beefW);
|
||||
+ ok(ret == 8, "Expected StrCatChainW to return 8, got %u\n", ret);
|
||||
+ ok(!memcmp(buf, deadbeefW, sizeof(deadbeefW)), "Buffer contains wrong data\n");
|
||||
+
|
||||
+ /* Append data to existing string with offset = -1 */
|
||||
+ memset(buf, 0x11, sizeof(buf));
|
||||
+ ret = pStrCatChainW(buf, 32, 0, deadW);
|
||||
+ ok(ret == 4, "Expected StrCatChainW to return 4, got %u\n", ret);
|
||||
+ ok(!memcmp(buf, deadW, sizeof(deadW)), "Buffer contains wrong data\n");
|
||||
+
|
||||
+ ret = pStrCatChainW(buf, 32, -1, beefW);
|
||||
+ ok(ret == 8, "Expected StrCatChainW to return 8, got %u\n", ret);
|
||||
+ ok(!memcmp(buf, deadbeefW, sizeof(deadbeefW)), "Buffer contains wrong data\n");
|
||||
+
|
||||
+ /* Append data at a fixed offset */
|
||||
+ memset(buf, 0x11, sizeof(buf));
|
||||
+ ret = pStrCatChainW(buf, 32, 0, deadW);
|
||||
+ ok(ret == 4, "Expected StrCatChainW to return 4, got %u\n", ret);
|
||||
+ ok(!memcmp(buf, deadW, sizeof(deadW)), "Buffer contains wrong data\n");
|
||||
+
|
||||
+ ret = pStrCatChainW(buf, 32, 4, beefW);
|
||||
+ ok(ret == 8, "Expected StrCatChainW to return 8, got %u\n", ret);
|
||||
+ ok(!memcmp(buf, deadbeefW, sizeof(deadbeefW)), "Buffer contains wrong data\n");
|
||||
+
|
||||
+ /* Buffer exactly sufficient for string + terminating null */
|
||||
+ memset(buf, 0x11, sizeof(buf));
|
||||
+ ret = pStrCatChainW(buf, 5, 0, deadW);
|
||||
+ ok(ret == 4, "Expected StrCatChainW to return 4, got %u\n", ret);
|
||||
+ ok(!memcmp(buf, deadW, sizeof(deadW)), "Buffer contains wrong data\n");
|
||||
+
|
||||
+ /* Buffer too small, string will be truncated */
|
||||
+ memset(buf, 0x11, sizeof(buf));
|
||||
+ ret = pStrCatChainW(buf, 4, 0, deadW);
|
||||
+ if (ret == 4)
|
||||
+ {
|
||||
+ /* Windows 2000 and XP uses a slightly different implementation
|
||||
+ * for StrCatChainW, which doesn't ensure that strings are null-
|
||||
+ * terminated. Skip test if we detect such an implementation. */
|
||||
+ win_skip("Windows2000/XP behaviour detected for StrCatChainW, skipping tests\n");
|
||||
+ return;
|
||||
+ }
|
||||
+ ok(ret == 3, "Expected StrCatChainW to return 3, got %u\n", ret);
|
||||
+ ok(!memcmp(buf, deadW, 3 * sizeof(WCHAR)), "Buffer contains wrong data\n");
|
||||
+ ok(!buf[3], "String is not nullterminated\n");
|
||||
+ ok(buf[4] == 0x1111, "Expected buf[4] = 0x1111, got %x\n", buf[4]);
|
||||
+
|
||||
+ /* Overwrite part of an existing string */
|
||||
+ ret = pStrCatChainW(buf, 4, 1, beefW);
|
||||
+ ok(ret == 3, "Expected StrCatChainW to return 3, got %u\n", ret);
|
||||
+ ok(buf[0] == 'D', "Expected buf[0] = 'D', got %x\n", buf[0]);
|
||||
+ ok(buf[1] == 'B', "Expected buf[1] = 'B', got %x\n", buf[1]);
|
||||
+ ok(buf[2] == 'e', "Expected buf[2] = 'e', got %x\n", buf[2]);
|
||||
+ ok(!buf[3], "String is not nullterminated\n");
|
||||
+ ok(buf[4] == 0x1111, "Expected buf[4] = 0x1111, got %x\n", buf[4]);
|
||||
+
|
||||
+ /* Test appending to full buffer */
|
||||
+ memset(buf, 0x11, sizeof(buf));
|
||||
+ memcpy(buf, deadbeefW, sizeof(deadbeefW));
|
||||
+ memcpy(buf + 9, deadW, sizeof(deadW));
|
||||
+ ret = pStrCatChainW(buf, 9, 8, beefW);
|
||||
+ ok(ret == 8, "Expected StrCatChainW to return 8, got %u\n", ret);
|
||||
+ ok(!memcmp(buf, deadbeefW, sizeof(deadbeefW)), "Buffer contains wrong data\n");
|
||||
+ ok(!memcmp(buf + 9, deadW, sizeof(deadW)), "Buffer contains wrong data\n");
|
||||
+
|
||||
+ /* Offset points at the end of the buffer */
|
||||
+ ret = pStrCatChainW(buf, 9, 9, beefW);
|
||||
+ ok(ret == 8, "Expected StrCatChainW to return 8, got %u\n", ret);
|
||||
+ ok(!memcmp(buf, deadbeefW, sizeof(deadbeefW)), "Buffer contains wrong data\n");
|
||||
+ ok(!memcmp(buf + 9, deadW, sizeof(deadW)), "Buffer contains wrong data\n");
|
||||
+
|
||||
+ /* Offset points outside of the buffer */
|
||||
+ ret = pStrCatChainW(buf, 9, 10, beefW);
|
||||
+ ok(ret == 10, "Expected StrCatChainW to return 10, got %u\n", ret);
|
||||
+ ok(!memcmp(buf, deadbeefW, sizeof(deadbeefW)), "Buffer contains wrong data\n");
|
||||
+ ok(!memcmp(buf + 9, deadW, sizeof(deadW)), "Buffer contains wrong data\n");
|
||||
+
|
||||
+ /* The same but without nullterminated string */
|
||||
+ memcpy(buf, deadbeefW, sizeof(deadbeefW));
|
||||
+ ret = pStrCatChainW(buf, 5, -1, deadW);
|
||||
+ ok(ret == 8, "Expected StrCatChainW to return 8, got %u\n", ret);
|
||||
+ ok(!memcmp(buf, deadbeefW, sizeof(deadbeefW)), "Buffer contains wrong data\n");
|
||||
+
|
||||
+ ret = pStrCatChainW(buf, 5, 5, deadW);
|
||||
+ ok(ret == 4, "Expected StrCatChainW to return 4, got %u\n", ret);
|
||||
+ ok(!memcmp(buf, deadW, sizeof(deadW)), "Buffer contains wrong data\n");
|
||||
+ ok(buf[5] == 'e', "Expected buf[5] = 'e', got %x\n", buf[5]);
|
||||
+
|
||||
+ ret = pStrCatChainW(buf, 5, 6, deadW);
|
||||
+ ok(ret == 6, "Expected StrCatChainW to return 6, got %u\n", ret);
|
||||
+ ok(!memcmp(buf, deadW, sizeof(deadW)), "Buffer contains wrong data\n");
|
||||
+ ok(buf[5] == 'e', "Expected buf[5] = 'e', got %x\n", buf[5]);
|
||||
+}
|
||||
+
|
||||
START_TEST(string)
|
||||
{
|
||||
HMODULE hShlwapi;
|
||||
@@ -1500,6 +1620,7 @@ START_TEST(string)
|
||||
pSHUnicodeToUnicode = (void *)GetProcAddress(hShlwapi, (LPSTR)346);
|
||||
pStrCatBuffA = (void *)GetProcAddress(hShlwapi, "StrCatBuffA");
|
||||
pStrCatBuffW = (void *)GetProcAddress(hShlwapi, "StrCatBuffW");
|
||||
+ pStrCatChainW = (void *)GetProcAddress(hShlwapi, "StrCatChainW");
|
||||
pStrCpyNXA = (void *)GetProcAddress(hShlwapi, (LPSTR)399);
|
||||
pStrCpyNXW = (void *)GetProcAddress(hShlwapi, (LPSTR)400);
|
||||
pStrChrNW = (void *)GetProcAddress(hShlwapi, "StrChrNW");
|
||||
@@ -1565,6 +1686,7 @@ START_TEST(string)
|
||||
test_StrStrIW();
|
||||
test_StrStrNW();
|
||||
test_StrStrNIW();
|
||||
+ test_StrCatChainW();
|
||||
|
||||
CoUninitialize();
|
||||
}
|
||||
--
|
||||
2.1.3
|
||||
|
@ -1 +0,0 @@
|
||||
Fixes: Support for StrCatChainW
|
Loading…
Reference in New Issue
Block a user