diff --git a/patches/cabinet-iFolder/0001-cabinet-Set-index-of-folder-in-FDICopy-callback.patch b/patches/cabinet-iFolder/0001-cabinet-Set-index-of-folder-in-FDICopy-callback.patch new file mode 100644 index 00000000..64de7370 --- /dev/null +++ b/patches/cabinet-iFolder/0001-cabinet-Set-index-of-folder-in-FDICopy-callback.patch @@ -0,0 +1,32 @@ +From d98a585a7d809889d84a45546d7d259a9ab35356 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Michael=20M=C3=BCller?= +Date: Thu, 27 Oct 2016 01:33:34 +0200 +Subject: cabinet: Set index of folder in FDICopy callback. + +--- + dlls/cabinet/fdi.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/dlls/cabinet/fdi.c b/dlls/cabinet/fdi.c +index fdff0bf..758133e 100644 +--- a/dlls/cabinet/fdi.c ++++ b/dlls/cabinet/fdi.c +@@ -2640,6 +2640,7 @@ BOOL __cdecl FDICopy( + fdin.date = file->date; + fdin.time = file->time; + fdin.attribs = file->attribs; ++ fdin.iFolder = file->index; + if ((filehf = ((*pfnfdin)(fdintCOPY_FILE, &fdin))) == -1) { + set_error( fdi, FDIERROR_USER_ABORT, 0 ); + filehf = 0; +@@ -2765,6 +2766,7 @@ BOOL __cdecl FDICopy( + fdin.date = file->date; + fdin.time = file->time; + fdin.attribs = file->attribs; /* FIXME: filter _A_EXEC? */ ++ fdin.iFolder = file->index; + ((*pfnfdin)(fdintCLOSE_FILE_INFO, &fdin)); + filehf = 0; + +-- +2.9.0 + diff --git a/patches/cabinet-iFolder/definition b/patches/cabinet-iFolder/definition new file mode 100644 index 00000000..e9c8ae97 --- /dev/null +++ b/patches/cabinet-iFolder/definition @@ -0,0 +1 @@ +Fixes: [10858] Set index of folder in FDICopy callback diff --git a/patches/patchinstall.sh b/patches/patchinstall.sh index 16fdb559..829157ee 100755 --- a/patches/patchinstall.sh +++ b/patches/patchinstall.sh @@ -94,6 +94,7 @@ patch_enable_all () enable_avifil32_IGetFrame_fnSetFormat="$1" enable_avifile_dll16_AVIStreamGetFrame="$1" enable_browseui_Progress_Dialog="$1" + enable_cabinet_iFolder="$1" enable_combase_RoApi="$1" enable_comctl32_Button_Theming="$1" enable_comctl32_Listview_DrawItem="$1" @@ -461,6 +462,9 @@ patch_enable () browseui-Progress_Dialog) enable_browseui_Progress_Dialog="$2" ;; + cabinet-iFolder) + enable_cabinet_iFolder="$2" + ;; category-stable) enable_category_stable="$2" ;; @@ -2785,6 +2789,21 @@ if test "$enable_browseui_Progress_Dialog" -eq 1; then ) >> "$patchlist" fi +# Patchset cabinet-iFolder +# | +# | This patchset fixes the following Wine bugs: +# | * [#10858] Set index of folder in FDICopy callback +# | +# | Modified files: +# | * dlls/cabinet/fdi.c +# | +if test "$enable_cabinet_iFolder" -eq 1; then + patch_apply cabinet-iFolder/0001-cabinet-Set-index-of-folder-in-FDICopy-callback.patch + ( + echo '+ { "Michael Müller", "cabinet: Set index of folder in FDICopy callback.", 1 },'; + ) >> "$patchlist" +fi + # Patchset comctl32-Button_Theming # | # | This patchset fixes the following Wine bugs: