You've already forked wine-staging
mirror of
https://gitlab.winehq.org/wine/wine-staging.git
synced 2025-09-12 18:50:20 -07:00
Various fixes.
kernelbase-PathCchCombineEx: Restore mistakenly deleted patch. wined3d-Core_Context: Fix rebase. wined3d-Viewports: Restore mistakenly disabled patch.
This commit is contained in:
@@ -0,0 +1,94 @@
|
||||
From 4eee0f21a8b18a784ec6e2978379937d3f5b190d Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
|
||||
Date: Wed, 16 Aug 2017 02:45:23 +0200
|
||||
Subject: [PATCH] kernelbase: Add semi-stub for PathCchCombineEx.
|
||||
|
||||
---
|
||||
.../api-ms-win-core-path-l1-1-0.spec | 2 +-
|
||||
dlls/kernelbase/Makefile.in | 4 +++-
|
||||
dlls/kernelbase/kernelbase.spec | 2 +-
|
||||
dlls/kernelbase/path.c | 26 ++++++++++++++++++++++
|
||||
4 files changed, 31 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/dlls/api-ms-win-core-path-l1-1-0/api-ms-win-core-path-l1-1-0.spec b/dlls/api-ms-win-core-path-l1-1-0/api-ms-win-core-path-l1-1-0.spec
|
||||
index 287c5d6..9895b1b 100644
|
||||
--- a/dlls/api-ms-win-core-path-l1-1-0/api-ms-win-core-path-l1-1-0.spec
|
||||
+++ b/dlls/api-ms-win-core-path-l1-1-0/api-ms-win-core-path-l1-1-0.spec
|
||||
@@ -8,7 +8,7 @@
|
||||
@ stub PathCchCanonicalize
|
||||
@ stub PathCchCanonicalizeEx
|
||||
@ stub PathCchCombine
|
||||
-@ stub PathCchCombineEx
|
||||
+@ stdcall PathCchCombineEx(ptr long ptr ptr long) kernelbase.PathCchCombineEx
|
||||
@ stub PathCchFindExtension
|
||||
@ stub PathCchIsRoot
|
||||
@ stub PathCchRemoveBackslash
|
||||
diff --git a/dlls/kernelbase/Makefile.in b/dlls/kernelbase/Makefile.in
|
||||
index a7db45e..78c19bd 100644
|
||||
--- a/dlls/kernelbase/Makefile.in
|
||||
+++ b/dlls/kernelbase/Makefile.in
|
||||
@@ -1,4 +1,6 @@
|
||||
-MODULE = kernelbase.dll
|
||||
+MODULE = kernelbase.dll
|
||||
+IMPORTLIB = kernelbase
|
||||
+IMPORTS = shlwapi
|
||||
|
||||
C_SRCS = \
|
||||
main.c \
|
||||
diff --git a/dlls/kernelbase/kernelbase.spec b/dlls/kernelbase/kernelbase.spec
|
||||
index eafe5ab..78ab086 100644
|
||||
--- a/dlls/kernelbase/kernelbase.spec
|
||||
+++ b/dlls/kernelbase/kernelbase.spec
|
||||
@@ -1037,7 +1037,7 @@
|
||||
# @ stub PathCchCanonicalize
|
||||
# @ stub PathCchCanonicalizeEx
|
||||
# @ stub PathCchCombine
|
||||
-# @ stub PathCchCombineEx
|
||||
+@ stdcall PathCchCombineEx(ptr long ptr ptr long)
|
||||
# @ stub PathCchFindExtension
|
||||
# @ stub PathCchIsRoot
|
||||
# @ stub PathCchRemoveBackslash
|
||||
diff --git a/dlls/kernelbase/path.c b/dlls/kernelbase/path.c
|
||||
index 373c34e..52ef7d9 100644
|
||||
--- a/dlls/kernelbase/path.c
|
||||
+++ b/dlls/kernelbase/path.c
|
||||
@@ -21,6 +21,7 @@
|
||||
#include "windef.h"
|
||||
#include "winbase.h"
|
||||
#include "pathcch.h"
|
||||
+#include "shlwapi.h"
|
||||
#include "strsafe.h"
|
||||
|
||||
#include "wine/debug.h"
|
||||
@@ -65,3 +66,28 @@ HRESULT WINAPI PathCchAddBackslashEx(WCHAR *path, SIZE_T size, WCHAR **endptr, S
|
||||
|
||||
return S_OK;
|
||||
}
|
||||
+
|
||||
+/***********************************************************************
|
||||
+ * PathCchCombineEx (KERNELBASE.@)
|
||||
+ */
|
||||
+HRESULT WINAPI PathCchCombineEx(WCHAR *out, SIZE_T size, const WCHAR *path1, const WCHAR *path2, DWORD flags)
|
||||
+{
|
||||
+ WCHAR result[MAX_PATH];
|
||||
+
|
||||
+ FIXME("(%p, %lu, %s, %s, %x): semi-stub\n", out, size, wine_dbgstr_w(path1), wine_dbgstr_w(path2), flags);
|
||||
+
|
||||
+ if (!out || !size) return E_INVALIDARG;
|
||||
+ if (flags) FIXME("Flags %x not supported\n", flags);
|
||||
+
|
||||
+ if (!PathCombineW(result, path1, path2))
|
||||
+ return E_INVALIDARG;
|
||||
+
|
||||
+ if (strlenW(result) + 1 > size)
|
||||
+ {
|
||||
+ out[0] = 0;
|
||||
+ return STRSAFE_E_INSUFFICIENT_BUFFER;
|
||||
+ }
|
||||
+
|
||||
+ strcpyW(out, result);
|
||||
+ return S_OK;
|
||||
+}
|
||||
--
|
||||
2.7.4
|
||||
|
1
patches/kernelbase-PathCchCombineEx/definition
Normal file
1
patches/kernelbase-PathCchCombineEx/definition
Normal file
@@ -0,0 +1 @@
|
||||
Fixes: [42474] Implement kernelbase.PathCchCombineEx
|
Reference in New Issue
Block a user