From 74f5b439632f3945a0e117f7609382848ef9b0aa Mon Sep 17 00:00:00 2001 From: Sebastian Lackner Date: Sat, 27 Feb 2016 05:18:46 +0100 Subject: [PATCH] Added patch to fix handling of DDL_DRIVES flag in user.exe16.DlgDirList. --- patches/patchinstall.sh | 19 ++++++++++++++ ...andling-of-DDL_DRIVES-flag-in-DlgDir.patch | 25 +++++++++++++++++++ patches/user.exe16-DlgDirList/definition | 1 + 3 files changed, 45 insertions(+) create mode 100644 patches/user.exe16-DlgDirList/0001-user.exe16-Fix-handling-of-DDL_DRIVES-flag-in-DlgDir.patch create mode 100644 patches/user.exe16-DlgDirList/definition diff --git a/patches/patchinstall.sh b/patches/patchinstall.sh index 48a217db..a4fdb1f2 100755 --- a/patches/patchinstall.sh +++ b/patches/patchinstall.sh @@ -309,6 +309,7 @@ patch_enable_all () enable_stdole32_tlb_SLTG_Typelib="$1" enable_taskmgr_Memory_Usage="$1" enable_ucrtbase_Functions="$1" + enable_user_exe16_DlgDirList="$1" enable_user32_DeferWindowPos="$1" enable_user32_Dialog_Paint_Event="$1" enable_user32_DrawTextExW="$1" @@ -1076,6 +1077,9 @@ patch_enable () ucrtbase-Functions) enable_ucrtbase_Functions="$2" ;; + user.exe16-DlgDirList) + enable_user_exe16_DlgDirList="$2" + ;; user32-DeferWindowPos) enable_user32_DeferWindowPos="$2" ;; @@ -6342,6 +6346,21 @@ if test "$enable_ucrtbase_Functions" -eq 1; then ) >> "$patchlist" fi +# Patchset user.exe16-DlgDirList +# | +# | This patchset fixes the following Wine bugs: +# | * [#18734] Fix handling of DDL_DRIVES flag in user.exe16.DlgDirList +# | +# | Modified files: +# | * dlls/user.exe16/dialog.c +# | +if test "$enable_user_exe16_DlgDirList" -eq 1; then + patch_apply user.exe16-DlgDirList/0001-user.exe16-Fix-handling-of-DDL_DRIVES-flag-in-DlgDir.patch + ( + echo '+ { "Alex VillacĂ­s Lasso", "user.exe16: Fix handling of DDL_DRIVES flag in DlgDirList.", 1 },'; + ) >> "$patchlist" +fi + # Patchset user32-DeferWindowPos # | # | This patchset fixes the following Wine bugs: diff --git a/patches/user.exe16-DlgDirList/0001-user.exe16-Fix-handling-of-DDL_DRIVES-flag-in-DlgDir.patch b/patches/user.exe16-DlgDirList/0001-user.exe16-Fix-handling-of-DDL_DRIVES-flag-in-DlgDir.patch new file mode 100644 index 00000000..abfe589b --- /dev/null +++ b/patches/user.exe16-DlgDirList/0001-user.exe16-Fix-handling-of-DDL_DRIVES-flag-in-DlgDir.patch @@ -0,0 +1,25 @@ +From ec7c2cf03581d8b1c43bc87cba8f190165a3cc02 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Alex=20Villac=C3=ADs=20Lasso?= +Date: Sun, 31 May 2009 22:53:00 -0500 +Subject: user.exe16: Fix handling of DDL_DRIVES flag in DlgDirList. + +--- + dlls/user.exe16/dialog.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/dlls/user.exe16/dialog.c b/dlls/user.exe16/dialog.c +index fead42d..ce17ed8 100644 +--- a/dlls/user.exe16/dialog.c ++++ b/dlls/user.exe16/dialog.c +@@ -636,7 +636,7 @@ INT16 WINAPI DlgDirList16( HWND16 hDlg, LPSTR spec, INT16 idLBox, + * be set automatically (this is different in Win32, and + * DIALOG_DlgDirList sends Win32 messages to the control, + * so do it here) */ +- if (attrib & DDL_DRIVES) attrib |= DDL_EXCLUSIVE; ++ if (attrib == DDL_DRIVES) attrib |= DDL_EXCLUSIVE; + return DlgDirListA( WIN_Handle32(hDlg), spec, idLBox, idStatic, attrib ); + } + +-- +2.7.1 + diff --git a/patches/user.exe16-DlgDirList/definition b/patches/user.exe16-DlgDirList/definition new file mode 100644 index 00000000..318ca389 --- /dev/null +++ b/patches/user.exe16-DlgDirList/definition @@ -0,0 +1 @@ +Fixes: [18734] Fix handling of DDL_DRIVES flag in user.exe16.DlgDirList