diff --git a/patches/patchinstall.sh b/patches/patchinstall.sh index 41d5270c..f09b16b9 100755 --- a/patches/patchinstall.sh +++ b/patches/patchinstall.sh @@ -325,6 +325,7 @@ patch_enable_all () enable_shdocvw_ParseURLFromOutsideSource_Tests="$1" enable_shell32_Context_Menu="$1" enable_shell32_File_Property_Dialog="$1" + enable_shell32_FolderItemsImpl_get_Count="$1" enable_shell32_Icons="$1" enable_shell32_Microsoft_Windows_Themes="$1" enable_shell32_NewMenu_Interface="$1" @@ -1189,6 +1190,9 @@ patch_enable () shell32-File_Property_Dialog) enable_shell32_File_Property_Dialog="$2" ;; + shell32-FolderItemsImpl_get_Count) + enable_shell32_FolderItemsImpl_get_Count="$2" + ;; shell32-Icons) enable_shell32_Icons="$2" ;; @@ -6901,6 +6905,18 @@ if test "$enable_shell32_File_Property_Dialog" -eq 1; then ) >> "$patchlist" fi +# Patchset shell32-FolderItemsImpl_get_Count +# | +# | Modified files: +# | * dlls/shell32/shelldispatch.c, dlls/shell32/tests/shelldispatch.c +# | +if test "$enable_shell32_FolderItemsImpl_get_Count" -eq 1; then + patch_apply shell32-FolderItemsImpl_get_Count/0001-shell32-Improve-FolderItemsImpl_get_Count-stub.patch + ( + printf '%s\n' '+ { "Michael Müller", "shell32: Improve FolderItemsImpl_get_Count stub.", 1 },'; + ) >> "$patchlist" +fi + # Patchset shell32-Icons # | # | This patchset fixes the following Wine bugs: diff --git a/patches/shell32-FolderItemsImpl_get_Count/0001-shell32-Improve-FolderItemsImpl_get_Count-stub.patch b/patches/shell32-FolderItemsImpl_get_Count/0001-shell32-Improve-FolderItemsImpl_get_Count-stub.patch new file mode 100644 index 00000000..249c94fb --- /dev/null +++ b/patches/shell32-FolderItemsImpl_get_Count/0001-shell32-Improve-FolderItemsImpl_get_Count-stub.patch @@ -0,0 +1,41 @@ +From b055c9d4609c16afc5da9bd1a19e0e71ed3e32eb Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Michael=20M=C3=BCller?= +Date: Sat, 4 Mar 2017 00:27:22 +0100 +Subject: shell32: Improve FolderItemsImpl_get_Count stub. + +--- + dlls/shell32/shelldispatch.c | 3 ++- + dlls/shell32/tests/shelldispatch.c | 2 -- + 2 files changed, 2 insertions(+), 3 deletions(-) + +diff --git a/dlls/shell32/shelldispatch.c b/dlls/shell32/shelldispatch.c +index ac79302c933..f1a301d01b5 100644 +--- a/dlls/shell32/shelldispatch.c ++++ b/dlls/shell32/shelldispatch.c +@@ -1053,7 +1053,8 @@ static HRESULT WINAPI FolderItemsImpl_get_Count(FolderItems3 *iface, LONG *count + { + FIXME("(%p,%p)\n", iface, count); + +- return E_NOTIMPL; ++ if (count) *count = 0; ++ return S_OK; + } + + static HRESULT WINAPI FolderItemsImpl_get_Application(FolderItems3 *iface, IDispatch **ppid) +diff --git a/dlls/shell32/tests/shelldispatch.c b/dlls/shell32/tests/shelldispatch.c +index 0c711259c55..73c29d1ef89 100644 +--- a/dlls/shell32/tests/shelldispatch.c ++++ b/dlls/shell32/tests/shelldispatch.c +@@ -421,9 +421,7 @@ static void test_items(void) + r = FolderItems_get_Count(items, NULL); + + r = FolderItems_get_Count(items, &lcount); +-todo_wine + ok(r == S_OK, "FolderItems::get_Count failed: %08x\n", r); +-todo_wine + ok(!lcount, "expected 0 files, got %d\n", lcount); + + V_VT(&var) = VT_I4; +-- +2.11.0 + diff --git a/patches/shell32-FolderItemsImpl_get_Count/definition b/patches/shell32-FolderItemsImpl_get_Count/definition new file mode 100644 index 00000000..67330945 --- /dev/null +++ b/patches/shell32-FolderItemsImpl_get_Count/definition @@ -0,0 +1 @@ +Fixes: Improve FolderItemsImpl_get_Count stub in shell32