· 6 years ago · Mar 25, 2020, 09:58 PM
1#!/bin/sh
2#
3# Script to automatically install all Wine Staging patches
4#
5# Copyright (C) 2015-2017 Sebastian Lackner
6#
7# This library is free software; you can redistribute it and/or
8# modify it under the terms of the GNU Lesser General Public
9# License as published by the Free Software Foundation; either
10# version 2.1 of the License, or (at your option) any later version.
11#
12# This library is distributed in the hope that it will be useful,
13# but WITHOUT ANY WARRANTY; without even the implied warranty of
14# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15# Lesser General Public License for more details.
16#
17# You should have received a copy of the GNU Lesser General Public
18# License along with this library; if not, write to the Free Software
19# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
20#
21
22# Show usage information
23usage()
24{
25 echo ""
26 echo "Usage: ./patchinstall.sh [DESTDIR=path] [--all] [-W patchset] [patchset ...]"
27 echo ""
28 echo "Autogenerated script to apply all Wine Staging patches on your Wine"
29 echo "source tree."
30 echo ""
31 echo "Configuration:"
32 echo " DESTDIR=path Specify the path to the wine source tree"
33 echo " --all Select all patches"
34 echo " --force-autoconf Run autoreconf and tools/make_requests after each patch"
35 echo " --help Display this help and exit"
36 echo " --no-autoconf Do not run autoreconf and tools/make_requests"
37 echo " --no-patchlist Do not apply patchlist (needed for 'wine --patches')"
38 echo " --upstream-commit Print the upstream Wine commit SHA1 and exit"
39 echo " --version Show version information and exit"
40 echo " -W patchset Exclude a specific patchset"
41 echo ""
42 echo "Backends:"
43 echo " --backend=patch Use regular 'patch' utility to apply patches (default)"
44 echo " --backend=eapply Use 'eapply' to apply patches (Gentoo only)"
45 echo " --backend=epatch Use 'epatch' to apply patches (Gentoo only, deprecated)"
46 echo " --backend=git-am Use 'git am' to apply patches"
47 echo " --backend=git-apply Use 'git apply' to apply patches"
48 echo " --backend=stg Import the patches using stacked git"
49 echo ""
50}
51
52# Get the upstream commit sha
53upstream_commit()
54{
55 echo "1e478b804f72a9b5122fc6adafac5479b816885e"
56}
57
58# Show version information
59version()
60{
61 echo "Wine Staging 5.3"
62 echo "Copyright (C) 2014-2019 the Wine Staging project authors."
63 echo "Copyright (C) 2018-2020 Alistair Leslie-Hughes"
64 echo ""
65 echo "Patchset to be applied on upstream Wine:"
66 echo " commit $(upstream_commit)"
67 echo ""
68}
69
70# Critical error, abort
71abort()
72{
73 printf '%s\n' "ERROR: $1" >&2
74 exit 1
75}
76
77# Show a warning
78warning()
79{
80 printf '%s\n' "WARNING: $1" >&2
81}
82
83# Enable or disable all patchsets
84patch_enable_all ()
85{
86 enable_Compiler_Warnings="$1"
87 enable_Pipelight="$1"
88 enable_Staging="$1"
89 enable_advapi32_CreateRestrictedToken="$1"
90 enable_advapi32_LsaLookupPrivilegeName="$1"
91 enable_advapi32_Token_Integrity_Level="$1"
92 enable_api_ms_win_Stub_DLLs="$1"
93 enable_atl_AtlAxDialogBox="$1"
94 enable_bcrypt_ECDHSecretAgreement="$1"
95 enable_cmd_launch_association="$1"
96 enable_comctl32_Listview_DrawItem="$1"
97 enable_comctl32_rebar_capture="$1"
98 enable_comctl32_version_6="$1"
99 enable_comdlg32_lpstrFileTitle="$1"
100 enable_configure_Absolute_RPATH="$1"
101 enable_crypt32_CMS_Certificates="$1"
102 enable_cryptext_CryptExtOpenCER="$1"
103 enable_d3d11_Deferred_Context="$1"
104 enable_d3dx9_32bpp_Alpha_Channel="$1"
105 enable_d3dx9_36_BumpLuminance="$1"
106 enable_d3dx9_36_CloneEffect="$1"
107 enable_d3dx9_36_D3DXDisassembleShader="$1"
108 enable_d3dx9_36_D3DXOptimizeVertices="$1"
109 enable_d3dx9_36_D3DXSHProjectCubeMap="$1"
110 enable_d3dx9_36_D3DXStubs="$1"
111 enable_d3dx9_36_DDS="$1"
112 enable_d3dx9_36_Filter_Warnings="$1"
113 enable_d3dx9_36_Optimize_Inplace="$1"
114 enable_d3dx9_36_UpdateSkinnedMesh="$1"
115 enable_dbghelp_Debug_Symbols="$1"
116 enable_ddraw_Device_Caps="$1"
117 enable_ddraw_EnumSurfaces="$1"
118 enable_ddraw_IDirect3DTexture2_Load="$1"
119 enable_ddraw_Rendering_Targets="$1"
120 enable_ddraw_Silence_FIXMEs="$1"
121 enable_ddraw_Texture_Wrong_Caps="$1"
122 enable_ddraw_Write_Vtable="$1"
123 enable_ddraw_version_check="$1"
124 enable_dinput_SetActionMap_genre="$1"
125 enable_dinput_axis_recalc="$1"
126 enable_dinput_joy_mappings="$1"
127 enable_dinput_reconnect_joystick="$1"
128 enable_dinput_remap_joystick="$1"
129 enable_directmanipulation_new_dll="$1"
130 enable_dsdmo_new_dll="$1"
131 enable_dsound_EAX="$1"
132 enable_dsound_Fast_Mixer="$1"
133 enable_dwmapi_DwmGetTransportAttributes="$1"
134 enable_dwrite_FontFallback="$1"
135 enable_dxdiagn_Enumerate_DirectSound="$1"
136 enable_dxdiagn_GetChildContainer_Leaf_Nodes="$1"
137 enable_dxva2_Video_Decoder="$1"
138 enable_eventfd_synchronization="$1"
139 enable_explorer_Video_Registry_Key="$1"
140 enable_fonts_Missing_Fonts="$1"
141 enable_fsutil_Stub_Program="$1"
142 enable_gdi32_Lazy_Font_Initialization="$1"
143 enable_gdi32_rotation="$1"
144 enable_gdiplus_Performance_Improvements="$1"
145 enable_imagehlp_BindImageEx="$1"
146 enable_imm32_message_on_focus="$1"
147 enable_include_winsock="$1"
148 enable_inseng_Implementation="$1"
149 enable_iphlpapi_System_Ping="$1"
150 enable_kernel32_CopyFileEx="$1"
151 enable_kernel32_Debugger="$1"
152 enable_kernel32_FindFirstFile="$1"
153 enable_kernel32_Job_Tests="$1"
154 enable_kernel32_K32GetPerformanceInfo="$1"
155 enable_kernel32_PE_Loader_Fixes="$1"
156 enable_kernel32_Processor_Group="$1"
157 enable_kernel32_SetProcessDEPPolicy="$1"
158 enable_krnl386_exe16_GDT_LDT_Emulation="$1"
159 enable_krnl386_exe16_Invalid_Console_Handles="$1"
160 enable_libs_Debug_Channel="$1"
161 enable_loader_KeyboardLayouts="$1"
162 enable_mmsystem_dll16_MIDIHDR_Refcount="$1"
163 enable_mountmgr_DosDevices="$1"
164 enable_mscoree_CorValidateImage="$1"
165 enable_msctf_ITfActiveLanguageProfileNotifySink="$1"
166 enable_mshtml_HTMLLocation_put_hash="$1"
167 enable_mshtml_TranslateAccelerator="$1"
168 enable_msi_msi_vcl_get_cost="$1"
169 enable_msvcrt_Math_Precision="$1"
170 enable_ntdll_APC_Performance="$1"
171 enable_ntdll_Activation_Context="$1"
172 enable_ntdll_ApiSetMap="$1"
173 enable_ntdll_Builtin_Prot="$1"
174 enable_ntdll_CriticalSection="$1"
175 enable_ntdll_DOS_Attributes="$1"
176 enable_ntdll_Dealloc_Thread_Stack="$1"
177 enable_ntdll_DeviceType_Systemroot="$1"
178 enable_ntdll_Exception="$1"
179 enable_ntdll_FileDispositionInformation="$1"
180 enable_ntdll_FileFsFullSizeInformation="$1"
181 enable_ntdll_FileFsVolumeInformation="$1"
182 enable_ntdll_Fix_Alignment="$1"
183 enable_ntdll_ForceBottomUpAlloc="$1"
184 enable_ntdll_HashLinks="$1"
185 enable_ntdll_Heap_Improvements="$1"
186 enable_ntdll_Hide_Wine_Exports="$1"
187 enable_ntdll_Interrupt_0x2e="$1"
188 enable_ntdll_Junction_Points="$1"
189 enable_ntdll_LDR_MODULE="$1"
190 enable_ntdll_Manifest_Range="$1"
191 enable_ntdll_NtAccessCheck="$1"
192 enable_ntdll_NtContinue="$1"
193 enable_ntdll_NtDevicePath="$1"
194 enable_ntdll_NtQueryEaFile="$1"
195 enable_ntdll_NtQuerySection="$1"
196 enable_ntdll_NtQueryVirtualMemory="$1"
197 enable_ntdll_NtSetLdtEntries="$1"
198 enable_ntdll_Pipe_SpecialCharacters="$1"
199 enable_ntdll_ProcessQuotaLimits="$1"
200 enable_ntdll_RtlCreateUserThread="$1"
201 enable_ntdll_RtlGetNativeSystemInformation="$1"
202 enable_ntdll_RtlIpv4StringToAddress="$1"
203 enable_ntdll_RtlQueryPackageIdentity="$1"
204 enable_ntdll_Serial_Port_Detection="$1"
205 enable_ntdll_Status_Mapping="$1"
206 enable_ntdll_Syscall_Emulation="$1"
207 enable_ntdll_SystemExtendedProcessInformation="$1"
208 enable_ntdll_SystemInterruptInformation="$1"
209 enable_ntdll_SystemModuleInformation="$1"
210 enable_ntdll_SystemRoot_Symlink="$1"
211 enable_ntdll_ThreadHideFromDebugger="$1"
212 enable_ntdll_ThreadTime="$1"
213 enable_ntdll_Threading="$1"
214 enable_ntdll_User_Shared_Data="$1"
215 enable_ntdll_WRITECOPY="$1"
216 enable_ntdll_Zero_mod_name="$1"
217 enable_ntdll_aarch_TEB="$1"
218 enable_ntdll_ext4_case_folder="$1"
219 enable_ntdll_set_full_cpu_context="$1"
220 enable_ntdll_x86_64_SegDs="$1"
221 enable_ntoskrnl_Stubs="$1"
222 enable_nvapi_Stub_DLL="$1"
223 enable_nvcuda_CUDA_Support="$1"
224 enable_nvcuvid_CUDA_Video_Support="$1"
225 enable_nvencodeapi_Video_Encoder="$1"
226 enable_ole32_HGLOBALStream="$1"
227 enable_oleaut32_CreateTypeLib="$1"
228 enable_oleaut32_Load_Save_EMF="$1"
229 enable_oleaut32_OLEPictureImpl_SaveAsFile="$1"
230 enable_oleaut32_OleLoadPicture="$1"
231 enable_oleaut32_OleLoadPictureFile="$1"
232 enable_opencl_version_1_2="$1"
233 enable_opengl32_wglChoosePixelFormat="$1"
234 enable_packager_DllMain="$1"
235 enable_pdh_PdhLookupPerfNameByIndex_processor="$1"
236 enable_quartz_MediaSeeking_Positions="$1"
237 enable_riched20_Class_Tests="$1"
238 enable_riched20_IText_Interface="$1"
239 enable_server_Desktop_Refcount="$1"
240 enable_server_FileEndOfFileInformation="$1"
241 enable_server_File_Permissions="$1"
242 enable_server_Inherited_ACLs="$1"
243 enable_server_Key_State="$1"
244 enable_server_Object_Types="$1"
245 enable_server_PeekMessage="$1"
246 enable_server_Realtime_Priority="$1"
247 enable_server_Registry_Notifications="$1"
248 enable_server_Shared_Memory="$1"
249 enable_server_Signal_Thread="$1"
250 enable_server_Stored_ACLs="$1"
251 enable_server_device_manager_destroy="$1"
252 enable_setupapi_DiskSpaceList="$1"
253 enable_setupapi_SPFILENOTIFY_FILEINCABINET="$1"
254 enable_shdocvw_ParseURLFromOutsideSource_Tests="$1"
255 enable_shell32_ACE_Viewer="$1"
256 enable_shell32_Context_Menu="$1"
257 enable_shell32_IconCache="$1"
258 enable_shell32_NewMenu_Interface="$1"
259 enable_shell32_Progress_Dialog="$1"
260 enable_shell32_SFGAO_HASSUBFOLDER="$1"
261 enable_shell32_SHFileOperation_Move="$1"
262 enable_shell32_SHGetStockIconInfo="$1"
263 enable_shell32_Toolbar_Bitmaps="$1"
264 enable_shell32_UnixFS="$1"
265 enable_shlwapi_AssocGetPerceivedType="$1"
266 enable_shlwapi_SHAddDataBlock="$1"
267 enable_shlwapi_UrlCanonicalize="$1"
268 enable_shlwapi_UrlCombine="$1"
269 enable_stdole32_idl_Typelib="$1"
270 enable_stdole32_tlb_SLTG_Typelib="$1"
271 enable_user32_DM_SETDEFID="$1"
272 enable_user32_Dialog_Paint_Event="$1"
273 enable_user32_DrawTextExW="$1"
274 enable_user32_FlashWindowEx="$1"
275 enable_user32_GetSystemMetrics="$1"
276 enable_user32_Implement_CascadeWindows="$1"
277 enable_user32_InternalGetWindowIcon="$1"
278 enable_user32_LR_LOADFROMFILE="$1"
279 enable_user32_ListBox_Size="$1"
280 enable_user32_LoadKeyboardLayoutEx="$1"
281 enable_user32_MessageBox_WS_EX_TOPMOST="$1"
282 enable_user32_Mouse_Message_Hwnd="$1"
283 enable_user32_Refresh_MDI_Menus="$1"
284 enable_user32_ScrollWindowEx="$1"
285 enable_user32_ShowWindow="$1"
286 enable_user32_msgbox_Support_WM_COPY_mesg="$1"
287 enable_user32_rawinput_hid="$1"
288 enable_user32_rawinput_mouse="$1"
289 enable_user32_rawinput_mouse_experimental="$1"
290 enable_user32_rawinput_nolegacy="$1"
291 enable_user32_recursive_activation="$1"
292 enable_user32_window_activation="$1"
293 enable_uxtheme_CloseThemeClass="$1"
294 enable_uxtheme_GTK_Theming="$1"
295 enable_version_VerQueryValue="$1"
296 enable_widl_SLTG_Typelib_Support="$1"
297 enable_windowscodecs_GIF_Encoder="$1"
298 enable_windowscodecs_TIFF_Support="$1"
299 enable_wine_inf_Directory_ContextMenuHandlers="$1"
300 enable_wine_inf_Dummy_CA_Certificate="$1"
301 enable_wine_inf_Performance="$1"
302 enable_wineboot_DriveSerial="$1"
303 enable_wineboot_HKEY_DYN_DATA="$1"
304 enable_wineboot_ProxySettings="$1"
305 enable_wineboot_drivers_etc_Stubs="$1"
306 enable_winebuild_Fake_Dlls="$1"
307 enable_winecfg_Libraries="$1"
308 enable_winecfg_Staging="$1"
309 enable_winecfg_Unmounted_Devices="$1"
310 enable_wined3d_Accounting="$1"
311 enable_wined3d_CSMT_Main="$1"
312 enable_wined3d_Dual_Source_Blending="$1"
313 enable_wined3d_Indexed_Vertex_Blending="$1"
314 enable_wined3d_SWVP_shaders="$1"
315 enable_wined3d_Silence_FIXMEs="$1"
316 enable_wined3d_WINED3DFMT_B8G8R8X8_UNORM="$1"
317 enable_wined3d_WINED3D_RS_COLORWRITEENABLE="$1"
318 enable_wined3d_WINED3D_TEXF_ANISOTROPIC="$1"
319 enable_wined3d_mesa_texture_download="$1"
320 enable_wined3d_unset_flip_gdi="$1"
321 enable_wined3d_wined3d_guess_gl_vendor="$1"
322 enable_wined3d_zero_inf_shaders="$1"
323 enable_winedbg_Process_Arguments="$1"
324 enable_winedevice_Default_Drivers="$1"
325 enable_winemapi_user_xdg_mail="$1"
326 enable_winemenubuilder_Desktop_Icon_Path="$1"
327 enable_wineps_drv_PostScript_Fixes="$1"
328 enable_winepulse_PulseAudio_Support="$1"
329 enable_winex11_CandidateWindowPos="$1"
330 enable_winex11_DefaultDisplayFrequency="$1"
331 enable_winex11_MWM_Decorations="$1"
332 enable_winex11_UpdateLayeredWindow="$1"
333 enable_winex11_Vulkan_support="$1"
334 enable_winex11_WM_WINDOWPOSCHANGING="$1"
335 enable_winex11_Window_Style="$1"
336 enable_winex11_XEMBED="$1"
337 enable_winex11__NET_ACTIVE_WINDOW="$1"
338 enable_winex11_ime_check_thread_data="$1"
339 enable_winex11_key_translation="$1"
340 enable_winex11_wglShareLists="$1"
341 enable_winex11_drv_Query_server_position="$1"
342 enable_winex11_drv_mouse_coorrds="$1"
343 enable_wininet_Cleanup="$1"
344 enable_winmm_Delay_Import_Depends="$1"
345 enable_winmm_mciSendCommandA="$1"
346 enable_wintab32_improvements="$1"
347 enable_wintrust_WTHelperGetProvCertFromChain="$1"
348 enable_wow64cpu_Wow64Transition="$1"
349 enable_wpcap_Dynamic_Linking="$1"
350 enable_ws2_32_APC_Performance="$1"
351 enable_ws2_32_Connect_Time="$1"
352 enable_ws2_32_TransmitFile="$1"
353 enable_ws2_32_WSACleanup="$1"
354 enable_ws2_32_getaddrinfo="$1"
355 enable_ws2_32_getsockopt="$1"
356 enable_wtsapi32_EnumerateProcesses="$1"
357}
358
359# Enable or disable a specific patchset
360patch_enable ()
361{
362 case "$1" in
363 Compiler_Warnings)
364 enable_Compiler_Warnings="$2"
365 ;;
366 Pipelight)
367 enable_Pipelight="$2"
368 ;;
369 Staging)
370 enable_Staging="$2"
371 ;;
372 advapi32-CreateRestrictedToken)
373 enable_advapi32_CreateRestrictedToken="$2"
374 ;;
375 advapi32-LsaLookupPrivilegeName)
376 enable_advapi32_LsaLookupPrivilegeName="$2"
377 ;;
378 advapi32-Token_Integrity_Level)
379 enable_advapi32_Token_Integrity_Level="$2"
380 ;;
381 api-ms-win-Stub_DLLs)
382 enable_api_ms_win_Stub_DLLs="$2"
383 ;;
384 atl-AtlAxDialogBox)
385 enable_atl_AtlAxDialogBox="$2"
386 ;;
387 bcrypt-ECDHSecretAgreement)
388 enable_bcrypt_ECDHSecretAgreement="$2"
389 ;;
390 cmd-launch-association)
391 enable_cmd_launch_association="$2"
392 ;;
393 comctl32-Listview_DrawItem)
394 enable_comctl32_Listview_DrawItem="$2"
395 ;;
396 comctl32-rebar-capture)
397 enable_comctl32_rebar_capture="$2"
398 ;;
399 comctl32-version_6)
400 enable_comctl32_version_6="$2"
401 ;;
402 comdlg32-lpstrFileTitle)
403 enable_comdlg32_lpstrFileTitle="$2"
404 ;;
405 configure-Absolute_RPATH)
406 enable_configure_Absolute_RPATH="$2"
407 ;;
408 crypt32-CMS_Certificates)
409 enable_crypt32_CMS_Certificates="$2"
410 ;;
411 cryptext-CryptExtOpenCER)
412 enable_cryptext_CryptExtOpenCER="$2"
413 ;;
414 d3d11-Deferred_Context)
415 enable_d3d11_Deferred_Context="$2"
416 ;;
417 d3dx9-32bpp_Alpha_Channel)
418 enable_d3dx9_32bpp_Alpha_Channel="$2"
419 ;;
420 d3dx9_36-BumpLuminance)
421 enable_d3dx9_36_BumpLuminance="$2"
422 ;;
423 d3dx9_36-CloneEffect)
424 enable_d3dx9_36_CloneEffect="$2"
425 ;;
426 d3dx9_36-D3DXDisassembleShader)
427 enable_d3dx9_36_D3DXDisassembleShader="$2"
428 ;;
429 d3dx9_36-D3DXOptimizeVertices)
430 enable_d3dx9_36_D3DXOptimizeVertices="$2"
431 ;;
432 d3dx9_36-D3DXSHProjectCubeMap)
433 enable_d3dx9_36_D3DXSHProjectCubeMap="$2"
434 ;;
435 d3dx9_36-D3DXStubs)
436 enable_d3dx9_36_D3DXStubs="$2"
437 ;;
438 d3dx9_36-DDS)
439 enable_d3dx9_36_DDS="$2"
440 ;;
441 d3dx9_36-Filter_Warnings)
442 enable_d3dx9_36_Filter_Warnings="$2"
443 ;;
444 d3dx9_36-Optimize_Inplace)
445 enable_d3dx9_36_Optimize_Inplace="$2"
446 ;;
447 d3dx9_36-UpdateSkinnedMesh)
448 enable_d3dx9_36_UpdateSkinnedMesh="$2"
449 ;;
450 dbghelp-Debug_Symbols)
451 enable_dbghelp_Debug_Symbols="$2"
452 ;;
453 ddraw-Device_Caps)
454 enable_ddraw_Device_Caps="$2"
455 ;;
456 ddraw-EnumSurfaces)
457 enable_ddraw_EnumSurfaces="$2"
458 ;;
459 ddraw-IDirect3DTexture2_Load)
460 enable_ddraw_IDirect3DTexture2_Load="$2"
461 ;;
462 ddraw-Rendering_Targets)
463 enable_ddraw_Rendering_Targets="$2"
464 ;;
465 ddraw-Silence_FIXMEs)
466 enable_ddraw_Silence_FIXMEs="$2"
467 ;;
468 ddraw-Texture_Wrong_Caps)
469 enable_ddraw_Texture_Wrong_Caps="$2"
470 ;;
471 ddraw-Write_Vtable)
472 enable_ddraw_Write_Vtable="$2"
473 ;;
474 ddraw-version-check)
475 enable_ddraw_version_check="$2"
476 ;;
477 dinput-SetActionMap-genre)
478 enable_dinput_SetActionMap_genre="$2"
479 ;;
480 dinput-axis-recalc)
481 enable_dinput_axis_recalc="$2"
482 ;;
483 dinput-joy-mappings)
484 enable_dinput_joy_mappings="$2"
485 ;;
486 dinput-reconnect-joystick)
487 enable_dinput_reconnect_joystick="$2"
488 ;;
489 dinput-remap-joystick)
490 enable_dinput_remap_joystick="$2"
491 ;;
492 directmanipulation-new-dll)
493 enable_directmanipulation_new_dll="$2"
494 ;;
495 dsdmo-new-dll)
496 enable_dsdmo_new_dll="$2"
497 ;;
498 dsound-EAX)
499 enable_dsound_EAX="$2"
500 ;;
501 dsound-Fast_Mixer)
502 enable_dsound_Fast_Mixer="$2"
503 ;;
504 dwmapi-DwmGetTransportAttributes)
505 enable_dwmapi_DwmGetTransportAttributes="$2"
506 ;;
507 dwrite-FontFallback)
508 enable_dwrite_FontFallback="$2"
509 ;;
510 dxdiagn-Enumerate_DirectSound)
511 enable_dxdiagn_Enumerate_DirectSound="$2"
512 ;;
513 dxdiagn-GetChildContainer_Leaf_Nodes)
514 enable_dxdiagn_GetChildContainer_Leaf_Nodes="$2"
515 ;;
516 dxva2-Video_Decoder)
517 enable_dxva2_Video_Decoder="$2"
518 ;;
519 eventfd_synchronization)
520 enable_eventfd_synchronization="$2"
521 ;;
522 explorer-Video_Registry_Key)
523 enable_explorer_Video_Registry_Key="$2"
524 ;;
525 fonts-Missing_Fonts)
526 enable_fonts_Missing_Fonts="$2"
527 ;;
528 fsutil-Stub_Program)
529 enable_fsutil_Stub_Program="$2"
530 ;;
531 gdi32-Lazy_Font_Initialization)
532 enable_gdi32_Lazy_Font_Initialization="$2"
533 ;;
534 gdi32-rotation)
535 enable_gdi32_rotation="$2"
536 ;;
537 gdiplus-Performance-Improvements)
538 enable_gdiplus_Performance_Improvements="$2"
539 ;;
540 imagehlp-BindImageEx)
541 enable_imagehlp_BindImageEx="$2"
542 ;;
543 imm32-message_on_focus)
544 enable_imm32_message_on_focus="$2"
545 ;;
546 include-winsock)
547 enable_include_winsock="$2"
548 ;;
549 inseng-Implementation)
550 enable_inseng_Implementation="$2"
551 ;;
552 iphlpapi-System_Ping)
553 enable_iphlpapi_System_Ping="$2"
554 ;;
555 kernel32-CopyFileEx)
556 enable_kernel32_CopyFileEx="$2"
557 ;;
558 kernel32-Debugger)
559 enable_kernel32_Debugger="$2"
560 ;;
561 kernel32-FindFirstFile)
562 enable_kernel32_FindFirstFile="$2"
563 ;;
564 kernel32-Job_Tests)
565 enable_kernel32_Job_Tests="$2"
566 ;;
567 kernel32-K32GetPerformanceInfo)
568 enable_kernel32_K32GetPerformanceInfo="$2"
569 ;;
570 kernel32-PE_Loader_Fixes)
571 enable_kernel32_PE_Loader_Fixes="$2"
572 ;;
573 kernel32-Processor_Group)
574 enable_kernel32_Processor_Group="$2"
575 ;;
576 kernel32-SetProcessDEPPolicy)
577 enable_kernel32_SetProcessDEPPolicy="$2"
578 ;;
579 krnl386.exe16-GDT_LDT_Emulation)
580 enable_krnl386_exe16_GDT_LDT_Emulation="$2"
581 ;;
582 krnl386.exe16-Invalid_Console_Handles)
583 enable_krnl386_exe16_Invalid_Console_Handles="$2"
584 ;;
585 libs-Debug_Channel)
586 enable_libs_Debug_Channel="$2"
587 ;;
588 loader-KeyboardLayouts)
589 enable_loader_KeyboardLayouts="$2"
590 ;;
591 mmsystem.dll16-MIDIHDR_Refcount)
592 enable_mmsystem_dll16_MIDIHDR_Refcount="$2"
593 ;;
594 mountmgr-DosDevices)
595 enable_mountmgr_DosDevices="$2"
596 ;;
597 mscoree-CorValidateImage)
598 enable_mscoree_CorValidateImage="$2"
599 ;;
600 msctf-ITfActiveLanguageProfileNotifySink)
601 enable_msctf_ITfActiveLanguageProfileNotifySink="$2"
602 ;;
603 mshtml-HTMLLocation_put_hash)
604 enable_mshtml_HTMLLocation_put_hash="$2"
605 ;;
606 mshtml-TranslateAccelerator)
607 enable_mshtml_TranslateAccelerator="$2"
608 ;;
609 msi-msi_vcl_get_cost)
610 enable_msi_msi_vcl_get_cost="$2"
611 ;;
612 msvcrt-Math_Precision)
613 enable_msvcrt_Math_Precision="$2"
614 ;;
615 ntdll-APC_Performance)
616 enable_ntdll_APC_Performance="$2"
617 ;;
618 ntdll-Activation_Context)
619 enable_ntdll_Activation_Context="$2"
620 ;;
621 ntdll-ApiSetMap)
622 enable_ntdll_ApiSetMap="$2"
623 ;;
624 ntdll-Builtin_Prot)
625 enable_ntdll_Builtin_Prot="$2"
626 ;;
627 ntdll-CriticalSection)
628 enable_ntdll_CriticalSection="$2"
629 ;;
630 ntdll-DOS_Attributes)
631 enable_ntdll_DOS_Attributes="$2"
632 ;;
633 ntdll-Dealloc_Thread_Stack)
634 enable_ntdll_Dealloc_Thread_Stack="$2"
635 ;;
636 ntdll-DeviceType_Systemroot)
637 enable_ntdll_DeviceType_Systemroot="$2"
638 ;;
639 ntdll-Exception)
640 enable_ntdll_Exception="$2"
641 ;;
642 ntdll-FileDispositionInformation)
643 enable_ntdll_FileDispositionInformation="$2"
644 ;;
645 ntdll-FileFsFullSizeInformation)
646 enable_ntdll_FileFsFullSizeInformation="$2"
647 ;;
648 ntdll-FileFsVolumeInformation)
649 enable_ntdll_FileFsVolumeInformation="$2"
650 ;;
651 ntdll-Fix_Alignment)
652 enable_ntdll_Fix_Alignment="$2"
653 ;;
654 ntdll-ForceBottomUpAlloc)
655 enable_ntdll_ForceBottomUpAlloc="$2"
656 ;;
657 ntdll-HashLinks)
658 enable_ntdll_HashLinks="$2"
659 ;;
660 ntdll-Heap_Improvements)
661 enable_ntdll_Heap_Improvements="$2"
662 ;;
663 ntdll-Hide_Wine_Exports)
664 enable_ntdll_Hide_Wine_Exports="$2"
665 ;;
666 ntdll-Interrupt-0x2e)
667 enable_ntdll_Interrupt_0x2e="$2"
668 ;;
669 ntdll-Junction_Points)
670 enable_ntdll_Junction_Points="$2"
671 ;;
672 ntdll-LDR_MODULE)
673 enable_ntdll_LDR_MODULE="$2"
674 ;;
675 ntdll-Manifest_Range)
676 enable_ntdll_Manifest_Range="$2"
677 ;;
678 ntdll-NtAccessCheck)
679 enable_ntdll_NtAccessCheck="$2"
680 ;;
681 ntdll-NtContinue)
682 enable_ntdll_NtContinue="$2"
683 ;;
684 ntdll-NtDevicePath)
685 enable_ntdll_NtDevicePath="$2"
686 ;;
687 ntdll-NtQueryEaFile)
688 enable_ntdll_NtQueryEaFile="$2"
689 ;;
690 ntdll-NtQuerySection)
691 enable_ntdll_NtQuerySection="$2"
692 ;;
693 ntdll-NtQueryVirtualMemory)
694 enable_ntdll_NtQueryVirtualMemory="$2"
695 ;;
696 ntdll-NtSetLdtEntries)
697 enable_ntdll_NtSetLdtEntries="$2"
698 ;;
699 ntdll-Pipe_SpecialCharacters)
700 enable_ntdll_Pipe_SpecialCharacters="$2"
701 ;;
702 ntdll-ProcessQuotaLimits)
703 enable_ntdll_ProcessQuotaLimits="$2"
704 ;;
705 ntdll-RtlCreateUserThread)
706 enable_ntdll_RtlCreateUserThread="$2"
707 ;;
708 ntdll-RtlGetNativeSystemInformation)
709 enable_ntdll_RtlGetNativeSystemInformation="$2"
710 ;;
711 ntdll-RtlIpv4StringToAddress)
712 enable_ntdll_RtlIpv4StringToAddress="$2"
713 ;;
714 ntdll-RtlQueryPackageIdentity)
715 enable_ntdll_RtlQueryPackageIdentity="$2"
716 ;;
717 ntdll-Serial_Port_Detection)
718 enable_ntdll_Serial_Port_Detection="$2"
719 ;;
720 ntdll-Status_Mapping)
721 enable_ntdll_Status_Mapping="$2"
722 ;;
723 ntdll-Syscall_Emulation)
724 enable_ntdll_Syscall_Emulation="$2"
725 ;;
726 ntdll-SystemExtendedProcessInformation)
727 enable_ntdll_SystemExtendedProcessInformation="$2"
728 ;;
729 ntdll-SystemInterruptInformation)
730 enable_ntdll_SystemInterruptInformation="$2"
731 ;;
732 ntdll-SystemModuleInformation)
733 enable_ntdll_SystemModuleInformation="$2"
734 ;;
735 ntdll-SystemRoot_Symlink)
736 enable_ntdll_SystemRoot_Symlink="$2"
737 ;;
738 ntdll-ThreadHideFromDebugger)
739 enable_ntdll_ThreadHideFromDebugger="$2"
740 ;;
741 ntdll-ThreadTime)
742 enable_ntdll_ThreadTime="$2"
743 ;;
744 ntdll-Threading)
745 enable_ntdll_Threading="$2"
746 ;;
747 ntdll-User_Shared_Data)
748 enable_ntdll_User_Shared_Data="$2"
749 ;;
750 ntdll-WRITECOPY)
751 enable_ntdll_WRITECOPY="$2"
752 ;;
753 ntdll-Zero_mod_name)
754 enable_ntdll_Zero_mod_name="$2"
755 ;;
756 ntdll-aarch-TEB)
757 enable_ntdll_aarch_TEB="$2"
758 ;;
759 ntdll-ext4-case-folder)
760 enable_ntdll_ext4_case_folder="$2"
761 ;;
762 ntdll-set_full_cpu_context)
763 enable_ntdll_set_full_cpu_context="$2"
764 ;;
765 ntdll-x86_64_SegDs)
766 enable_ntdll_x86_64_SegDs="$2"
767 ;;
768 ntoskrnl-Stubs)
769 enable_ntoskrnl_Stubs="$2"
770 ;;
771 nvapi-Stub_DLL)
772 enable_nvapi_Stub_DLL="$2"
773 ;;
774 nvcuda-CUDA_Support)
775 enable_nvcuda_CUDA_Support="$2"
776 ;;
777 nvcuvid-CUDA_Video_Support)
778 enable_nvcuvid_CUDA_Video_Support="$2"
779 ;;
780 nvencodeapi-Video_Encoder)
781 enable_nvencodeapi_Video_Encoder="$2"
782 ;;
783 ole32-HGLOBALStream)
784 enable_ole32_HGLOBALStream="$2"
785 ;;
786 oleaut32-CreateTypeLib)
787 enable_oleaut32_CreateTypeLib="$2"
788 ;;
789 oleaut32-Load_Save_EMF)
790 enable_oleaut32_Load_Save_EMF="$2"
791 ;;
792 oleaut32-OLEPictureImpl_SaveAsFile)
793 enable_oleaut32_OLEPictureImpl_SaveAsFile="$2"
794 ;;
795 oleaut32-OleLoadPicture)
796 enable_oleaut32_OleLoadPicture="$2"
797 ;;
798 oleaut32-OleLoadPictureFile)
799 enable_oleaut32_OleLoadPictureFile="$2"
800 ;;
801 opencl-version_1_2)
802 enable_opencl_version_1_2="$2"
803 ;;
804 opengl32-wglChoosePixelFormat)
805 enable_opengl32_wglChoosePixelFormat="$2"
806 ;;
807 packager-DllMain)
808 enable_packager_DllMain="$2"
809 ;;
810 pdh-PdhLookupPerfNameByIndex-processor)
811 enable_pdh_PdhLookupPerfNameByIndex_processor="$2"
812 ;;
813 quartz-MediaSeeking_Positions)
814 enable_quartz_MediaSeeking_Positions="$2"
815 ;;
816 riched20-Class_Tests)
817 enable_riched20_Class_Tests="$2"
818 ;;
819 riched20-IText_Interface)
820 enable_riched20_IText_Interface="$2"
821 ;;
822 server-Desktop_Refcount)
823 enable_server_Desktop_Refcount="$2"
824 ;;
825 server-FileEndOfFileInformation)
826 enable_server_FileEndOfFileInformation="$2"
827 ;;
828 server-File_Permissions)
829 enable_server_File_Permissions="$2"
830 ;;
831 server-Inherited_ACLs)
832 enable_server_Inherited_ACLs="$2"
833 ;;
834 server-Key_State)
835 enable_server_Key_State="$2"
836 ;;
837 server-Object_Types)
838 enable_server_Object_Types="$2"
839 ;;
840 server-PeekMessage)
841 enable_server_PeekMessage="$2"
842 ;;
843 server-Realtime_Priority)
844 enable_server_Realtime_Priority="$2"
845 ;;
846 server-Registry_Notifications)
847 enable_server_Registry_Notifications="$2"
848 ;;
849 server-Shared_Memory)
850 enable_server_Shared_Memory="$2"
851 ;;
852 server-Signal_Thread)
853 enable_server_Signal_Thread="$2"
854 ;;
855 server-Stored_ACLs)
856 enable_server_Stored_ACLs="$2"
857 ;;
858 server-device_manager_destroy)
859 enable_server_device_manager_destroy="$2"
860 ;;
861 setupapi-DiskSpaceList)
862 enable_setupapi_DiskSpaceList="$2"
863 ;;
864 setupapi-SPFILENOTIFY_FILEINCABINET)
865 enable_setupapi_SPFILENOTIFY_FILEINCABINET="$2"
866 ;;
867 shdocvw-ParseURLFromOutsideSource_Tests)
868 enable_shdocvw_ParseURLFromOutsideSource_Tests="$2"
869 ;;
870 shell32-ACE_Viewer)
871 enable_shell32_ACE_Viewer="$2"
872 ;;
873 shell32-Context_Menu)
874 enable_shell32_Context_Menu="$2"
875 ;;
876 shell32-IconCache)
877 enable_shell32_IconCache="$2"
878 ;;
879 shell32-NewMenu_Interface)
880 enable_shell32_NewMenu_Interface="$2"
881 ;;
882 shell32-Progress_Dialog)
883 enable_shell32_Progress_Dialog="$2"
884 ;;
885 shell32-SFGAO_HASSUBFOLDER)
886 enable_shell32_SFGAO_HASSUBFOLDER="$2"
887 ;;
888 shell32-SHFileOperation_Move)
889 enable_shell32_SHFileOperation_Move="$2"
890 ;;
891 shell32-SHGetStockIconInfo)
892 enable_shell32_SHGetStockIconInfo="$2"
893 ;;
894 shell32-Toolbar_Bitmaps)
895 enable_shell32_Toolbar_Bitmaps="$2"
896 ;;
897 shell32-UnixFS)
898 enable_shell32_UnixFS="$2"
899 ;;
900 shlwapi-AssocGetPerceivedType)
901 enable_shlwapi_AssocGetPerceivedType="$2"
902 ;;
903 shlwapi-SHAddDataBlock)
904 enable_shlwapi_SHAddDataBlock="$2"
905 ;;
906 shlwapi-UrlCanonicalize)
907 enable_shlwapi_UrlCanonicalize="$2"
908 ;;
909 shlwapi-UrlCombine)
910 enable_shlwapi_UrlCombine="$2"
911 ;;
912 stdole32.idl-Typelib)
913 enable_stdole32_idl_Typelib="$2"
914 ;;
915 stdole32.tlb-SLTG_Typelib)
916 enable_stdole32_tlb_SLTG_Typelib="$2"
917 ;;
918 user32-DM_SETDEFID)
919 enable_user32_DM_SETDEFID="$2"
920 ;;
921 user32-Dialog_Paint_Event)
922 enable_user32_Dialog_Paint_Event="$2"
923 ;;
924 user32-DrawTextExW)
925 enable_user32_DrawTextExW="$2"
926 ;;
927 user32-FlashWindowEx)
928 enable_user32_FlashWindowEx="$2"
929 ;;
930 user32-GetSystemMetrics)
931 enable_user32_GetSystemMetrics="$2"
932 ;;
933 user32-Implement-CascadeWindows)
934 enable_user32_Implement_CascadeWindows="$2"
935 ;;
936 user32-InternalGetWindowIcon)
937 enable_user32_InternalGetWindowIcon="$2"
938 ;;
939 user32-LR_LOADFROMFILE)
940 enable_user32_LR_LOADFROMFILE="$2"
941 ;;
942 user32-ListBox_Size)
943 enable_user32_ListBox_Size="$2"
944 ;;
945 user32-LoadKeyboardLayoutEx)
946 enable_user32_LoadKeyboardLayoutEx="$2"
947 ;;
948 user32-MessageBox_WS_EX_TOPMOST)
949 enable_user32_MessageBox_WS_EX_TOPMOST="$2"
950 ;;
951 user32-Mouse_Message_Hwnd)
952 enable_user32_Mouse_Message_Hwnd="$2"
953 ;;
954 user32-Refresh_MDI_Menus)
955 enable_user32_Refresh_MDI_Menus="$2"
956 ;;
957 user32-ScrollWindowEx)
958 enable_user32_ScrollWindowEx="$2"
959 ;;
960 user32-ShowWindow)
961 enable_user32_ShowWindow="$2"
962 ;;
963 user32-msgbox-Support-WM_COPY-mesg)
964 enable_user32_msgbox_Support_WM_COPY_mesg="$2"
965 ;;
966 user32-rawinput-hid)
967 enable_user32_rawinput_hid="$2"
968 ;;
969 user32-rawinput-mouse)
970 enable_user32_rawinput_mouse="$2"
971 ;;
972 user32-rawinput-mouse-experimental)
973 enable_user32_rawinput_mouse_experimental="$2"
974 ;;
975 user32-rawinput-nolegacy)
976 enable_user32_rawinput_nolegacy="$2"
977 ;;
978 user32-recursive-activation)
979 enable_user32_recursive_activation="$2"
980 ;;
981 user32-window-activation)
982 enable_user32_window_activation="$2"
983 ;;
984 uxtheme-CloseThemeClass)
985 enable_uxtheme_CloseThemeClass="$2"
986 ;;
987 uxtheme-GTK_Theming)
988 enable_uxtheme_GTK_Theming="$2"
989 ;;
990 version-VerQueryValue)
991 enable_version_VerQueryValue="$2"
992 ;;
993 widl-SLTG_Typelib_Support)
994 enable_widl_SLTG_Typelib_Support="$2"
995 ;;
996 windowscodecs-GIF_Encoder)
997 enable_windowscodecs_GIF_Encoder="$2"
998 ;;
999 windowscodecs-TIFF_Support)
1000 enable_windowscodecs_TIFF_Support="$2"
1001 ;;
1002 wine.inf-Directory_ContextMenuHandlers)
1003 enable_wine_inf_Directory_ContextMenuHandlers="$2"
1004 ;;
1005 wine.inf-Dummy_CA_Certificate)
1006 enable_wine_inf_Dummy_CA_Certificate="$2"
1007 ;;
1008 wine.inf-Performance)
1009 enable_wine_inf_Performance="$2"
1010 ;;
1011 wineboot-DriveSerial)
1012 enable_wineboot_DriveSerial="$2"
1013 ;;
1014 wineboot-HKEY_DYN_DATA)
1015 enable_wineboot_HKEY_DYN_DATA="$2"
1016 ;;
1017 wineboot-ProxySettings)
1018 enable_wineboot_ProxySettings="$2"
1019 ;;
1020 wineboot-drivers_etc_Stubs)
1021 enable_wineboot_drivers_etc_Stubs="$2"
1022 ;;
1023 winebuild-Fake_Dlls)
1024 enable_winebuild_Fake_Dlls="$2"
1025 ;;
1026 winecfg-Libraries)
1027 enable_winecfg_Libraries="$2"
1028 ;;
1029 winecfg-Staging)
1030 enable_winecfg_Staging="$2"
1031 ;;
1032 winecfg-Unmounted_Devices)
1033 enable_winecfg_Unmounted_Devices="$2"
1034 ;;
1035 wined3d-Accounting)
1036 enable_wined3d_Accounting="$2"
1037 ;;
1038 wined3d-CSMT_Main)
1039 enable_wined3d_CSMT_Main="$2"
1040 ;;
1041 wined3d-Dual_Source_Blending)
1042 enable_wined3d_Dual_Source_Blending="$2"
1043 ;;
1044 wined3d-Indexed_Vertex_Blending)
1045 enable_wined3d_Indexed_Vertex_Blending="$2"
1046 ;;
1047 wined3d-SWVP-shaders)
1048 enable_wined3d_SWVP_shaders="$2"
1049 ;;
1050 wined3d-Silence_FIXMEs)
1051 enable_wined3d_Silence_FIXMEs="$2"
1052 ;;
1053 wined3d-WINED3DFMT_B8G8R8X8_UNORM)
1054 enable_wined3d_WINED3DFMT_B8G8R8X8_UNORM="$2"
1055 ;;
1056 wined3d-WINED3D_RS_COLORWRITEENABLE)
1057 enable_wined3d_WINED3D_RS_COLORWRITEENABLE="$2"
1058 ;;
1059 wined3d-WINED3D_TEXF_ANISOTROPIC)
1060 enable_wined3d_WINED3D_TEXF_ANISOTROPIC="$2"
1061 ;;
1062 wined3d-mesa_texture_download)
1063 enable_wined3d_mesa_texture_download="$2"
1064 ;;
1065 wined3d-unset-flip-gdi)
1066 enable_wined3d_unset_flip_gdi="$2"
1067 ;;
1068 wined3d-wined3d_guess_gl_vendor)
1069 enable_wined3d_wined3d_guess_gl_vendor="$2"
1070 ;;
1071 wined3d-zero-inf-shaders)
1072 enable_wined3d_zero_inf_shaders="$2"
1073 ;;
1074 winedbg-Process_Arguments)
1075 enable_winedbg_Process_Arguments="$2"
1076 ;;
1077 winedevice-Default_Drivers)
1078 enable_winedevice_Default_Drivers="$2"
1079 ;;
1080 winemapi-user-xdg-mail)
1081 enable_winemapi_user_xdg_mail="$2"
1082 ;;
1083 winemenubuilder-Desktop_Icon_Path)
1084 enable_winemenubuilder_Desktop_Icon_Path="$2"
1085 ;;
1086 wineps.drv-PostScript_Fixes)
1087 enable_wineps_drv_PostScript_Fixes="$2"
1088 ;;
1089 winepulse-PulseAudio_Support)
1090 enable_winepulse_PulseAudio_Support="$2"
1091 ;;
1092 winex11-CandidateWindowPos)
1093 enable_winex11_CandidateWindowPos="$2"
1094 ;;
1095 winex11-DefaultDisplayFrequency)
1096 enable_winex11_DefaultDisplayFrequency="$2"
1097 ;;
1098 winex11-MWM_Decorations)
1099 enable_winex11_MWM_Decorations="$2"
1100 ;;
1101 winex11-UpdateLayeredWindow)
1102 enable_winex11_UpdateLayeredWindow="$2"
1103 ;;
1104 winex11-Vulkan_support)
1105 enable_winex11_Vulkan_support="$2"
1106 ;;
1107 winex11-WM_WINDOWPOSCHANGING)
1108 enable_winex11_WM_WINDOWPOSCHANGING="$2"
1109 ;;
1110 winex11-Window_Style)
1111 enable_winex11_Window_Style="$2"
1112 ;;
1113 winex11-XEMBED)
1114 enable_winex11_XEMBED="$2"
1115 ;;
1116 winex11-_NET_ACTIVE_WINDOW)
1117 enable_winex11__NET_ACTIVE_WINDOW="$2"
1118 ;;
1119 winex11-ime-check-thread-data)
1120 enable_winex11_ime_check_thread_data="$2"
1121 ;;
1122 winex11-key_translation)
1123 enable_winex11_key_translation="$2"
1124 ;;
1125 winex11-wglShareLists)
1126 enable_winex11_wglShareLists="$2"
1127 ;;
1128 winex11.drv-Query_server_position)
1129 enable_winex11_drv_Query_server_position="$2"
1130 ;;
1131 winex11.drv-mouse-coorrds)
1132 enable_winex11_drv_mouse_coorrds="$2"
1133 ;;
1134 wininet-Cleanup)
1135 enable_wininet_Cleanup="$2"
1136 ;;
1137 winmm-Delay_Import_Depends)
1138 enable_winmm_Delay_Import_Depends="$2"
1139 ;;
1140 winmm-mciSendCommandA)
1141 enable_winmm_mciSendCommandA="$2"
1142 ;;
1143 wintab32-improvements)
1144 enable_wintab32_improvements="$2"
1145 ;;
1146 wintrust-WTHelperGetProvCertFromChain)
1147 enable_wintrust_WTHelperGetProvCertFromChain="$2"
1148 ;;
1149 wow64cpu-Wow64Transition)
1150 enable_wow64cpu_Wow64Transition="$2"
1151 ;;
1152 wpcap-Dynamic_Linking)
1153 enable_wpcap_Dynamic_Linking="$2"
1154 ;;
1155 ws2_32-APC_Performance)
1156 enable_ws2_32_APC_Performance="$2"
1157 ;;
1158 ws2_32-Connect_Time)
1159 enable_ws2_32_Connect_Time="$2"
1160 ;;
1161 ws2_32-TransmitFile)
1162 enable_ws2_32_TransmitFile="$2"
1163 ;;
1164 ws2_32-WSACleanup)
1165 enable_ws2_32_WSACleanup="$2"
1166 ;;
1167 ws2_32-getaddrinfo)
1168 enable_ws2_32_getaddrinfo="$2"
1169 ;;
1170 ws2_32-getsockopt)
1171 enable_ws2_32_getsockopt="$2"
1172 ;;
1173 wtsapi32-EnumerateProcesses)
1174 enable_wtsapi32_EnumerateProcesses="$2"
1175 ;;
1176 *)
1177 return 1
1178 ;;
1179 esac
1180 return 0
1181}
1182
1183# Default settings
1184patch_enable_all 0
1185enable_patchlist=1
1186enable_autoconf=1
1187patchlist="/dev/null"
1188backend="patch"
1189
1190# Find location of patches
1191patchdir="$(cd "$(dirname "$0")" && pwd)"
1192if test ! -f "$patchdir/patchinstall.sh"; then
1193 if test -f ./patchinstall.sh; then
1194 patchdir="$(pwd)"
1195 else
1196 abort "Failed to find patch directory."
1197 fi
1198fi
1199
1200# Parse commandline arguments
1201if test "$#" -eq 0; then
1202 abort "No commandline arguments given, don't know what to do."
1203fi
1204
1205while test "$#" -gt 0; do
1206 case "$1" in
1207 DESTDIR=*)
1208 DESTDIR="${1#*=}"
1209 shift
1210 ;;
1211
1212 --all)
1213 patch_enable_all 1
1214 shift
1215 ;;
1216
1217 --backend=*)
1218 backend="${1#*=}"
1219 shift
1220 ;;
1221
1222 --force-autoconf)
1223 enable_autoconf=2
1224 shift
1225 ;;
1226
1227 --help)
1228 usage
1229 exit 0
1230 ;;
1231
1232 --no-patchlist)
1233 enable_patchlist=0
1234 shift
1235 ;;
1236
1237 --no-autoconf)
1238 enable_autoconf=0
1239 shift
1240 ;;
1241
1242 --upstream-commit)
1243 upstream_commit
1244 exit 0
1245 ;;
1246
1247 --version)
1248 version
1249 exit 0
1250 ;;
1251
1252 -W)
1253 # Disable patchset
1254 if ! patch_enable "$2" 2; then
1255 abort "Wrong usage of -W commandline argument, expected patchname."
1256 fi
1257 shift
1258 shift
1259 ;;
1260
1261 *)
1262 # Enable patchset
1263 if ! patch_enable "$1" 1; then
1264 abort "Unknown commandline argument $1."
1265 fi
1266 shift
1267 ;;
1268 esac
1269done
1270
1271# Determine DESTDIR if not explicitly specified
1272if test -z "$DESTDIR" -a -f ./tools/make_requests; then
1273 DESTDIR="$(pwd)"
1274
1275elif test ! -f "$DESTDIR/tools/make_requests"; then
1276 abort "DESTDIR does not point to the Wine source tree."
1277fi
1278
1279# Change directory to DESTDIR, eapply/epatch depends on that
1280if ! cd "$DESTDIR"; then
1281 abort "Unable to change directory to $DESTDIR."
1282fi
1283
1284# Helper to update configure / the wineserver protocol if required
1285if ! command -v diff >/dev/null 2>&1 ||
1286 ! command -v grep >/dev/null 2>&1 ||
1287 ! command -v cmp >/dev/null 2>&1; then
1288
1289 update_configure()
1290 {
1291 autoreconf -f
1292 }
1293
1294 update_protocol()
1295 {
1296 ./tools/make_requests
1297 }
1298
1299else
1300
1301 update_configure()
1302 {
1303 _file="./configure"
1304
1305 if ! cp -a "$_file" "$_file.old"; then
1306 abort "failed to create $_file.old"
1307 fi
1308
1309 if ! autoreconf -f; then
1310 rm "$_file.old"
1311 unset _file
1312 return 1
1313 fi
1314
1315 # Shifting by 62 bits is undefined behaviour when off_t is 32-bit, see also
1316 # https://launchpad.net/ubuntu/+source/autoconf/2.69-6 - the bug is still
1317 # present in some other distros (including Archlinux).
1318 _large_off_old="^#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))\$"
1319 _large_off_new="#define LARGE_OFF_T ((((off_t) 1 << 31) << 31) - 1 + (((off_t) 1 << 31) << 31))"
1320 sed -i'' -e "s|$_large_off_old|$_large_off_new|g" "$_file"
1321 unset _large_off_old _large_off_new
1322
1323 # Restore original timestamp when nothing changed
1324 if ! cmp "$_file.old" "$_file" >/dev/null; then
1325 rm "$_file.old"
1326 else
1327 mv "$_file.old" "$_file"
1328 fi
1329
1330 unset _file
1331 return 0
1332 }
1333
1334 update_protocol()
1335 {
1336 _file="./include/wine/server_protocol.h"
1337
1338 if ! cp -a "$_file" "$_file.old"; then
1339 abort "failed to create $_file.old"
1340 fi
1341
1342 if ! ./tools/make_requests; then
1343 rm "$_file.old"
1344 unset _file
1345 return 1
1346 fi
1347
1348 # Restore original timestamp when nothing changed
1349 if diff -u "$_file.old" "$_file" |
1350 grep -v "^[+-]#define SERVER_PROTOCOL_VERSION" |
1351 grep -v "^\(+++\|---\)" | grep -q "^[+-]"; then
1352 rm "$_file.old"
1353 else
1354 mv "$_file.old" "$_file"
1355 fi
1356
1357 unset _file
1358 return 0
1359 }
1360fi
1361
1362
1363# Most backends will try to use git, either directly or indirectly.
1364# Unfortunately this does not work when "$DESTDIR" points to a
1365# subdirectory of a git tree, which has the effect that no patches
1366# are applied, but the exitcode is zero. To avoid broken builds we
1367# will workaround this issue or abort.
1368test ! -e ".git" && git rev-parse --git-dir >/dev/null 2>&1
1369workaround_git_bug="$?"
1370
1371# Apply the patches using gitapply.sh, a small wrapper around 'patch'
1372if test "$backend" = "patch"; then
1373
1374 if test "$workaround_git_bug" -eq 0; then
1375 gitapply_args="--nogit"
1376 else
1377 gitapply_args=""
1378 fi
1379
1380 if test "$enable_autoconf" -gt 1; then
1381 warning "Ignoring commandline argument --force-autoconf."
1382 enable_autoconf=1
1383 fi
1384
1385 patch_apply_file()
1386 {
1387 printf '%s\n' "Applying $1"
1388 if ! "$patchdir/gitapply.sh" $gitapply_args < "$1"; then
1389 abort "Failed to apply patch, aborting!"
1390 fi
1391 }
1392
1393# 'eapply/epatch' backend - used on Gentoo
1394elif test "$backend" = "eapply" -o "$backend" = "epatch"; then
1395
1396 if test "$workaround_git_bug" -eq 0; then
1397 gitapply_args="--nogit"
1398 else
1399 gitapply_args=""
1400 fi
1401
1402 if ! command -v "$backend" >/dev/null 2>&1 || \
1403 ! command -v ebegin >/dev/null 2>&1 || \
1404 ! command -v eend >/dev/null 2>&1 || \
1405 ! command -v nonfatal >/dev/null 2>&1; then
1406 abort "Shell functions $backend/ebegin/eend/nonfatal not found. You have to source this script from your ebuild."
1407 fi
1408
1409 if test "$enable_autoconf" -gt 1; then
1410 warning "Ignoring commandline argument --force-autoconf."
1411 enable_autoconf=1
1412 fi
1413
1414 patch_apply_file()
1415 {
1416 _shortname="$(basename "$1")"
1417 if grep -q "^GIT binary patch" "$1"; then
1418 ebegin "Applying $_shortname"
1419 "$patchdir/gitapply.sh" $gitapply_args < "$1"
1420 if ! eend $?; then
1421 exit 1
1422 fi
1423 else
1424 # we are run from a subshell, so we can't call die
1425 if ! nonfatal "$backend" "$1"; then
1426 exit 1
1427 fi
1428 fi
1429 unset _shortname
1430 }
1431
1432# GIT backend - apply patches using 'git am'
1433elif test "$backend" = "git" -o "$backend" = "git-am"; then
1434
1435 if test "$workaround_git_bug" -eq 0; then
1436 abort "Backend 'git-am' not possible when DESTDIR points to a git subdirectory."
1437 fi
1438
1439 patch_apply_file()
1440 {
1441 printf '%s\n' "Applying $1"
1442 if ! git am "$1"; then
1443 abort "Failed to apply patch, aborting!"
1444 fi
1445 if test "$enable_autoconf" -gt 1; then
1446 _do_commit=0
1447
1448 # Run 'autoreconf -f' if required
1449 if git show --pretty=format: --name-only | grep -q "^\(configure.ac\|aclocal.m4\)$"; then
1450 if ! update_configure; then
1451 abort "'autoreconf -f' failed."
1452 fi
1453 git add ./configure
1454 git add ./include/config.h.in
1455 _do_commit=1
1456 fi
1457
1458 # Run './tools/make_requests' if required
1459 if git show --pretty=format: --name-only | grep -q "^server/"; then
1460 if ! update_protocol; then
1461 abort "'./tools/make_requests' failed."
1462 fi
1463 git add ./include/wine/server_protocol.h
1464 git add ./server/trace.c
1465 git add ./server/request.h
1466 _do_commit=1
1467 fi
1468
1469 if test "$_do_commit" -ne 0; then
1470 if ! git commit --amend --reuse-message HEAD; then
1471 abort "Failed to include autogenerated changes in commit."
1472 fi
1473 fi
1474
1475 unset _do_commit
1476 fi
1477 }
1478
1479# Git apply backend
1480elif test "$backend" = "git-apply"; then
1481
1482 if test "$workaround_git_bug" -eq 0; then
1483 abort "Backend 'git-apply' not possible when DESTDIR points to a git subdirectory."
1484 fi
1485
1486 if test "$enable_autoconf" -gt 1; then
1487 warning "Ignoring commandline argument --force-autoconf."
1488 enable_autoconf=1
1489 fi
1490
1491 patch_apply_file()
1492 {
1493 printf '%s\n' "Applying $1"
1494 if ! git apply "$1"; then
1495 abort "Failed to apply patch, aborting!"
1496 fi
1497 }
1498
1499# Stacked GIT backend - import the patches (mainly for developers)
1500elif test "$backend" = "stg"; then
1501
1502 if test "$workaround_git_bug" -eq 0; then
1503 abort "Backend 'stg' not possible when DESTDIR points to a git subdirectory."
1504 fi
1505
1506 # Only import the regular patches, no autogenerated ones -
1507 # moreover, don't run autoreconf or ./tools/make_requests.
1508 enable_patchlist=0
1509 enable_autoconf=0
1510
1511 patch_apply_file()
1512 {
1513 printf '%s\n' "Applying $1"
1514 _shortname="$(basename "$1")"
1515 if ! printf '%s\n' "staging/$_shortname" | cat - "$1" | stg import; then
1516 abort "Failed to apply patch, aborting!"
1517 fi
1518 unset _shortname
1519 }
1520
1521else
1522 abort "Selected backend $backend not supported."
1523fi
1524
1525patch_apply()
1526{
1527 patch_apply_file "$patchdir/$1"
1528}
1529
1530
1531if test "$enable_ws2_32_TransmitFile" -eq 1; then
1532 if test "$enable_server_Desktop_Refcount" -gt 1; then
1533 abort "Patchset server-Desktop_Refcount disabled, but ws2_32-TransmitFile depends on that."
1534 fi
1535 enable_server_Desktop_Refcount=1
1536fi
1537
1538if test "$enable_wow64cpu_Wow64Transition" -eq 1; then
1539 if test "$enable_advapi32_Token_Integrity_Level" -gt 1; then
1540 abort "Patchset advapi32-Token_Integrity_Level disabled, but wow64cpu-Wow64Transition depends on that."
1541 fi
1542 enable_advapi32_Token_Integrity_Level=1
1543fi
1544
1545if test "$enable_winex11_WM_WINDOWPOSCHANGING" -eq 1; then
1546 if test "$enable_winex11__NET_ACTIVE_WINDOW" -gt 1; then
1547 abort "Patchset winex11-_NET_ACTIVE_WINDOW disabled, but winex11-WM_WINDOWPOSCHANGING depends on that."
1548 fi
1549 enable_winex11__NET_ACTIVE_WINDOW=1
1550fi
1551
1552if test "$enable_winedevice_Default_Drivers" -eq 1; then
1553 if test "$enable_dxva2_Video_Decoder" -gt 1; then
1554 abort "Patchset dxva2-Video_Decoder disabled, but winedevice-Default_Drivers depends on that."
1555 fi
1556 if test "$enable_ntoskrnl_Stubs" -gt 1; then
1557 abort "Patchset ntoskrnl-Stubs disabled, but winedevice-Default_Drivers depends on that."
1558 fi
1559 enable_dxva2_Video_Decoder=1
1560 enable_ntoskrnl_Stubs=1
1561fi
1562
1563if test "$enable_wined3d_Indexed_Vertex_Blending" -eq 1; then
1564 if test "$enable_wined3d_SWVP_shaders" -gt 1; then
1565 abort "Patchset wined3d-SWVP-shaders disabled, but wined3d-Indexed_Vertex_Blending depends on that."
1566 fi
1567 enable_wined3d_SWVP_shaders=1
1568fi
1569
1570if test "$enable_wineboot_ProxySettings" -eq 1; then
1571 if test "$enable_wineboot_DriveSerial" -gt 1; then
1572 abort "Patchset wineboot-DriveSerial disabled, but wineboot-ProxySettings depends on that."
1573 fi
1574 if test "$enable_wineboot_drivers_etc_Stubs" -gt 1; then
1575 abort "Patchset wineboot-drivers_etc_Stubs disabled, but wineboot-ProxySettings depends on that."
1576 fi
1577 enable_wineboot_DriveSerial=1
1578 enable_wineboot_drivers_etc_Stubs=1
1579fi
1580
1581if test "$enable_windowscodecs_TIFF_Support" -eq 1; then
1582 if test "$enable_windowscodecs_GIF_Encoder" -gt 1; then
1583 abort "Patchset windowscodecs-GIF_Encoder disabled, but windowscodecs-TIFF_Support depends on that."
1584 fi
1585 enable_windowscodecs_GIF_Encoder=1
1586fi
1587
1588if test "$enable_uxtheme_GTK_Theming" -eq 1; then
1589 if test "$enable_uxtheme_CloseThemeClass" -gt 1; then
1590 abort "Patchset uxtheme-CloseThemeClass disabled, but uxtheme-GTK_Theming depends on that."
1591 fi
1592 enable_uxtheme_CloseThemeClass=1
1593fi
1594
1595if test "$enable_user32_window_activation" -eq 1; then
1596 if test "$enable_user32_recursive_activation" -gt 1; then
1597 abort "Patchset user32-recursive-activation disabled, but user32-window-activation depends on that."
1598 fi
1599 enable_user32_recursive_activation=1
1600fi
1601
1602if test "$enable_user32_rawinput_mouse_experimental" -eq 1; then
1603 if test "$enable_user32_rawinput_nolegacy" -gt 1; then
1604 abort "Patchset user32-rawinput-nolegacy disabled, but user32-rawinput-mouse-experimental depends on that."
1605 fi
1606 enable_user32_rawinput_nolegacy=1
1607fi
1608
1609if test "$enable_user32_rawinput_hid" -eq 1; then
1610 if test "$enable_user32_rawinput_nolegacy" -gt 1; then
1611 abort "Patchset user32-rawinput-nolegacy disabled, but user32-rawinput-hid depends on that."
1612 fi
1613 enable_user32_rawinput_nolegacy=1
1614fi
1615
1616if test "$enable_user32_rawinput_nolegacy" -eq 1; then
1617 if test "$enable_user32_rawinput_mouse" -gt 1; then
1618 abort "Patchset user32-rawinput-mouse disabled, but user32-rawinput-nolegacy depends on that."
1619 fi
1620 enable_user32_rawinput_mouse=1
1621fi
1622
1623if test "$enable_user32_rawinput_mouse" -eq 1; then
1624 if test "$enable_winex11_drv_mouse_coorrds" -gt 1; then
1625 abort "Patchset winex11.drv-mouse-coorrds disabled, but user32-rawinput-mouse depends on that."
1626 fi
1627 enable_winex11_drv_mouse_coorrds=1
1628fi
1629
1630if test "$enable_stdole32_tlb_SLTG_Typelib" -eq 1; then
1631 if test "$enable_widl_SLTG_Typelib_Support" -gt 1; then
1632 abort "Patchset widl-SLTG_Typelib_Support disabled, but stdole32.tlb-SLTG_Typelib depends on that."
1633 fi
1634 enable_widl_SLTG_Typelib_Support=1
1635fi
1636
1637if test "$enable_shell32_ACE_Viewer" -eq 1; then
1638 if test "$enable_shell32_Progress_Dialog" -gt 1; then
1639 abort "Patchset shell32-Progress_Dialog disabled, but shell32-ACE_Viewer depends on that."
1640 fi
1641 enable_shell32_Progress_Dialog=1
1642fi
1643
1644if test "$enable_shell32_Progress_Dialog" -eq 1; then
1645 if test "$enable_kernel32_CopyFileEx" -gt 1; then
1646 abort "Patchset kernel32-CopyFileEx disabled, but shell32-Progress_Dialog depends on that."
1647 fi
1648 if test "$enable_shell32_SHFileOperation_Move" -gt 1; then
1649 abort "Patchset shell32-SHFileOperation_Move disabled, but shell32-Progress_Dialog depends on that."
1650 fi
1651 enable_kernel32_CopyFileEx=1
1652 enable_shell32_SHFileOperation_Move=1
1653fi
1654
1655if test "$enable_server_Object_Types" -eq 1; then
1656 if test "$enable_server_Shared_Memory" -gt 1; then
1657 abort "Patchset server-Shared_Memory disabled, but server-Object_Types depends on that."
1658 fi
1659 enable_server_Shared_Memory=1
1660fi
1661
1662if test "$enable_server_Inherited_ACLs" -eq 1; then
1663 if test "$enable_server_Stored_ACLs" -gt 1; then
1664 abort "Patchset server-Stored_ACLs disabled, but server-Inherited_ACLs depends on that."
1665 fi
1666 enable_server_Stored_ACLs=1
1667fi
1668
1669if test "$enable_server_Stored_ACLs" -eq 1; then
1670 if test "$enable_ntdll_DOS_Attributes" -gt 1; then
1671 abort "Patchset ntdll-DOS_Attributes disabled, but server-Stored_ACLs depends on that."
1672 fi
1673 if test "$enable_server_File_Permissions" -gt 1; then
1674 abort "Patchset server-File_Permissions disabled, but server-Stored_ACLs depends on that."
1675 fi
1676 enable_ntdll_DOS_Attributes=1
1677 enable_server_File_Permissions=1
1678fi
1679
1680if test "$enable_server_Desktop_Refcount" -eq 1; then
1681 if test "$enable_eventfd_synchronization" -gt 1; then
1682 abort "Patchset eventfd_synchronization disabled, but server-Desktop_Refcount depends on that."
1683 fi
1684 if test "$enable_ws2_32_WSACleanup" -gt 1; then
1685 abort "Patchset ws2_32-WSACleanup disabled, but server-Desktop_Refcount depends on that."
1686 fi
1687 enable_eventfd_synchronization=1
1688 enable_ws2_32_WSACleanup=1
1689fi
1690
1691if test "$enable_oleaut32_OLEPictureImpl_SaveAsFile" -eq 1; then
1692 if test "$enable_oleaut32_Load_Save_EMF" -gt 1; then
1693 abort "Patchset oleaut32-Load_Save_EMF disabled, but oleaut32-OLEPictureImpl_SaveAsFile depends on that."
1694 fi
1695 enable_oleaut32_Load_Save_EMF=1
1696fi
1697
1698if test "$enable_nvencodeapi_Video_Encoder" -eq 1; then
1699 if test "$enable_nvcuvid_CUDA_Video_Support" -gt 1; then
1700 abort "Patchset nvcuvid-CUDA_Video_Support disabled, but nvencodeapi-Video_Encoder depends on that."
1701 fi
1702 enable_nvcuvid_CUDA_Video_Support=1
1703fi
1704
1705if test "$enable_nvcuvid_CUDA_Video_Support" -eq 1; then
1706 if test "$enable_nvapi_Stub_DLL" -gt 1; then
1707 abort "Patchset nvapi-Stub_DLL disabled, but nvcuvid-CUDA_Video_Support depends on that."
1708 fi
1709 enable_nvapi_Stub_DLL=1
1710fi
1711
1712if test "$enable_ntdll_WRITECOPY" -eq 1; then
1713 if test "$enable_ntdll_User_Shared_Data" -gt 1; then
1714 abort "Patchset ntdll-User_Shared_Data disabled, but ntdll-WRITECOPY depends on that."
1715 fi
1716 enable_ntdll_User_Shared_Data=1
1717fi
1718
1719if test "$enable_ntdll_Syscall_Emulation" -eq 1; then
1720 if test "$enable_winebuild_Fake_Dlls" -gt 1; then
1721 abort "Patchset winebuild-Fake_Dlls disabled, but ntdll-Syscall_Emulation depends on that."
1722 fi
1723 enable_winebuild_Fake_Dlls=1
1724fi
1725
1726if test "$enable_ntdll_NtQueryVirtualMemory" -eq 1; then
1727 if test "$enable_ntdll_NtDevicePath" -gt 1; then
1728 abort "Patchset ntdll-NtDevicePath disabled, but ntdll-NtQueryVirtualMemory depends on that."
1729 fi
1730 enable_ntdll_NtDevicePath=1
1731fi
1732
1733if test "$enable_ntdll_NtQueryEaFile" -eq 1; then
1734 if test "$enable_ntdll_Junction_Points" -gt 1; then
1735 abort "Patchset ntdll-Junction_Points disabled, but ntdll-NtQueryEaFile depends on that."
1736 fi
1737 enable_ntdll_Junction_Points=1
1738fi
1739
1740if test "$enable_ntdll_NtDevicePath" -eq 1; then
1741 if test "$enable_ntdll_Pipe_SpecialCharacters" -gt 1; then
1742 abort "Patchset ntdll-Pipe_SpecialCharacters disabled, but ntdll-NtDevicePath depends on that."
1743 fi
1744 enable_ntdll_Pipe_SpecialCharacters=1
1745fi
1746
1747if test "$enable_ntdll_NtContinue" -eq 1; then
1748 if test "$enable_winebuild_Fake_Dlls" -gt 1; then
1749 abort "Patchset winebuild-Fake_Dlls disabled, but ntdll-NtContinue depends on that."
1750 fi
1751 enable_winebuild_Fake_Dlls=1
1752fi
1753
1754if test "$enable_ntdll_HashLinks" -eq 1; then
1755 if test "$enable_ntdll_LDR_MODULE" -gt 1; then
1756 abort "Patchset ntdll-LDR_MODULE disabled, but ntdll-HashLinks depends on that."
1757 fi
1758 enable_ntdll_LDR_MODULE=1
1759fi
1760
1761if test "$enable_ntdll_DOS_Attributes" -eq 1; then
1762 if test "$enable_ntdll_Junction_Points" -gt 1; then
1763 abort "Patchset ntdll-Junction_Points disabled, but ntdll-DOS_Attributes depends on that."
1764 fi
1765 enable_ntdll_Junction_Points=1
1766fi
1767
1768if test "$enable_ntdll_Builtin_Prot" -eq 1; then
1769 if test "$enable_ntdll_User_Shared_Data" -gt 1; then
1770 abort "Patchset ntdll-User_Shared_Data disabled, but ntdll-Builtin_Prot depends on that."
1771 fi
1772 enable_ntdll_User_Shared_Data=1
1773fi
1774
1775if test "$enable_ntdll_ApiSetMap" -eq 1; then
1776 if test "$enable_ntdll_ThreadTime" -gt 1; then
1777 abort "Patchset ntdll-ThreadTime disabled, but ntdll-ApiSetMap depends on that."
1778 fi
1779 enable_ntdll_ThreadTime=1
1780fi
1781
1782if test "$enable_kernel32_Processor_Group" -eq 1; then
1783 if test "$enable_api_ms_win_Stub_DLLs" -gt 1; then
1784 abort "Patchset api-ms-win-Stub_DLLs disabled, but kernel32-Processor_Group depends on that."
1785 fi
1786 enable_api_ms_win_Stub_DLLs=1
1787fi
1788
1789if test "$enable_kernel32_CopyFileEx" -eq 1; then
1790 if test "$enable_ntdll_FileDispositionInformation" -gt 1; then
1791 abort "Patchset ntdll-FileDispositionInformation disabled, but kernel32-CopyFileEx depends on that."
1792 fi
1793 enable_ntdll_FileDispositionInformation=1
1794fi
1795
1796if test "$enable_ntdll_FileDispositionInformation" -eq 1; then
1797 if test "$enable_server_File_Permissions" -gt 1; then
1798 abort "Patchset server-File_Permissions disabled, but ntdll-FileDispositionInformation depends on that."
1799 fi
1800 enable_server_File_Permissions=1
1801fi
1802
1803if test "$enable_server_File_Permissions" -eq 1; then
1804 if test "$enable_ntdll_Junction_Points" -gt 1; then
1805 abort "Patchset ntdll-Junction_Points disabled, but server-File_Permissions depends on that."
1806 fi
1807 enable_ntdll_Junction_Points=1
1808fi
1809
1810if test "$enable_eventfd_synchronization" -eq 1; then
1811 if test "$enable_advapi32_Token_Integrity_Level" -gt 1; then
1812 abort "Patchset advapi32-Token_Integrity_Level disabled, but eventfd_synchronization depends on that."
1813 fi
1814 if test "$enable_kernel32_K32GetPerformanceInfo" -gt 1; then
1815 abort "Patchset kernel32-K32GetPerformanceInfo disabled, but eventfd_synchronization depends on that."
1816 fi
1817 if test "$enable_ntdll_Junction_Points" -gt 1; then
1818 abort "Patchset ntdll-Junction_Points disabled, but eventfd_synchronization depends on that."
1819 fi
1820 if test "$enable_ntdll_RtlCreateUserThread" -gt 1; then
1821 abort "Patchset ntdll-RtlCreateUserThread disabled, but eventfd_synchronization depends on that."
1822 fi
1823 if test "$enable_ntdll_SystemRoot_Symlink" -gt 1; then
1824 abort "Patchset ntdll-SystemRoot_Symlink disabled, but eventfd_synchronization depends on that."
1825 fi
1826 if test "$enable_ntdll_User_Shared_Data" -gt 1; then
1827 abort "Patchset ntdll-User_Shared_Data disabled, but eventfd_synchronization depends on that."
1828 fi
1829 if test "$enable_server_Realtime_Priority" -gt 1; then
1830 abort "Patchset server-Realtime_Priority disabled, but eventfd_synchronization depends on that."
1831 fi
1832 if test "$enable_server_Shared_Memory" -gt 1; then
1833 abort "Patchset server-Shared_Memory disabled, but eventfd_synchronization depends on that."
1834 fi
1835 if test "$enable_ws2_32_WSACleanup" -gt 1; then
1836 abort "Patchset ws2_32-WSACleanup disabled, but eventfd_synchronization depends on that."
1837 fi
1838 enable_advapi32_Token_Integrity_Level=1
1839 enable_kernel32_K32GetPerformanceInfo=1
1840 enable_ntdll_Junction_Points=1
1841 enable_ntdll_RtlCreateUserThread=1
1842 enable_ntdll_SystemRoot_Symlink=1
1843 enable_ntdll_User_Shared_Data=1
1844 enable_server_Realtime_Priority=1
1845 enable_server_Shared_Memory=1
1846 enable_ws2_32_WSACleanup=1
1847fi
1848
1849if test "$enable_server_Shared_Memory" -eq 1; then
1850 if test "$enable_ntdll_Threading" -gt 1; then
1851 abort "Patchset ntdll-Threading disabled, but server-Shared_Memory depends on that."
1852 fi
1853 if test "$enable_server_Key_State" -gt 1; then
1854 abort "Patchset server-Key_State disabled, but server-Shared_Memory depends on that."
1855 fi
1856 if test "$enable_server_PeekMessage" -gt 1; then
1857 abort "Patchset server-PeekMessage disabled, but server-Shared_Memory depends on that."
1858 fi
1859 if test "$enable_server_Signal_Thread" -gt 1; then
1860 abort "Patchset server-Signal_Thread disabled, but server-Shared_Memory depends on that."
1861 fi
1862 enable_ntdll_Threading=1
1863 enable_server_Key_State=1
1864 enable_server_PeekMessage=1
1865 enable_server_Signal_Thread=1
1866fi
1867
1868if test "$enable_server_Realtime_Priority" -eq 1; then
1869 if test "$enable_ntdll_ThreadTime" -gt 1; then
1870 abort "Patchset ntdll-ThreadTime disabled, but server-Realtime_Priority depends on that."
1871 fi
1872 enable_ntdll_ThreadTime=1
1873fi
1874
1875if test "$enable_ntdll_SystemRoot_Symlink" -eq 1; then
1876 if test "$enable_ntdll_Exception" -gt 1; then
1877 abort "Patchset ntdll-Exception disabled, but ntdll-SystemRoot_Symlink depends on that."
1878 fi
1879 enable_ntdll_Exception=1
1880fi
1881
1882if test "$enable_ntdll_RtlCreateUserThread" -eq 1; then
1883 if test "$enable_winebuild_Fake_Dlls" -gt 1; then
1884 abort "Patchset winebuild-Fake_Dlls disabled, but ntdll-RtlCreateUserThread depends on that."
1885 fi
1886 enable_winebuild_Fake_Dlls=1
1887fi
1888
1889if test "$enable_winebuild_Fake_Dlls" -eq 1; then
1890 if test "$enable_ntdll_User_Shared_Data" -gt 1; then
1891 abort "Patchset ntdll-User_Shared_Data disabled, but winebuild-Fake_Dlls depends on that."
1892 fi
1893 enable_ntdll_User_Shared_Data=1
1894fi
1895
1896if test "$enable_ntdll_User_Shared_Data" -eq 1; then
1897 if test "$enable_ntdll_Hide_Wine_Exports" -gt 1; then
1898 abort "Patchset ntdll-Hide_Wine_Exports disabled, but ntdll-User_Shared_Data depends on that."
1899 fi
1900 enable_ntdll_Hide_Wine_Exports=1
1901fi
1902
1903if test "$enable_ntdll_Hide_Wine_Exports" -eq 1; then
1904 if test "$enable_advapi32_Token_Integrity_Level" -gt 1; then
1905 abort "Patchset advapi32-Token_Integrity_Level disabled, but ntdll-Hide_Wine_Exports depends on that."
1906 fi
1907 if test "$enable_ntdll_ThreadTime" -gt 1; then
1908 abort "Patchset ntdll-ThreadTime disabled, but ntdll-Hide_Wine_Exports depends on that."
1909 fi
1910 enable_advapi32_Token_Integrity_Level=1
1911 enable_ntdll_ThreadTime=1
1912fi
1913
1914if test "$enable_dxdiagn_GetChildContainer_Leaf_Nodes" -eq 1; then
1915 if test "$enable_dxdiagn_Enumerate_DirectSound" -gt 1; then
1916 abort "Patchset dxdiagn-Enumerate_DirectSound disabled, but dxdiagn-GetChildContainer_Leaf_Nodes depends on that."
1917 fi
1918 enable_dxdiagn_Enumerate_DirectSound=1
1919fi
1920
1921if test "$enable_dsound_EAX" -eq 1; then
1922 if test "$enable_dsound_Fast_Mixer" -gt 1; then
1923 abort "Patchset dsound-Fast_Mixer disabled, but dsound-EAX depends on that."
1924 fi
1925 enable_dsound_Fast_Mixer=1
1926fi
1927
1928if test "$enable_dinput_SetActionMap_genre" -eq 1; then
1929 if test "$enable_dinput_joy_mappings" -gt 1; then
1930 abort "Patchset dinput-joy-mappings disabled, but dinput-SetActionMap-genre depends on that."
1931 fi
1932 enable_dinput_joy_mappings=1
1933fi
1934
1935if test "$enable_ddraw_version_check" -eq 1; then
1936 if test "$enable_ddraw_Device_Caps" -gt 1; then
1937 abort "Patchset ddraw-Device_Caps disabled, but ddraw-version-check depends on that."
1938 fi
1939 enable_ddraw_Device_Caps=1
1940fi
1941
1942if test "$enable_ddraw_Texture_Wrong_Caps" -eq 1; then
1943 if test "$enable_ddraw_Rendering_Targets" -gt 1; then
1944 abort "Patchset ddraw-Rendering_Targets disabled, but ddraw-Texture_Wrong_Caps depends on that."
1945 fi
1946 enable_ddraw_Rendering_Targets=1
1947fi
1948
1949if test "$enable_d3d11_Deferred_Context" -eq 1; then
1950 if test "$enable_nvapi_Stub_DLL" -gt 1; then
1951 abort "Patchset nvapi-Stub_DLL disabled, but d3d11-Deferred_Context depends on that."
1952 fi
1953 enable_nvapi_Stub_DLL=1
1954fi
1955
1956if test "$enable_nvapi_Stub_DLL" -eq 1; then
1957 if test "$enable_nvcuda_CUDA_Support" -gt 1; then
1958 abort "Patchset nvcuda-CUDA_Support disabled, but nvapi-Stub_DLL depends on that."
1959 fi
1960 enable_nvcuda_CUDA_Support=1
1961fi
1962
1963if test "$enable_advapi32_Token_Integrity_Level" -eq 1; then
1964 if test "$enable_Staging" -gt 1; then
1965 abort "Patchset Staging disabled, but advapi32-Token_Integrity_Level depends on that."
1966 fi
1967 if test "$enable_advapi32_CreateRestrictedToken" -gt 1; then
1968 abort "Patchset advapi32-CreateRestrictedToken disabled, but advapi32-Token_Integrity_Level depends on that."
1969 fi
1970 enable_Staging=1
1971 enable_advapi32_CreateRestrictedToken=1
1972fi
1973
1974
1975# If autoupdate is enabled then create a tempfile to keep track of all patches
1976if test "$enable_patchlist" -eq 1; then
1977 if test "$enable_Staging" -eq 1; then
1978 # macOS 10.10 and prior do not allow mktemp with empty argument
1979 patchlist=$(mktemp 2>/dev/null || mktemp -t tmp)
1980 if test ! -f "$patchlist"; then
1981 abort "Unable to create temporary file for patchlist."
1982 fi
1983 else
1984 warning "Skipping generation of patchlist because 'Staging' patchset is disabled."
1985 enable_patchlist=0
1986 fi
1987fi
1988
1989
1990# Patchset Compiler_Warnings
1991# |
1992# | Modified files:
1993# | * dlls/d2d1/bitmap.c, dlls/d2d1/brush.c, dlls/d2d1/dc_render_target.c, dlls/d2d1/geometry.c,
1994# | dlls/d2d1/hwnd_render_target.c, dlls/d2d1/state_block.c, dlls/d3d11/view.c, dlls/d3d8/texture.c, dlls/d3d9/texture.c,
1995# | dlls/ddraw/viewport.c, dlls/dwrite/font.c, dlls/dwrite/layout.c, dlls/msxml3/schema.c, dlls/oleaut32/oleaut.c,
1996# | dlls/rpcrt4/cstub.c, dlls/vbscript/vbdisp.c, dlls/windowscodecs/info.c, dlls/wsdapi/msgparams.c, include/wine/list.h,
1997# | include/wine/rbtree.h, include/winnt.h
1998# |
1999if test "$enable_Compiler_Warnings" -eq 1; then
2000 patch_apply Compiler_Warnings/0001-windowscodecs-Avoid-implicit-cast-of-interface-point.patch
2001 patch_apply Compiler_Warnings/0021-d2d1-Avoid-implicit-cast-of-interface-pointer.patch
2002 patch_apply Compiler_Warnings/0022-d3d11-Avoid-implicit-cast-of-interface-pointer.patch
2003 patch_apply Compiler_Warnings/0023-d3d8-Avoid-implicit-cast-of-interface-pointer.patch
2004 patch_apply Compiler_Warnings/0024-d3d9-Avoid-implicit-cast-of-interface-pointer.patch
2005 patch_apply Compiler_Warnings/0025-ddraw-Avoid-implicit-cast-of-interface-pointer.patch
2006 patch_apply Compiler_Warnings/0026-dwrite-Avoid-implicit-cast-of-interface-pointer.patch
2007 patch_apply Compiler_Warnings/0027-msxml3-Avoid-implicit-cast-of-interface-pointer.patch
2008 patch_apply Compiler_Warnings/0028-oleaut32-Avoid-implicit-cast-of-interface-pointer.patch
2009 patch_apply Compiler_Warnings/0029-rpcrt4-Avoid-implicit-cast-of-interface-pointer.patch
2010 patch_apply Compiler_Warnings/0030-vbscript-Avoid-implicit-cast-of-interface-pointer.patch
2011 patch_apply Compiler_Warnings/0031-include-Check-element-type-in-CONTAINING_RECORD-and-.patch
2012 patch_apply Compiler_Warnings/0032-wsdapi-Avoid-implicit-cast-of-interface-pointer.patch
2013 (
2014 printf '%s\n' '+ { "Alistair Leslie-Hughes", "windowscodecs: Avoid implicit cast of interface pointer.", 1 },';
2015 printf '%s\n' '+ { "Sebastian Lackner", "d2d1: Avoid implicit cast of interface pointer.", 1 },';
2016 printf '%s\n' '+ { "Sebastian Lackner", "d3d11: Avoid implicit cast of interface pointer.", 1 },';
2017 printf '%s\n' '+ { "Sebastian Lackner", "d3d8: Avoid implicit cast of interface pointer.", 1 },';
2018 printf '%s\n' '+ { "Sebastian Lackner", "d3d9: Avoid implicit cast of interface pointer.", 1 },';
2019 printf '%s\n' '+ { "Sebastian Lackner", "ddraw: Avoid implicit cast of interface pointer.", 1 },';
2020 printf '%s\n' '+ { "Sebastian Lackner", "dwrite: Avoid implicit cast of interface pointer.", 1 },';
2021 printf '%s\n' '+ { "Sebastian Lackner", "msxml3: Avoid implicit cast of interface pointer.", 1 },';
2022 printf '%s\n' '+ { "Sebastian Lackner", "oleaut32: Avoid implicit cast of interface pointer.", 1 },';
2023 printf '%s\n' '+ { "Sebastian Lackner", "rpcrt4: Avoid implicit cast of interface pointer.", 1 },';
2024 printf '%s\n' '+ { "Sebastian Lackner", "vbscript: Avoid implicit cast of interface pointer.", 1 },';
2025 printf '%s\n' '+ { "Sebastian Lackner", "include: Check element type in CONTAINING_RECORD and similar macros.", 1 },';
2026 printf '%s\n' '+ { "Sebastian Lackner", "wsdapi: Avoid implicit cast of interface pointer.", 1 },';
2027 ) >> "$patchlist"
2028fi
2029
2030# Patchset Pipelight
2031# |
2032# | Modified files:
2033# | * dlls/user32/message.c, dlls/user32/tests/msg.c, dlls/winex11.drv/init.c, dlls/winex11.drv/opengl.c,
2034# | dlls/winex11.drv/x11drv.h
2035# |
2036if test "$enable_Pipelight" -eq 1; then
2037 patch_apply Pipelight/0001-winex11-Implement-X11DRV_FLUSH_GDI_DISPLAY-ExtEscape-c.patch
2038 patch_apply Pipelight/0002-user32-Decrease-minimum-SetTimer-interval-to-5-ms.patch
2039 patch_apply Pipelight/0004-winex11.drv-Indicate-direct-rendering-through-OpenGL.patch
2040 (
2041 printf '%s\n' '+ { "Sebastian Lackner", "winex11: Implement X11DRV_FLUSH_GDI_DISPLAY ExtEscape command.", 1 },';
2042 printf '%s\n' '+ { "Michael Müller", "user32: Decrease minimum SetTimer interval to 5 ms.", 2 },';
2043 printf '%s\n' '+ { "Michael Müller", "winex11.drv: Indicate direct rendering through OpenGL extension.", 1 },';
2044 ) >> "$patchlist"
2045fi
2046
2047# Patchset Staging
2048# |
2049# | Modified files:
2050# | * dlls/kernel32/process.c, dlls/ntdll/misc.c, dlls/ntdll/ntdll.spec, include/wine/library.h, libs/wine/Makefile.in,
2051# | libs/wine/config.c, libs/wine/loader.c, libs/wine/wine.map, loader/main.c
2052# |
2053if test "$enable_Staging" -eq 1; then
2054 patch_apply Staging/0001-kernel32-Add-winediag-message-to-show-warning-that-t.patch
2055 patch_apply Staging/0002-winelib-Append-Staging-at-the-end-of-the-version-s.patch
2056 patch_apply Staging/0003-loader-Add-commandline-option-patches-to-show-the-pa.patch
2057 patch_apply Staging/0004-loader-Add-commandline-option-check-libs.patch
2058 patch_apply Staging/0005-loader-Print-library-paths-for-check-libs-on-Mac-OS-.patch
2059 (
2060 printf '%s\n' '+ { "Sebastian Lackner", "kernel32: Add winediag message to show warning, that this isn'\''t vanilla wine.", 1 },';
2061 printf '%s\n' '+ { "Sebastian Lackner", "winelib: Append '\''(Staging)'\'' at the end of the version string.", 1 },';
2062 printf '%s\n' '+ { "Sebastian Lackner", "loader: Add commandline option --patches to show the patch list.", 1 },';
2063 printf '%s\n' '+ { "Michael Müller", "loader: Add commandline option --check-libs.", 1 },';
2064 printf '%s\n' '+ { "Michael Müller", "loader: Print library paths for --check-libs on Mac OS X.", 1 },';
2065 ) >> "$patchlist"
2066fi
2067
2068# Patchset advapi32-CreateRestrictedToken
2069# |
2070# | This patchset fixes the following Wine bugs:
2071# | * [#25834] Implement advapi32.CreateRestrictedToken
2072# |
2073# | Modified files:
2074# | * dlls/kernelbase/security.c, dlls/ntdll/nt.c, dlls/ntdll/ntdll.spec, include/winnt.h, include/winternl.h,
2075# | server/process.c, server/protocol.def, server/security.h, server/token.c
2076# |
2077if test "$enable_advapi32_CreateRestrictedToken" -eq 1; then
2078 patch_apply advapi32-CreateRestrictedToken/0001-ntdll-Implement-NtFilterToken.patch
2079 patch_apply advapi32-CreateRestrictedToken/0002-advapi32-Implement-CreateRestrictedToken.patch
2080 (
2081 printf '%s\n' '+ { "Michael Müller", "ntdll: Implement NtFilterToken.", 1 },';
2082 printf '%s\n' '+ { "Michael Müller", "advapi32: Implement CreateRestrictedToken.", 1 },';
2083 ) >> "$patchlist"
2084fi
2085
2086# Patchset advapi32-LsaLookupPrivilegeName
2087# |
2088# | Modified files:
2089# | * dlls/advapi32/lsa.c, dlls/advapi32/tests/lsa.c
2090# |
2091if test "$enable_advapi32_LsaLookupPrivilegeName" -eq 1; then
2092 patch_apply advapi32-LsaLookupPrivilegeName/0001-advapi32-Fix-error-code-when-calling-LsaOpenPolicy-f.patch
2093 patch_apply advapi32-LsaLookupPrivilegeName/0002-advapi32-Use-TRACE-for-LsaOpenPolicy-LsaClose.patch
2094 (
2095 printf '%s\n' '+ { "Michael Müller", "advapi32: Fix error code when calling LsaOpenPolicy for non existing remote machine.", 1 },';
2096 printf '%s\n' '+ { "Michael Müller", "advapi32: Use TRACE for LsaOpenPolicy/LsaClose.", 1 },';
2097 ) >> "$patchlist"
2098fi
2099
2100# Patchset advapi32-Token_Integrity_Level
2101# |
2102# | This patchset has the following (direct or indirect) dependencies:
2103# | * Staging, advapi32-CreateRestrictedToken
2104# |
2105# | This patchset fixes the following Wine bugs:
2106# | * [#40613] Basic implementation for token integrity levels and UAC handling
2107# | * [#39262] Run explorer.exe as unevaluated process
2108# |
2109# | Modified files:
2110# | * configure.ac, dlls/advapi32/tests/Makefile.in, dlls/advapi32/tests/security.c, dlls/kernelbase/process.c,
2111# | dlls/ntdll/loader.c, dlls/ntdll/nt.c, dlls/ntdll/ntdll.spec, dlls/ntdll/ntdll_misc.h, dlls/ntdll/process.c,
2112# | dlls/shell32/shlexec.c, dlls/user32/win.c, programs/runas/Makefile.in, programs/runas/runas.c, programs/runas/runas.h,
2113# | programs/runas/runas.rc, server/process.c, server/process.h, server/protocol.def, server/request.c, server/security.h,
2114# | server/token.c
2115# |
2116if test "$enable_advapi32_Token_Integrity_Level" -eq 1; then
2117 patch_apply advapi32-Token_Integrity_Level/0001-advapi32-tests-Extend-security-label-token-integrity.patch
2118 patch_apply advapi32-Token_Integrity_Level/0002-server-Implement-token-elevation-information.patch
2119 patch_apply advapi32-Token_Integrity_Level/0003-server-Correctly-treat-zero-access-mask-in-duplicate.patch
2120 patch_apply advapi32-Token_Integrity_Level/0004-server-Implement-token-integrity-level.patch
2121 patch_apply advapi32-Token_Integrity_Level/0005-server-Use-all-group-attributes-in-create_token.patch
2122 patch_apply advapi32-Token_Integrity_Level/0006-ntdll-Add-function-to-create-new-tokens-for-elevatio.patch
2123 patch_apply advapi32-Token_Integrity_Level/0007-shell32-Implement-process-elevation-using-runas-verb.patch
2124 patch_apply advapi32-Token_Integrity_Level/0008-ntdll-Implement-process-token-elevation-through-mani.patch
2125 patch_apply advapi32-Token_Integrity_Level/0010-server-Implement-support-for-creating-processes-usin.patch
2126 patch_apply advapi32-Token_Integrity_Level/0012-user32-Start-explorer.exe-using-limited-rights.patch
2127 patch_apply advapi32-Token_Integrity_Level/0013-server-Correctly-assign-security-labels-for-tokens.patch
2128 patch_apply advapi32-Token_Integrity_Level/0014-programs-runas-Basic-implementation-for-starting-pro.patch
2129 patch_apply advapi32-Token_Integrity_Level/0015-ntdll-Add-semi-stub-for-TokenLinkedToken-info-class.patch
2130 (
2131 printf '%s\n' '+ { "Michael Müller", "advapi32/tests: Extend security label / token integrity tests.", 1 },';
2132 printf '%s\n' '+ { "Michael Müller", "server: Implement token elevation information.", 1 },';
2133 printf '%s\n' '+ { "Michael Müller", "server: Correctly treat zero access mask in duplicate_token wineserver call.", 1 },';
2134 printf '%s\n' '+ { "Michael Müller", "server: Implement token integrity level.", 1 },';
2135 printf '%s\n' '+ { "Sebastian Lackner", "server: Use all group attributes in create_token.", 1 },';
2136 printf '%s\n' '+ { "Michael Müller", "ntdll: Add function to create new tokens for elevation purposes.", 1 },';
2137 printf '%s\n' '+ { "Michael Müller", "shell32: Implement process elevation using runas verb.", 1 },';
2138 printf '%s\n' '+ { "Michael Müller", "ntdll: Implement process token elevation through manifests.", 1 },';
2139 printf '%s\n' '+ { "Michael Müller", "server: Implement support for creating processes using a token.", 1 },';
2140 printf '%s\n' '+ { "Michael Müller", "user32: Start explorer.exe using limited rights.", 1 },';
2141 printf '%s\n' '+ { "Michael Müller", "server: Correctly assign security labels for tokens.", 1 },';
2142 printf '%s\n' '+ { "Michael Müller", "programs/runas: Basic implementation for starting processes with a different trustlevel.", 1 },';
2143 printf '%s\n' '+ { "Sebastian Lackner", "ntdll: Add semi-stub for TokenLinkedToken info class.", 1 },';
2144 ) >> "$patchlist"
2145fi
2146
2147# Patchset api-ms-win-Stub_DLLs
2148# |
2149# | Modified files:
2150# | * configure.ac, dlls/ext-ms-win-appmodel-usercontext-l1-1-0/Makefile.in, dlls/ext-ms-win-appmodel-usercontext-l1-1-0/ext-
2151# | ms-win-appmodel-usercontext-l1-1-0.spec, dlls/ext-ms-win-appmodel-usercontext-l1-1-0/main.c, dlls/ext-ms-win-xaml-
2152# | pal-l1-1-0/Makefile.in, dlls/ext-ms-win-xaml-pal-l1-1-0/ext-ms-win-xaml-pal-l1-1-0.spec, dlls/ext-ms-win-xaml-
2153# | pal-l1-1-0/main.c, dlls/iertutil/Makefile.in, dlls/iertutil/iertutil.spec, dlls/iertutil/main.c,
2154# | dlls/uiautomationcore/Makefile.in, dlls/uiautomationcore/uia_main.c
2155# |
2156if test "$enable_api_ms_win_Stub_DLLs" -eq 1; then
2157 patch_apply api-ms-win-Stub_DLLs/0006-iertutil-Add-dll-and-add-stub-for-ordinal-811.patch
2158 patch_apply api-ms-win-Stub_DLLs/0009-ext-ms-win-xaml-pal-l1-1-0-Add-dll-and-add-stub-for-.patch
2159 patch_apply api-ms-win-Stub_DLLs/0010-ext-ms-win-appmodel-usercontext-l1-1-0-Add-dll-and-a.patch
2160 patch_apply api-ms-win-Stub_DLLs/0012-ext-ms-win-xaml-pal-l1-1-0-Add-stub-for-GetThemeServ.patch
2161 patch_apply api-ms-win-Stub_DLLs/0027-uiautomationcore-Add-dll-and-stub-some-functions.patch
2162 (
2163 printf '%s\n' '+ { "Michael Müller", "iertutil: Add dll and add stub for ordinal 811.", 1 },';
2164 printf '%s\n' '+ { "Michael Müller", "ext-ms-win-xaml-pal-l1-1-0: Add dll and add stub for XamlBehaviorEnabled.", 1 },';
2165 printf '%s\n' '+ { "Michael Müller", "ext-ms-win-appmodel-usercontext-l1-1-0: Add dll and add stub for UserContextExtInitialize.", 1 },';
2166 printf '%s\n' '+ { "Michael Müller", "ext-ms-win-xaml-pal-l1-1-0: Add stub for GetThemeServices.", 1 },';
2167 printf '%s\n' '+ { "Michael Müller", "uiautomationcore: Add dll and stub some functions.", 1 },';
2168 ) >> "$patchlist"
2169fi
2170
2171# Patchset atl-AtlAxDialogBox
2172# |
2173# | This patchset fixes the following Wine bugs:
2174# | * [#32749] atl: Implemented AtlAxDialogBox[A,W]
2175# |
2176# | Modified files:
2177# | * dlls/atl/atl_ax.c
2178# |
2179if test "$enable_atl_AtlAxDialogBox" -eq 1; then
2180 patch_apply atl-AtlAxDialogBox/0001-atl-Implement-AtlAxDialogBox-A-W.patch
2181 (
2182 printf '%s\n' '+ { "Qian Hong", "atl: Implement AtlAxDialogBox[A,W].", 1 },';
2183 ) >> "$patchlist"
2184fi
2185
2186# Patchset bcrypt-ECDHSecretAgreement
2187# |
2188# | This patchset fixes the following Wine bugs:
2189# | * [#47699] Multiple games fail to connect to online services (missing BCryptSecretAgreement / BCryptDeriveKey
2190# | implementation)
2191# |
2192# | Modified files:
2193# | * configure.ac, dlls/bcrypt/Makefile.in, dlls/bcrypt/bcrypt_internal.h, dlls/bcrypt/bcrypt_main.c, dlls/bcrypt/gcrypt.c,
2194# | dlls/bcrypt/gnutls.c, dlls/bcrypt/macos.c, dlls/bcrypt/tests/bcrypt.c
2195# |
2196if test "$enable_bcrypt_ECDHSecretAgreement" -eq 1; then
2197 patch_apply bcrypt-ECDHSecretAgreement/0001-bcrypt-Implement-BCryptSecretAgreement-with-libgcryp.patch
2198 patch_apply bcrypt-ECDHSecretAgreement/0002-bcrypt-Implement-BCRYPT_KDF_HASH.patch
2199 (
2200 printf '%s\n' '+ { "Derek Lesho", "bcrypt: Implement BCryptSecretAgreement with libgcrypt.", 1 },';
2201 printf '%s\n' '+ { "Derek Lesho", "bcrypt: Implement BCRYPT_KDF_HASH.", 1 },';
2202 ) >> "$patchlist"
2203fi
2204
2205# Patchset cmd-launch-association
2206# |
2207# | This patchset fixes the following Wine bugs:
2208# | * [#18154] cmd: Support for launching programs based on file association
2209# |
2210# | Modified files:
2211# | * programs/cmd/builtins.c, programs/cmd/tests/test_builtins.cmd, programs/cmd/tests/test_builtins.cmd.exp,
2212# | programs/cmd/wcmdmain.c
2213# |
2214if test "$enable_cmd_launch_association" -eq 1; then
2215 patch_apply cmd-launch-association/0001-cmd-Support-for-launching-programs-based-on-file-ass.patch
2216 patch_apply cmd-launch-association/0002-cmd-ftype-failed-to-clear-file-associations.patch
2217 (
2218 printf '%s\n' '+ { "Jason Edmeades", "cmd: Support for launching programs based on file association.", 1 },';
2219 printf '%s\n' '+ { "Jason Edmeades", "cmd: Ftype failed to clear file associations.", 1 },';
2220 ) >> "$patchlist"
2221fi
2222
2223# Patchset comctl32-Listview_DrawItem
2224# |
2225# | This patchset fixes the following Wine bugs:
2226# | * [#38941] Preserve custom colors between subitems for listview control
2227# |
2228# | Modified files:
2229# | * dlls/comctl32/listview.c
2230# |
2231if test "$enable_comctl32_Listview_DrawItem" -eq 1; then
2232 patch_apply comctl32-Listview_DrawItem/0001-comctl32-Preserve-custom-colors-between-subitems.patch
2233 (
2234 printf '%s\n' '+ { "Michael Müller", "comctl32: Preserve custom colors between subitems.", 2 },';
2235 ) >> "$patchlist"
2236fi
2237
2238# Patchset comctl32-rebar-capture
2239# |
2240# | This patchset fixes the following Wine bugs:
2241# | * [#14750] comctl32: Fixed rebar behaviour when there's capture and no drag.
2242# |
2243# | Modified files:
2244# | * dlls/comctl32/rebar.c
2245# |
2246if test "$enable_comctl32_rebar_capture" -eq 1; then
2247 patch_apply comctl32-rebar-capture/0001-comctl32-Fixed-rebar-behaviour-when-there-s-capture-.patch
2248 (
2249 printf '%s\n' '+ { "Andrej Shadura", "comctl32: Fixed rebar behaviour when there'\''s capture and no drag.", 1 },';
2250 ) >> "$patchlist"
2251fi
2252
2253# Patchset comctl32-version_6
2254# |
2255# | Modified files:
2256# | * dlls/comctl32/comctl32.h, dlls/comctl32/comctl32.rc, include/commctrl.h
2257# |
2258if test "$enable_comctl32_version_6" -eq 1; then
2259 patch_apply comctl32-version_6/0001-comctl32-Bump-version-to-6.0.patch
2260 (
2261 printf '%s\n' '+ { "Dmitry Timoshkov", "comctl32: Bump version to 6.0.", 1 },';
2262 ) >> "$patchlist"
2263fi
2264
2265# Patchset comdlg32-lpstrFileTitle
2266# |
2267# | This patchset fixes the following Wine bugs:
2268# | * [#38400] Postpone setting lpstrFileTitle in GetSaveFileNameW
2269# | * [#35200] Postpone setting lpstrFileTitle in GetSaveFileNameA
2270# |
2271# | Modified files:
2272# | * dlls/comdlg32/filedlg.c
2273# |
2274if test "$enable_comdlg32_lpstrFileTitle" -eq 1; then
2275 patch_apply comdlg32-lpstrFileTitle/0001-comdlg32-Postpone-setting-ofn-lpstrFileTitle-to-work.patch
2276 (
2277 printf '%s\n' '+ { "Dmitry Timoshkov", "comdlg32: Postpone setting ofn->lpstrFileTitle to work around an application bug.", 1 },';
2278 ) >> "$patchlist"
2279fi
2280
2281# Patchset configure-Absolute_RPATH
2282# |
2283# | This patchset fixes the following Wine bugs:
2284# | * [#26256] Support for setcap on wine-preloader
2285# |
2286# | Modified files:
2287# | * configure.ac
2288# |
2289if test "$enable_configure_Absolute_RPATH" -eq 1; then
2290 patch_apply configure-Absolute_RPATH/0001-configure-Also-add-the-absolute-RPATH-when-linking-a.patch
2291 (
2292 printf '%s\n' '+ { "Sebastian Lackner", "configure: Also add the absolute RPATH when linking against libwine.", 1 },';
2293 ) >> "$patchlist"
2294fi
2295
2296# Patchset crypt32-CMS_Certificates
2297# |
2298# | This patchset fixes the following Wine bugs:
2299# | * [#34388] Skip unknown item when decoding a CMS certificate
2300# |
2301# | Modified files:
2302# | * dlls/crypt32/decode.c
2303# |
2304if test "$enable_crypt32_CMS_Certificates" -eq 1; then
2305 patch_apply crypt32-CMS_Certificates/0001-crypt32-Skip-unknown-item-when-decoding-a-CMS-certif.patch
2306 (
2307 printf '%s\n' '+ { "Charles Davis", "crypt32: Skip unknown item when decoding a CMS certificate.", 1 },';
2308 ) >> "$patchlist"
2309fi
2310
2311# Patchset cryptext-CryptExtOpenCER
2312# |
2313# | Modified files:
2314# | * configure, configure.ac, dlls/cryptext/Makefile.in, dlls/cryptext/cryptext.spec, dlls/cryptext/cryptext_main.c,
2315# | dlls/cryptext/tests/Makefile.in, dlls/cryptext/tests/cryptext.c
2316# |
2317if test "$enable_cryptext_CryptExtOpenCER" -eq 1; then
2318 patch_apply cryptext-CryptExtOpenCER/0001-cryptext-Implement-CryptExtOpenCER.patch
2319 (
2320 printf '%s\n' '+ { "Dmitry Timoshkov", "cryptext: Implement CryptExtOpenCER.", 1 },';
2321 ) >> "$patchlist"
2322fi
2323
2324# Patchset nvcuda-CUDA_Support
2325# |
2326# | This patchset fixes the following Wine bugs:
2327# | * [#37664] MediaCoder needs CUDA for video encoding
2328# |
2329# | Modified files:
2330# | * configure.ac, dlls/nvcuda/Makefile.in, dlls/nvcuda/internal.c, dlls/nvcuda/nvcuda.c, dlls/nvcuda/nvcuda.h,
2331# | dlls/nvcuda/nvcuda.rc, dlls/nvcuda/nvcuda.spec, dlls/nvcuda/tests/Makefile.in, dlls/nvcuda/tests/nvcuda.c,
2332# | include/Makefile.in, include/cuda.h
2333# |
2334if test "$enable_nvcuda_CUDA_Support" -eq 1; then
2335 patch_apply nvcuda-CUDA_Support/0001-include-Add-cuda.h.h.patch
2336 patch_apply nvcuda-CUDA_Support/0002-nvcuda-Add-stub-dll.patch
2337 patch_apply nvcuda-CUDA_Support/0003-nvcuda-First-implementation.patch
2338 patch_apply nvcuda-CUDA_Support/0004-nvcuda-Implement-new-functions-added-in-CUDA-6.5.patch
2339 patch_apply nvcuda-CUDA_Support/0005-nvcuda-Properly-wrap-undocumented-ContextStorage-int.patch
2340 patch_apply nvcuda-CUDA_Support/0006-nvcuda-Emulate-two-d3d9-initialization-functions.patch
2341 patch_apply nvcuda-CUDA_Support/0007-nvcuda-Properly-wrap-stream-callbacks-by-forwarding-.patch
2342 patch_apply nvcuda-CUDA_Support/0008-nvcuda-Add-support-for-CUDA-7.0.patch
2343 patch_apply nvcuda-CUDA_Support/0009-nvcuda-Implement-cuModuleLoad-wrapper-function.patch
2344 patch_apply nvcuda-CUDA_Support/0010-nvcuda-Search-for-dylib-library-on-Mac-OS-X.patch
2345 patch_apply nvcuda-CUDA_Support/0011-nvcuda-Add-semi-stub-for-cuD3D10GetDevice.patch
2346 (
2347 printf '%s\n' '+ { "Sebastian Lackner", "include: Add cuda.h.", 1 },';
2348 printf '%s\n' '+ { "Sebastian Lackner", "nvcuda: Add stub dll.", 1 },';
2349 printf '%s\n' '+ { "Michael Müller", "nvcuda: First implementation.", 2 },';
2350 printf '%s\n' '+ { "Sebastian Lackner", "nvcuda: Implement new functions added in CUDA 6.5.", 1 },';
2351 printf '%s\n' '+ { "Michael Müller", "nvcuda: Properly wrap undocumented '\''ContextStorage'\'' interface and add tests.", 1 },';
2352 printf '%s\n' '+ { "Michael Müller", "nvcuda: Emulate two d3d9 initialization functions.", 1 },';
2353 printf '%s\n' '+ { "Sebastian Lackner", "nvcuda: Properly wrap stream callbacks by forwarding them to a worker thread.", 1 },';
2354 printf '%s\n' '+ { "Sebastian Lackner", "nvcuda: Add support for CUDA 7.0.", 1 },';
2355 printf '%s\n' '+ { "Sebastian Lackner", "nvcuda: Implement cuModuleLoad wrapper function.", 1 },';
2356 printf '%s\n' '+ { "Michael Müller", "nvcuda: Search for dylib library on Mac OS X.", 1 },';
2357 printf '%s\n' '+ { "Michael Müller", "nvcuda: Add semi stub for cuD3D10GetDevice.", 1 },';
2358 ) >> "$patchlist"
2359fi
2360
2361# Patchset nvapi-Stub_DLL
2362# |
2363# | This patchset has the following (direct or indirect) dependencies:
2364# | * nvcuda-CUDA_Support
2365# |
2366# | This patchset fixes the following Wine bugs:
2367# | * [#35062] Fix graphical corruption in FarCry 3 with NVIDIA drivers
2368# | * [#43862] CS:GO fails to start when nvapi cannot be initialized
2369# |
2370# | Modified files:
2371# | * configure.ac, dlls/d3d11/device.c, dlls/nvapi/Makefile.in, dlls/nvapi/nvapi.c, dlls/nvapi/nvapi.spec,
2372# | dlls/nvapi/tests/Makefile.in, dlls/nvapi/tests/nvapi.c, dlls/nvapi64/Makefile.in, dlls/nvapi64/nvapi64.spec,
2373# | include/Makefile.in, include/nvapi.h, include/wine/wined3d.h
2374# |
2375if test "$enable_nvapi_Stub_DLL" -eq 1; then
2376 patch_apply nvapi-Stub_DLL/0001-nvapi-First-implementation.patch
2377 patch_apply nvapi-Stub_DLL/0002-nvapi-Add-stubs-for-NvAPI_EnumLogicalGPUs-and-undocu.patch
2378 patch_apply nvapi-Stub_DLL/0003-nvapi-Add-NvAPI_GetPhysicalGPUsFromLogicalGPU.patch
2379 patch_apply nvapi-Stub_DLL/0004-nvapi-Add-stub-for-NvAPI_EnumPhysicalGPUs.patch
2380 patch_apply nvapi-Stub_DLL/0005-nvapi-Add-stubs-for-NvAPI_GPU_GetFullName.patch
2381 patch_apply nvapi-Stub_DLL/0006-nvapi-Explicity-return-NULL-for-0x33c7358c-and-0x593.patch
2382 patch_apply nvapi-Stub_DLL/0007-nvapi-Add-stub-for-NvAPI_DISP_GetGDIPrimaryDisplayId.patch
2383 patch_apply nvapi-Stub_DLL/0008-nvapi-Add-stub-for-EnumNvidiaDisplayHandle.patch
2384 patch_apply nvapi-Stub_DLL/0009-nvapi-Add-stub-for-NvAPI_SYS_GetDriverAndBranchVersi.patch
2385 patch_apply nvapi-Stub_DLL/0010-nvapi-Add-stub-for-NvAPI_Unload.patch
2386 patch_apply nvapi-Stub_DLL/0011-nvapi-Add-stub-for-NvAPI_D3D_GetCurrentSLIState.patch
2387 patch_apply nvapi-Stub_DLL/0012-nvapi-tests-Use-structure-to-list-imports.patch
2388 patch_apply nvapi-Stub_DLL/0013-nvapi-Add-stub-for-NvAPI_GetLogicalGPUFromDisplay.patch
2389 patch_apply nvapi-Stub_DLL/0014-nvapi-Add-stub-for-NvAPI_D3D_GetObjectHandleForResou.patch
2390 patch_apply nvapi-Stub_DLL/0015-nvapi-Add-stub-for-NvAPI_D3D9_RegisterResource.patch
2391 patch_apply nvapi-Stub_DLL/0016-nvapi-Improve-NvAPI_D3D_GetCurrentSLIState.patch
2392 patch_apply nvapi-Stub_DLL/0017-nvapi-Implement-NvAPI_GPU_Get-Physical-Virtual-Frame.patch
2393 patch_apply nvapi-Stub_DLL/0018-nvapi-Add-stub-for-NvAPI_GPU_GetGpuCoreCount.patch
2394 patch_apply nvapi-Stub_DLL/0019-nvapi-Implement-NvAPI_D3D11_SetDepthBoundsTest.patch
2395 patch_apply nvapi-Stub_DLL/0020-nvapi-Implement-NvAPI_D3D11_CreateDevice-and-NvAPI_D.patch
2396 (
2397 printf '%s\n' '+ { "Michael Müller", "nvapi: First implementation.", 1 },';
2398 printf '%s\n' '+ { "Michael Müller", "nvapi: Add stubs for NvAPI_EnumLogicalGPUs and undocumented equivalent.", 1 },';
2399 printf '%s\n' '+ { "Michael Müller", "nvapi: Add NvAPI_GetPhysicalGPUsFromLogicalGPU.", 1 },';
2400 printf '%s\n' '+ { "Michael Müller", "nvapi: Add stub for NvAPI_EnumPhysicalGPUs.", 1 },';
2401 printf '%s\n' '+ { "Michael Müller", "nvapi: Add stubs for NvAPI_GPU_GetFullName.", 1 },';
2402 printf '%s\n' '+ { "Michael Müller", "nvapi: Explicity return NULL for 0x33c7358c and 0x593e8644.", 1 },';
2403 printf '%s\n' '+ { "Michael Müller", "nvapi: Add stub for NvAPI_DISP_GetGDIPrimaryDisplayId.", 1 },';
2404 printf '%s\n' '+ { "Michael Müller", "nvapi: Add stub for EnumNvidiaDisplayHandle.", 1 },';
2405 printf '%s\n' '+ { "Michael Müller", "nvapi: Add stub for NvAPI_SYS_GetDriverAndBranchVersion.", 1 },';
2406 printf '%s\n' '+ { "Michael Müller", "nvapi: Add stub for NvAPI_Unload.", 1 },';
2407 printf '%s\n' '+ { "Michael Müller", "nvapi: Add stub for NvAPI_D3D_GetCurrentSLIState.", 1 },';
2408 printf '%s\n' '+ { "Michael Müller", "nvapi/tests: Use structure to list imports.", 1 },';
2409 printf '%s\n' '+ { "Michael Müller", "nvapi: Add stub for NvAPI_GetLogicalGPUFromDisplay.", 1 },';
2410 printf '%s\n' '+ { "Michael Müller", "nvapi: Add stub for NvAPI_D3D_GetObjectHandleForResource.", 1 },';
2411 printf '%s\n' '+ { "Michael Müller", "nvapi: Add stub for NvAPI_D3D9_RegisterResource.", 1 },';
2412 printf '%s\n' '+ { "Michael Müller", "nvapi: Improve NvAPI_D3D_GetCurrentSLIState.", 1 },';
2413 printf '%s\n' '+ { "Michael Müller", "nvapi: Implement NvAPI_GPU_Get{Physical,Virtual}FrameBufferSize.", 1 },';
2414 printf '%s\n' '+ { "Michael Müller", "nvapi: Add stub for NvAPI_GPU_GetGpuCoreCount.", 1 },';
2415 printf '%s\n' '+ { "Michael Müller", "nvapi: Implement NvAPI_D3D11_SetDepthBoundsTest.", 2 },';
2416 printf '%s\n' '+ { "Michael Müller", "nvapi: Implement NvAPI_D3D11_CreateDevice and NvAPI_D3D11_CreateDeviceAndSwapChain.", 1 },';
2417 ) >> "$patchlist"
2418fi
2419
2420# Patchset d3d11-Deferred_Context
2421# |
2422# | This patchset has the following (direct or indirect) dependencies:
2423# | * nvcuda-CUDA_Support, nvapi-Stub_DLL
2424# |
2425# | This patchset fixes the following Wine bugs:
2426# | * [#42191] Add semi-stub for D3D11 deferred context implementation
2427# | * [#43743] No 3D graphics in Wolcen: Lords of Mayhem
2428# | * [#44089] Correcly align the mapinfo buffer.
2429# |
2430# | Modified files:
2431# | * dlls/d3d11/device.c, dlls/d3d11/tests/d3d11.c, dlls/wined3d/buffer.c, dlls/wined3d/resource.c, dlls/wined3d/texture.c,
2432# | dlls/wined3d/wined3d.spec, dlls/wined3d/wined3d_private.h, include/wine/wined3d.h
2433# |
2434if test "$enable_d3d11_Deferred_Context" -eq 1; then
2435 patch_apply d3d11-Deferred_Context/0001-d3d11-Add-stub-deferred-rendering-context.patch
2436 patch_apply d3d11-Deferred_Context/0002-wined3d-Add-wined3d_resource_map_info-function.patch
2437 patch_apply d3d11-Deferred_Context/0003-d3d11-Initial-implementation-for-deferred-contexts.patch
2438 patch_apply d3d11-Deferred_Context/0004-d3d11-Implement-CSSetShader-for-deferred-contexts.patch
2439 patch_apply d3d11-Deferred_Context/0005-d3d11-Implement-CSSetConstantBuffers-for-deferred-co.patch
2440 patch_apply d3d11-Deferred_Context/0006-d3d11-Implement-Dispatch-for-deferred-contexts.patch
2441 patch_apply d3d11-Deferred_Context/0007-d3d11-Implement-CSSetUnorderedAccessViews-for-deferr.patch
2442 patch_apply d3d11-Deferred_Context/0008-d3d11-Implement-ClearRenderTargetView-for-deferred-c.patch
2443 patch_apply d3d11-Deferred_Context/0009-d3d11-Implement-Draw-for-deferred-contexts.patch
2444 patch_apply d3d11-Deferred_Context/0010-d3d11-Implement-ClearDepthStencilView-for-deferred-c.patch
2445 patch_apply d3d11-Deferred_Context/0011-d3d11-Implement-GSSetShader-for-deferred-contexts.patch
2446 patch_apply d3d11-Deferred_Context/0012-d3d11-Implement-GSSetConstantBuffers-for-deferred-co.patch
2447 patch_apply d3d11-Deferred_Context/0013-d3d11-Implement-CSSetShaderResources-for-deferred-co.patch
2448 patch_apply d3d11-Deferred_Context/0014-d3d11-Implement-GSSetShaderResources-for-deferred-co.patch
2449 patch_apply d3d11-Deferred_Context/0015-d3d11-Implement-HSSetShaderResources-for-deferred-co.patch
2450 patch_apply d3d11-Deferred_Context/0016-d3d11-Implement-VSSetShaderResources-for-deferred-co.patch
2451 patch_apply d3d11-Deferred_Context/0017-d3d11-Implement-CSSetSamplers-for-deferred-contexts.patch
2452 patch_apply d3d11-Deferred_Context/0018-d3d11-Implement-GSSetSamplers-for-deferred-contexts.patch
2453 patch_apply d3d11-Deferred_Context/0019-d3d11-Implement-HSSetSamplers-for-deferred-contexts.patch
2454 patch_apply d3d11-Deferred_Context/0020-d3d11-Implement-VSSetSamplers-for-deferred-contexts.patch
2455 patch_apply d3d11-Deferred_Context/0021-d3d11-Implement-Begin-and-End-for-deferred-contexts.patch
2456 patch_apply d3d11-Deferred_Context/0022-d3d11-Implement-CopyResource-for-deferred-contexts.patch
2457 patch_apply d3d11-Deferred_Context/0023-d3d11-Implement-SetResourceMinLOD-for-deferred-conte.patch
2458 patch_apply d3d11-Deferred_Context/0024-d3d11-Implement-CopySubresourceRegion-for-deferred-c.patch
2459 patch_apply d3d11-Deferred_Context/0025-d3d11-Implement-ResolveSubresource-for-deferred-cont.patch
2460 patch_apply d3d11-Deferred_Context/0026-d3d11-Implement-CopyStructureCount-for-deferred-cont.patch
2461 patch_apply d3d11-Deferred_Context/0027-d3d11-Implement-DrawAuto-for-deferred-contexts.patch
2462 patch_apply d3d11-Deferred_Context/0028-d3d11-Implement-DrawInstanced-for-deferred-contexts.patch
2463 patch_apply d3d11-Deferred_Context/0029-d3d11-Implement-DrawInstancedIndirect-for-deferred-c.patch
2464 patch_apply d3d11-Deferred_Context/0030-d3d11-Implement-DrawIndexedInstancedIndirect-for-def.patch
2465 patch_apply d3d11-Deferred_Context/0031-d3d11-Implement-ClearUnorderedAccessViewUint-for-def.patch
2466 patch_apply d3d11-Deferred_Context/0032-d3d11-Implement-ClearUnorderedAccessViewFloat-for-de.patch
2467 patch_apply d3d11-Deferred_Context/0033-d3d11-Implement-RsSetScissorRects-for-deferred-conte.patch
2468 patch_apply d3d11-Deferred_Context/0034-d3d11-Implement-OMSetRenderTargetsAndUnorderedAccess.patch
2469 patch_apply d3d11-Deferred_Context/0035-d3d11-Implement-SOSetTargets-for-deferred-contexts.patch
2470 patch_apply d3d11-Deferred_Context/0036-d3d11-Implement-GenerateMips-for-deferred-contexts.patch
2471 patch_apply d3d11-Deferred_Context/0037-d3d11-Implement-DispatchIndirect-for-deferred-contex.patch
2472 patch_apply d3d11-Deferred_Context/0038-d3d11-Implement-SetPredication-for-deferred-contexts.patch
2473 patch_apply d3d11-Deferred_Context/0039-d3d11-Implement-d3d11_deferred_context_UpdateSubreso.patch
2474 patch_apply d3d11-Deferred_Context/0040-d3d11-Implement-restoring-of-state-after-executing-a.patch
2475 patch_apply d3d11-Deferred_Context/0041-d3d11-Allow-NULL-pointer-for-initial-count-in-d3d11_.patch
2476 patch_apply d3d11-Deferred_Context/0042-d3d11-Correctly-align-map-info-buffer.patch
2477 patch_apply d3d11-Deferred_Context/0043-d3d11-tests-Add-a-basic-test-for-drawing-with-deferr.patch
2478 (
2479 printf '%s\n' '+ { "Kimmo Myllyvirta", "d3d11: Add stub deferred rendering context.", 1 },';
2480 printf '%s\n' '+ { "Michael Müller", "wined3d: Add wined3d_resource_map_info function.", 1 },';
2481 printf '%s\n' '+ { "Michael Müller", "d3d11: Initial implementation for deferred contexts.", 1 },';
2482 printf '%s\n' '+ { "Michael Müller", "d3d11: Implement CSSetShader for deferred contexts.", 1 },';
2483 printf '%s\n' '+ { "Michael Müller", "d3d11: Implement CSSetConstantBuffers for deferred contexts.", 1 },';
2484 printf '%s\n' '+ { "Michael Müller", "d3d11: Implement Dispatch for deferred contexts.", 1 },';
2485 printf '%s\n' '+ { "Michael Müller", "d3d11: Implement CSSetUnorderedAccessViews for deferred contexts.", 1 },';
2486 printf '%s\n' '+ { "Michael Müller", "d3d11: Implement ClearRenderTargetView for deferred contexts.", 1 },';
2487 printf '%s\n' '+ { "Michael Müller", "d3d11: Implement Draw for deferred contexts.", 1 },';
2488 printf '%s\n' '+ { "Michael Müller", "d3d11: Implement ClearDepthStencilView for deferred contexts.", 1 },';
2489 printf '%s\n' '+ { "Kimmo Myllyvirta", "d3d11: Implement GSSetShader for deferred contexts.", 1 },';
2490 printf '%s\n' '+ { "Kimmo Myllyvirta", "d3d11: Implement GSSetConstantBuffers for deferred contexts.", 1 },';
2491 printf '%s\n' '+ { "Kimmo Myllyvirta", "d3d11: Implement CSSetShaderResources for deferred contexts.", 1 },';
2492 printf '%s\n' '+ { "Kimmo Myllyvirta", "d3d11: Implement GSSetShaderResources for deferred contexts.", 1 },';
2493 printf '%s\n' '+ { "Kimmo Myllyvirta", "d3d11: Implement HSSetShaderResources for deferred contexts.", 1 },';
2494 printf '%s\n' '+ { "Kimmo Myllyvirta", "d3d11: Implement VSSetShaderResources for deferred contexts.", 1 },';
2495 printf '%s\n' '+ { "Kimmo Myllyvirta", "d3d11: Implement CSSetSamplers for deferred contexts.", 1 },';
2496 printf '%s\n' '+ { "Kimmo Myllyvirta", "d3d11: Implement GSSetSamplers for deferred contexts.", 1 },';
2497 printf '%s\n' '+ { "Kimmo Myllyvirta", "d3d11: Implement HSSetSamplers for deferred contexts.", 1 },';
2498 printf '%s\n' '+ { "Kimmo Myllyvirta", "d3d11: Implement VSSetSamplers for deferred contexts.", 1 },';
2499 printf '%s\n' '+ { "Kimmo Myllyvirta", "d3d11: Implement Begin and End for deferred contexts.", 1 },';
2500 printf '%s\n' '+ { "Johannes Specht", "d3d11: Implement CopyResource for deferred contexts.", 1 },';
2501 printf '%s\n' '+ { "Johannes Specht", "d3d11: Implement SetResourceMinLOD for deferred contexts.", 1 },';
2502 printf '%s\n' '+ { "Johannes Specht", "d3d11: Implement CopySubresourceRegion for deferred contexts.", 1 },';
2503 printf '%s\n' '+ { "Johannes Specht", "d3d11: Implement ResolveSubresource for deferred contexts.", 1 },';
2504 printf '%s\n' '+ { "Johannes Specht", "d3d11: Implement CopyStructureCount for deferred contexts.", 1 },';
2505 printf '%s\n' '+ { "Johannes Specht", "d3d11: Implement DrawAuto for deferred contexts.", 1 },';
2506 printf '%s\n' '+ { "Johannes Specht", "d3d11: Implement DrawInstanced for deferred contexts.", 1 },';
2507 printf '%s\n' '+ { "Johannes Specht", "d3d11: Implement DrawInstancedIndirect for deferred contexts.", 1 },';
2508 printf '%s\n' '+ { "Johannes Specht", "d3d11: Implement DrawIndexedInstancedIndirect for deferred contexts.", 1 },';
2509 printf '%s\n' '+ { "Johannes Specht", "d3d11: Implement ClearUnorderedAccessViewUint for deferred contexts.", 1 },';
2510 printf '%s\n' '+ { "Johannes Specht", "d3d11: Implement ClearUnorderedAccessViewFloat for deferred contexts.", 1 },';
2511 printf '%s\n' '+ { "Johannes Specht", "d3d11: Implement RsSetScissorRects for deferred contexts.", 1 },';
2512 printf '%s\n' '+ { "Johannes Specht", "d3d11: Implement OMSetRenderTargetsAndUnorderedAccessViews for deferred contexts.", 1 },';
2513 printf '%s\n' '+ { "Johannes Specht", "d3d11: Implement SOSetTargets for deferred contexts.", 1 },';
2514 printf '%s\n' '+ { "Johannes Specht", "d3d11: Implement GenerateMips for deferred contexts.", 1 },';
2515 printf '%s\n' '+ { "Johannes Specht", "d3d11: Implement DispatchIndirect for deferred contexts.", 1 },';
2516 printf '%s\n' '+ { "Johannes Specht", "d3d11: Implement SetPredication for deferred contexts.", 1 },';
2517 printf '%s\n' '+ { "Michael Müller", "d3d11: Implement d3d11_deferred_context_UpdateSubresource.", 1 },';
2518 printf '%s\n' '+ { "Michael Müller", "d3d11: Implement restoring of state after executing a command list.", 1 },';
2519 printf '%s\n' '+ { "Steve Melenchuk", "d3d11: Allow NULL pointer for initial count in d3d11_deferred_context_CSSetUnorderedAccessViews.", 1 },';
2520 printf '%s\n' '+ { "Kimmo Myllyvirta", "d3d11: Correctly align map info buffer.", 1 },';
2521 printf '%s\n' '+ { "Paul Gofman", "d3d11/tests: Add a basic test for drawing with deferred context.", 1 },';
2522 ) >> "$patchlist"
2523fi
2524
2525# Patchset d3dx9-32bpp_Alpha_Channel
2526# |
2527# | This patchset fixes the following Wine bugs:
2528# | * [#48563] Runaway: A Twist of Fate renders its cursor incorrectly
2529# |
2530# | Modified files:
2531# | * dlls/d3dx9_36/surface.c, dlls/d3dx9_36/tests/surface.c
2532# |
2533if test "$enable_d3dx9_32bpp_Alpha_Channel" -eq 1; then
2534 patch_apply d3dx9-32bpp_Alpha_Channel/0001-d3dx9-Return-D3DFMT_A8R8G8B8-in-D3DXGetImageInfoFrom.patch
2535 (
2536 printf '%s\n' '+ { "Christian Costa", "d3dx9: Return D3DFMT_A8R8G8B8 in D3DXGetImageInfoFromFileInMemory for 32 bpp BMP with alpha.", 1 },';
2537 ) >> "$patchlist"
2538fi
2539
2540# Patchset d3dx9_36-BumpLuminance
2541# |
2542# | Modified files:
2543# | * dlls/d3dx9_36/util.c
2544# |
2545if test "$enable_d3dx9_36_BumpLuminance" -eq 1; then
2546 patch_apply d3dx9_36-BumpLuminance/0002-d3dx9_36-Add-format-description-for-X8L8V8U8-for-for.patch
2547 (
2548 printf '%s\n' '+ { "Christian Costa", "d3dx9_36: Add format description for X8L8V8U8 for format conversions.", 1 },';
2549 ) >> "$patchlist"
2550fi
2551
2552# Patchset d3dx9_36-CloneEffect
2553# |
2554# | This patchset fixes the following Wine bugs:
2555# | * [#44635] Improve stub for ID3DXEffectImpl_CloneEffect
2556# |
2557# | Modified files:
2558# | * dlls/d3dx9_36/effect.c, dlls/d3dx9_36/tests/effect.c
2559# |
2560if test "$enable_d3dx9_36_CloneEffect" -eq 1; then
2561 patch_apply d3dx9_36-CloneEffect/0001-d3dx9_36-Improve-stub-for-ID3DXEffectImpl_CloneEffec.patch
2562 (
2563 printf '%s\n' '+ { "Sebastian Lackner", "d3dx9_36: Improve stub for ID3DXEffectImpl_CloneEffect.", 1 },';
2564 ) >> "$patchlist"
2565fi
2566
2567# Patchset d3dx9_36-D3DXDisassembleShader
2568# |
2569# | This patchset fixes the following Wine bugs:
2570# | * [#46649] Multiple applications need D3DXDisassembleShader() implementation (Tom Clancy's Rainbow Six: Vegas 2, The Void)
2571# |
2572# | Modified files:
2573# | * dlls/d3dx9_36/shader.c, dlls/d3dx9_36/tests/shader.c
2574# |
2575if test "$enable_d3dx9_36_D3DXDisassembleShader" -eq 1; then
2576 patch_apply d3dx9_36-D3DXDisassembleShader/0004-d3dx9_36-Implement-D3DXDisassembleShader.patch
2577 patch_apply d3dx9_36-D3DXDisassembleShader/0005-d3dx9_36-tests-Add-initial-tests-for-D3DXDisassemble.patch
2578 patch_apply d3dx9_36-D3DXDisassembleShader/0006-d3dx9_36-tests-Add-additional-tests-for-special-case.patch
2579 (
2580 printf '%s\n' '+ { "Christian Costa", "d3dx9_36: Implement D3DXDisassembleShader.", 2 },';
2581 printf '%s\n' '+ { "Sebastian Lackner", "d3dx9_36/tests: Add initial tests for D3DXDisassembleShader.", 1 },';
2582 printf '%s\n' '+ { "Christian Costa", "d3dx9_36/tests: Add additional tests for special cases.", 1 },';
2583 ) >> "$patchlist"
2584fi
2585
2586# Patchset d3dx9_36-D3DXOptimizeVertices
2587# |
2588# | This patchset fixes the following Wine bugs:
2589# | * [#47776] Timeshift needs D3DXOptimizeVertices()
2590# |
2591# | Modified files:
2592# | * dlls/d3dx9_24/d3dx9_24.spec, dlls/d3dx9_25/d3dx9_25.spec, dlls/d3dx9_26/d3dx9_26.spec, dlls/d3dx9_27/d3dx9_27.spec,
2593# | dlls/d3dx9_28/d3dx9_28.spec, dlls/d3dx9_29/d3dx9_29.spec, dlls/d3dx9_30/d3dx9_30.spec, dlls/d3dx9_31/d3dx9_31.spec,
2594# | dlls/d3dx9_32/d3dx9_32.spec, dlls/d3dx9_33/d3dx9_33.spec, dlls/d3dx9_34/d3dx9_34.spec, dlls/d3dx9_35/d3dx9_35.spec,
2595# | dlls/d3dx9_36/d3dx9_36.spec, dlls/d3dx9_36/mesh.c, dlls/d3dx9_36/tests/mesh.c, dlls/d3dx9_37/d3dx9_37.spec,
2596# | dlls/d3dx9_38/d3dx9_38.spec, dlls/d3dx9_39/d3dx9_39.spec, dlls/d3dx9_40/d3dx9_40.spec, dlls/d3dx9_41/d3dx9_41.spec,
2597# | dlls/d3dx9_42/d3dx9_42.spec, dlls/d3dx9_43/d3dx9_43.spec
2598# |
2599if test "$enable_d3dx9_36_D3DXOptimizeVertices" -eq 1; then
2600 patch_apply d3dx9_36-D3DXOptimizeVertices/0001-d3dx9_36-tests-Remove-useless-n-within-some-ok-messa.patch
2601 patch_apply d3dx9_36-D3DXOptimizeVertices/0002-d3dx9_36-Add-semi-stub-for-D3DXOptimizeVertices.patch
2602 (
2603 printf '%s\n' '+ { "Christian Costa", "d3dx9_36/tests: Remove useless \\n within some ok messages.", 1 },';
2604 printf '%s\n' '+ { "Christian Costa", "d3dx9_36: Add semi-stub for D3DXOptimizeVertices.", 1 },';
2605 ) >> "$patchlist"
2606fi
2607
2608# Patchset d3dx9_36-D3DXSHProjectCubeMap
2609# |
2610# | This patchset fixes the following Wine bugs:
2611# | * [#46284] Add D3DXSHProjectCubeMap stub
2612# |
2613# | Modified files:
2614# | * dlls/d3dx9_24/d3dx9_24.spec, dlls/d3dx9_25/d3dx9_25.spec, dlls/d3dx9_26/d3dx9_26.spec, dlls/d3dx9_27/d3dx9_27.spec,
2615# | dlls/d3dx9_28/d3dx9_28.spec, dlls/d3dx9_29/d3dx9_29.spec, dlls/d3dx9_30/d3dx9_30.spec, dlls/d3dx9_31/d3dx9_31.spec,
2616# | dlls/d3dx9_32/d3dx9_32.spec, dlls/d3dx9_33/d3dx9_33.spec, dlls/d3dx9_34/d3dx9_34.spec, dlls/d3dx9_35/d3dx9_35.spec,
2617# | dlls/d3dx9_36/math.c, dlls/d3dx9_37/d3dx9_37.spec, dlls/d3dx9_38/d3dx9_38.spec, dlls/d3dx9_39/d3dx9_39.spec,
2618# | dlls/d3dx9_40/d3dx9_40.spec, dlls/d3dx9_41/d3dx9_41.spec, dlls/d3dx9_42/d3dx9_42.spec, dlls/d3dx9_43/d3dx9_43.spec,
2619# | include/d3dx9math.h
2620# |
2621if test "$enable_d3dx9_36_D3DXSHProjectCubeMap" -eq 1; then
2622 patch_apply d3dx9_36-D3DXSHProjectCubeMap/0001-d3dx9_-Add-D3DXSHProjectCubeMap-stub.patch
2623 (
2624 printf '%s\n' '+ { "Andrey Gusev", "d3dx9_*: Add D3DXSHProjectCubeMap stub.", 1 },';
2625 ) >> "$patchlist"
2626fi
2627
2628# Patchset d3dx9_36-D3DXStubs
2629# |
2630# | This patchset fixes the following Wine bugs:
2631# | * [#41697] Add stub for D3DXComputeTangent
2632# |
2633# | Modified files:
2634# | * dlls/d3dx9_24/d3dx9_24.spec, dlls/d3dx9_25/d3dx9_25.spec, dlls/d3dx9_26/d3dx9_26.spec, dlls/d3dx9_27/d3dx9_27.spec,
2635# | dlls/d3dx9_28/d3dx9_28.spec, dlls/d3dx9_29/d3dx9_29.spec, dlls/d3dx9_30/d3dx9_30.spec, dlls/d3dx9_31/d3dx9_31.spec,
2636# | dlls/d3dx9_32/d3dx9_32.spec, dlls/d3dx9_33/d3dx9_33.spec, dlls/d3dx9_34/d3dx9_34.spec, dlls/d3dx9_35/d3dx9_35.spec,
2637# | dlls/d3dx9_36/d3dx9_36.spec, dlls/d3dx9_36/mesh.c, dlls/d3dx9_37/d3dx9_37.spec, dlls/d3dx9_38/d3dx9_38.spec,
2638# | dlls/d3dx9_39/d3dx9_39.spec, dlls/d3dx9_40/d3dx9_40.spec, dlls/d3dx9_41/d3dx9_41.spec, dlls/d3dx9_42/d3dx9_42.spec,
2639# | dlls/d3dx9_43/d3dx9_43.spec
2640# |
2641if test "$enable_d3dx9_36_D3DXStubs" -eq 1; then
2642 patch_apply d3dx9_36-D3DXStubs/0003-d3dx9-Implement-D3DXComputeTangent.patch
2643 (
2644 printf '%s\n' '+ { "Alistair Leslie-Hughes", "d3dx9: Implement D3DXComputeTangent.", 1 },';
2645 ) >> "$patchlist"
2646fi
2647
2648# Patchset d3dx9_36-DDS
2649# |
2650# | This patchset fixes the following Wine bugs:
2651# | * [#26898] Support for DDS file format in D3DXSaveTextureToFileInMemory
2652# |
2653# | Modified files:
2654# | * dlls/d3dx9_36/d3dx9_private.h, dlls/d3dx9_36/surface.c, dlls/d3dx9_36/texture.c
2655# |
2656if test "$enable_d3dx9_36_DDS" -eq 1; then
2657 patch_apply d3dx9_36-DDS/0001-d3dx9_36-Add-support-for-FOURCC-surface-to-save_dds_.patch
2658 patch_apply d3dx9_36-DDS/0002-d3dx9_36-Improve-D3DXSaveTextureToFile-to-save-simpl.patch
2659 (
2660 printf '%s\n' '+ { "Christian Costa", "d3dx9_36: Add support for FOURCC surface to save_dds_surface_to_memory.", 1 },';
2661 printf '%s\n' '+ { "Christian Costa", "d3dx9_36: Improve D3DXSaveTextureToFile to save simple texture to dds file.", 1 },';
2662 ) >> "$patchlist"
2663fi
2664
2665# Patchset d3dx9_36-Filter_Warnings
2666# |
2667# | This patchset fixes the following Wine bugs:
2668# | * [#33770] D3DCompileShader should filter specific warning messages
2669# |
2670# | Modified files:
2671# | * dlls/d3dx9_36/shader.c
2672# |
2673if test "$enable_d3dx9_36_Filter_Warnings" -eq 1; then
2674 patch_apply d3dx9_36-Filter_Warnings/0001-d3dx9_36-Filter-out-D3DCompile-warning-messages-that.patch
2675 (
2676 printf '%s\n' '+ { "Christian Costa", "d3dx9_36: Filter out D3DCompile warning messages that are not present with D3DCompileShader.", 4 },';
2677 ) >> "$patchlist"
2678fi
2679
2680# Patchset d3dx9_36-Optimize_Inplace
2681# |
2682# | This patchset fixes the following Wine bugs:
2683# | * [#48529] Avencast fails to launch
2684# |
2685# | Modified files:
2686# | * dlls/d3dx9_36/mesh.c
2687# |
2688if test "$enable_d3dx9_36_Optimize_Inplace" -eq 1; then
2689 patch_apply d3dx9_36-Optimize_Inplace/0001-d3dx9_36-No-need-to-fail-if-we-don-t-support-vertice.patch
2690 (
2691 printf '%s\n' '+ { "Christian Costa", "d3dx9_36: No need to fail if we don'\''t support vertices reordering in D3DXMESHOPT_ATTRSORT.", 1 },';
2692 ) >> "$patchlist"
2693fi
2694
2695# Patchset d3dx9_36-UpdateSkinnedMesh
2696# |
2697# | This patchset fixes the following Wine bugs:
2698# | * [#32572] Support for ID3DXSkinInfoImpl_UpdateSkinnedMesh
2699# |
2700# | Modified files:
2701# | * dlls/d3dx9_36/skin.c, dlls/d3dx9_36/tests/mesh.c
2702# |
2703if test "$enable_d3dx9_36_UpdateSkinnedMesh" -eq 1; then
2704 patch_apply d3dx9_36-UpdateSkinnedMesh/0001-d3dx9_36-Implement-ID3DXSkinInfoImpl_UpdateSkinnedMe.patch
2705 (
2706 printf '%s\n' '+ { "Christian Costa", "d3dx9_36: Implement ID3DXSkinInfoImpl_UpdateSkinnedMesh.", 1 },';
2707 ) >> "$patchlist"
2708fi
2709
2710# Patchset dbghelp-Debug_Symbols
2711# |
2712# | Modified files:
2713# | * dlls/dbghelp/Makefile.in, dlls/dbghelp/elf_module.c
2714# |
2715if test "$enable_dbghelp_Debug_Symbols" -eq 1; then
2716 patch_apply dbghelp-Debug_Symbols/0001-dbghelp-Always-check-for-debug-symbols-in-BINDIR.patch
2717 (
2718 printf '%s\n' '+ { "Sebastian Lackner", "dbghelp: Always check for debug symbols in BINDIR.", 1 },';
2719 ) >> "$patchlist"
2720fi
2721
2722# Patchset ddraw-Device_Caps
2723# |
2724# | This patchset fixes the following Wine bugs:
2725# | * [#27002] Properly initialize caps->dwZBufferBitDepths in ddraw7_GetCaps
2726# |
2727# | Modified files:
2728# | * dlls/ddraw/ddraw.c, dlls/ddraw/tests/ddraw7.c
2729# |
2730if test "$enable_ddraw_Device_Caps" -eq 1; then
2731 patch_apply ddraw-Device_Caps/0001-ddraw-Don-t-set-HWTRANSFORMANDLIGHT-flag-on-d3d7-RGB.patch
2732 patch_apply ddraw-Device_Caps/0002-ddraw-Set-dwZBufferBitDepth-in-ddraw7_GetCaps.patch
2733 (
2734 printf '%s\n' '+ { "Michael Müller", "ddraw: Don'\''t set HWTRANSFORMANDLIGHT flag on d3d7 RGB device.", 1 },';
2735 printf '%s\n' '+ { "Michael Müller", "ddraw: Set dwZBufferBitDepth in ddraw7_GetCaps.", 1 },';
2736 ) >> "$patchlist"
2737fi
2738
2739# Patchset ddraw-EnumSurfaces
2740# |
2741# | This patchset fixes the following Wine bugs:
2742# | * [#17233] Implement DDENUMSURFACES_CANBECREATED in IDirectDraw7::EnumSurfaces
2743# |
2744# | Modified files:
2745# | * dlls/ddraw/ddraw.c, dlls/ddraw/tests/d3d.c
2746# |
2747if test "$enable_ddraw_EnumSurfaces" -eq 1; then
2748 patch_apply ddraw-EnumSurfaces/0001-ddraw-tests-Add-more-tests-for-IDirectDraw7-EnumSurf.patch
2749 patch_apply ddraw-EnumSurfaces/0003-ddraw-Implement-DDENUMSURFACES_CANBECREATED-flag-in-.patch
2750 (
2751 printf '%s\n' '+ { "Michael Müller", "ddraw/tests: Add more tests for IDirectDraw7::EnumSurfaces.", 1 },';
2752 printf '%s\n' '+ { "Michael Müller", "ddraw: Implement DDENUMSURFACES_CANBECREATED flag in ddraw7_EnumSurfaces.", 1 },';
2753 ) >> "$patchlist"
2754fi
2755
2756# Patchset ddraw-IDirect3DTexture2_Load
2757# |
2758# | This patchset fixes the following Wine bugs:
2759# | * [#48537] Prezzie Hunt fails to launch
2760# |
2761# | Modified files:
2762# | * dlls/ddraw/surface.c, dlls/ddraw/tests/d3d.c, dlls/ddraw/tests/ddraw2.c
2763# |
2764if test "$enable_ddraw_IDirect3DTexture2_Load" -eq 1; then
2765 patch_apply ddraw-IDirect3DTexture2_Load/0001-ddraw-Allow-size-and-format-conversions-in-IDirect3D.patch
2766 patch_apply ddraw-IDirect3DTexture2_Load/0002-ddraw-tests-Add-more-tests-for-IDirect3DTexture2-Loa.patch
2767 (
2768 printf '%s\n' '+ { "Michael Müller", "ddraw: Allow size and format conversions in IDirect3DTexture2::Load.", 1 },';
2769 printf '%s\n' '+ { "Michael Müller", "ddraw/tests: Add more tests for IDirect3DTexture2::Load.", 1 },';
2770 ) >> "$patchlist"
2771fi
2772
2773# Patchset ddraw-Rendering_Targets
2774# |
2775# | This patchset fixes the following Wine bugs:
2776# | * [#34906] Use video memory for rendering targets if possible
2777# |
2778# | Modified files:
2779# | * dlls/ddraw/ddraw.c, dlls/ddraw/ddraw_private.h, dlls/ddraw/device.c, dlls/ddraw/surface.c
2780# |
2781if test "$enable_ddraw_Rendering_Targets" -eq 1; then
2782 patch_apply ddraw-Rendering_Targets/0001-ddraw-Create-rendering-targets-in-video-memory-if-po.patch
2783 (
2784 printf '%s\n' '+ { "Michael Müller", "ddraw: Create rendering targets in video memory if possible.", 1 },';
2785 ) >> "$patchlist"
2786fi
2787
2788# Patchset ddraw-Silence_FIXMEs
2789# |
2790# | Modified files:
2791# | * dlls/ddraw/executebuffer.c
2792# |
2793if test "$enable_ddraw_Silence_FIXMEs" -eq 1; then
2794 patch_apply ddraw-Silence_FIXMEs/0001-ddraw-Silence-noisy-FIXME-about-unimplemented-D3DPRO.patch
2795 (
2796 printf '%s\n' '+ { "Christian Costa", "ddraw: Silence noisy FIXME about unimplemented D3DPROCESSVERTICES_UPDATEEXTENTS.", 1 },';
2797 ) >> "$patchlist"
2798fi
2799
2800# Patchset ddraw-Texture_Wrong_Caps
2801# |
2802# | This patchset has the following (direct or indirect) dependencies:
2803# | * ddraw-Rendering_Targets
2804# |
2805# | This patchset fixes the following Wine bugs:
2806# | * [#46948] Allow setting texture without DDSCAPS_TEXTURE for software device
2807# |
2808# | Modified files:
2809# | * dlls/ddraw/device.c, dlls/ddraw/tests/ddraw4.c
2810# |
2811if test "$enable_ddraw_Texture_Wrong_Caps" -eq 1; then
2812 patch_apply ddraw-Texture_Wrong_Caps/0001-ddraw-Allow-setting-texture-without-DDSCAPS_TEXTURE-.patch
2813 (
2814 printf '%s\n' '+ { "Paul Gofman", "ddraw: Allow setting texture without DDSCAPS_TEXTURE for software device.", 1 },';
2815 ) >> "$patchlist"
2816fi
2817
2818# Patchset ddraw-Write_Vtable
2819# |
2820# | This patchset fixes the following Wine bugs:
2821# | * [#39534] Make ddraw1 and ddraw_surface1 vtable as writable.
2822# | * [#46949] Make ddraw[2-7] and palette vtable as writable.
2823# |
2824# | Modified files:
2825# | * dlls/ddraw/ddraw.c, dlls/ddraw/palette.c, dlls/ddraw/surface.c
2826# |
2827if test "$enable_ddraw_Write_Vtable" -eq 1; then
2828 patch_apply ddraw-Write_Vtable/0001-ddraw-Remove-const-from-ddraw1_vtbl-and-ddraw_surfac.patch
2829 patch_apply ddraw-Write_Vtable/0002-ddraw-Allow-writing-to-vtable-for-surface-and-palett.patch
2830 (
2831 printf '%s\n' '+ { "Michael Müller", "ddraw: Remove const from ddraw1_vtbl and ddraw_surface1_vtbl.", 1 },';
2832 printf '%s\n' '+ { "Alistair Leslie-Hughes", "ddraw: Allow writing to vtable for surface and palette.", 1 },';
2833 ) >> "$patchlist"
2834fi
2835
2836# Patchset ddraw-version-check
2837# |
2838# | This patchset has the following (direct or indirect) dependencies:
2839# | * ddraw-Device_Caps
2840# |
2841# | This patchset fixes the following Wine bugs:
2842# | * [#19153] Resident Evil 1 fails to start (needs IDirect3D3::EnumDevices() to return a device named "RGB Emulation")
2843# |
2844# | Modified files:
2845# | * dlls/ddraw/ddraw.c
2846# |
2847if test "$enable_ddraw_version_check" -eq 1; then
2848 patch_apply ddraw-version-check/0001-ddraw-Return-correct-devices-based-off-requested-Dir.patch
2849 (
2850 printf '%s\n' '+ { "Andrew D'\''Addesio", "ddraw: Return correct devices based off requested DirectX version.", 1 },';
2851 ) >> "$patchlist"
2852fi
2853
2854# Patchset dinput-joy-mappings
2855# |
2856# | This patchset fixes the following Wine bugs:
2857# | * [#34108] dinput: Improve support for user Joystick configuration.
2858# |
2859# | Modified files:
2860# | * dlls/dinput/config.c, dlls/dinput/device.c, dlls/dinput/device_private.h, dlls/dinput/dinput_main.c,
2861# | dlls/dinput/joystick.c, dlls/dinput/keyboard.c, dlls/dinput/mouse.c, dlls/dinput8/tests/device.c
2862# |
2863if test "$enable_dinput_joy_mappings" -eq 1; then
2864 patch_apply dinput-joy-mappings/0001-dinput-Load-users-Joystick-mappings.patch
2865 patch_apply dinput-joy-mappings/0002-dinput-Allow-empty-Joystick-mappings.patch
2866 patch_apply dinput-joy-mappings/0003-dinput-Support-username-in-Config-dialog.patch
2867 patch_apply dinput-joy-mappings/0004-dinput-Dont-allow-Fixed-actions-to-be-changed.patch
2868 (
2869 printf '%s\n' '+ { "Jetro Jormalainen", "dinput: Load users Joystick mappings.", 1 },';
2870 printf '%s\n' '+ { "Jetro Jormalainen", "dinput: Allow empty Joystick mappings.", 1 },';
2871 printf '%s\n' '+ { "Jetro Jormalainen", "dinput: Support username in Config dialog.", 1 },';
2872 printf '%s\n' '+ { "Alistair Leslie-Hughes", "dinput: Dont allow Fixed actions to be changed.", 1 },';
2873 ) >> "$patchlist"
2874fi
2875
2876# Patchset dinput-SetActionMap-genre
2877# |
2878# | This patchset has the following (direct or indirect) dependencies:
2879# | * dinput-joy-mappings
2880# |
2881# | This patchset fixes the following Wine bugs:
2882# | * [#47326] dinput: Allow mapping of controls based of genre type.
2883# |
2884# | Modified files:
2885# | * dlls/dinput/device.c, dlls/dinput/dinput_main.c
2886# |
2887if test "$enable_dinput_SetActionMap_genre" -eq 1; then
2888 patch_apply dinput-SetActionMap-genre/0001-dinput-Allow-mapping-of-controls-based-of-Genre-type.patch
2889 patch_apply dinput-SetActionMap-genre/0002-dinput-Improved-tracing-of-Semantic-value.patch
2890 (
2891 printf '%s\n' '+ { "Alistair Leslie-Hughes", "dinput: Allow mapping of controls based of Genre type.", 1 },';
2892 printf '%s\n' '+ { "Alistair Leslie-Hughes", "dinput: Improved tracing of Semantic value.", 1 },';
2893 ) >> "$patchlist"
2894fi
2895
2896# Patchset dinput-axis-recalc
2897# |
2898# | This patchset fixes the following Wine bugs:
2899# | * [#41317] dinput: Recalculated Axis after deadzone change.
2900# |
2901# | Modified files:
2902# | * dlls/dinput/joystick.c
2903# |
2904if test "$enable_dinput_axis_recalc" -eq 1; then
2905 patch_apply dinput-axis-recalc/0001-dinput-Recalculated-Axis-after-deadzone-change.patch
2906 (
2907 printf '%s\n' '+ { "Bruno Jesus", "dinput: Recalculated Axis after deadzone change.", 1 },';
2908 ) >> "$patchlist"
2909fi
2910
2911# Patchset dinput-reconnect-joystick
2912# |
2913# | This patchset fixes the following Wine bugs:
2914# | * [#34297] dinput: Allow reconnecting to disconnected joysticks
2915# |
2916# | Modified files:
2917# | * dlls/dinput/joystick_linuxinput.c
2918# |
2919if test "$enable_dinput_reconnect_joystick" -eq 1; then
2920 patch_apply dinput-reconnect-joystick/0001-dinput-Allow-reconnecting-to-disconnected-joysticks.patch
2921 (
2922 printf '%s\n' '+ { "Andrew Church", "dinput: Allow reconnecting to disconnected joysticks.", 1 },';
2923 ) >> "$patchlist"
2924fi
2925
2926# Patchset dinput-remap-joystick
2927# |
2928# | This patchset fixes the following Wine bugs:
2929# | * [#35815] dinput: Allow remapping of joystick buttons.
2930# |
2931# | Modified files:
2932# | * dlls/dinput/joystick.c, dlls/dinput/joystick_linux.c, dlls/dinput/joystick_linuxinput.c, dlls/dinput/joystick_osx.c,
2933# | dlls/dinput/joystick_private.h
2934# |
2935if test "$enable_dinput_remap_joystick" -eq 1; then
2936 patch_apply dinput-remap-joystick/0001-dinput-Allow-remapping-of-joystick-buttons.patch
2937 (
2938 printf '%s\n' '+ { "Andrew Church", "dinput: Allow remapping of joystick buttons.", 1 },';
2939 ) >> "$patchlist"
2940fi
2941
2942# Patchset directmanipulation-new-dll
2943# |
2944# | This patchset fixes the following Wine bugs:
2945# | * [#44865] directmanipulation: New DLL.
2946# |
2947# | Modified files:
2948# | * configure, configure.ac, dlls/directmanipulation/Makefile.in, dlls/directmanipulation/directmanip.idl,
2949# | dlls/directmanipulation/directmanipulation.c, dlls/directmanipulation/directmanipulation.spec,
2950# | dlls/directmanipulation/tests/Makefile.in, dlls/directmanipulation/tests/manipulation.c, dlls/uuid/uuid.c
2951# |
2952if test "$enable_directmanipulation_new_dll" -eq 1; then
2953 patch_apply directmanipulation-new-dll/0002-directmanipulation-New-dll.patch
2954 patch_apply directmanipulation-new-dll/0003-uuid-Add-directmanipulation.h.patch
2955 patch_apply directmanipulation-new-dll/0004-directmanipulation-Create-DirectManipulationManager-.patch
2956 patch_apply directmanipulation-new-dll/0006-directmanipulation-Support-DCompManipulationComposit.patch
2957 patch_apply directmanipulation-new-dll/0007-directmanipulation-Supprot-IDirectManipulationFrameI.patch
2958 patch_apply directmanipulation-new-dll/0008-directmanipulation-Implement-IDirectManipulationMana.patch
2959 patch_apply directmanipulation-new-dll/0009-directmanipulation-Implement-IDirectManipulationComp.patch
2960 patch_apply directmanipulation-new-dll/0011-directmanipulation-Implement-IDirectManipulationMana.patch
2961 patch_apply directmanipulation-new-dll/0012-directmanipulation-tests-Initial-tests.patch
2962 patch_apply directmanipulation-new-dll/0013-directmanipulation-Fake-success-from-IDirectManipula.patch
2963 patch_apply directmanipulation-new-dll/0015-directmanipulation-Implement-IDirectManipulationView.patch
2964 patch_apply directmanipulation-new-dll/0016-directmanipulation-Support-IDirectManipulationConten.patch
2965 patch_apply directmanipulation-new-dll/0017-directmanipulation-Fake-success-in-some-functions.patch
2966 (
2967 printf '%s\n' '+ { "Alistair Leslie-Hughes", "directmanipulation: New dll.", 1 },';
2968 printf '%s\n' '+ { "Alistair Leslie-Hughes", "uuid: Add directmanipulation.h.", 1 },';
2969 printf '%s\n' '+ { "Alistair Leslie-Hughes", "directmanipulation: Create DirectManipulationManager/DirectManipulationSharedManager objects.", 1 },';
2970 printf '%s\n' '+ { "Alistair Leslie-Hughes", "directmanipulation: Support DCompManipulationCompositor interface.", 1 },';
2971 printf '%s\n' '+ { "Alistair Leslie-Hughes", "directmanipulation: Supprot IDirectManipulationFrameInfoProvider interface in IDirectManipulationCompositor.", 1 },';
2972 printf '%s\n' '+ { "Alistair Leslie-Hughes", "directmanipulation: Implement IDirectManipulationManager2 GetUpdateManager.", 1 },';
2973 printf '%s\n' '+ { "Alistair Leslie-Hughes", "directmanipulation: Implement IDirectManipulationCompositor SetUpdateManager.", 1 },';
2974 printf '%s\n' '+ { "Alistair Leslie-Hughes", "directmanipulation: Implement IDirectManipulationManager2 CreateViewport.", 1 },';
2975 printf '%s\n' '+ { "Alistair Leslie-Hughes", "directmanipulation/tests: Initial tests.", 1 },';
2976 printf '%s\n' '+ { "Alistair Leslie-Hughes", "directmanipulation: Fake success from IDirectManipulationViewport2 ActivateConfiguration.", 1 },';
2977 printf '%s\n' '+ { "Alistair Leslie-Hughes", "directmanipulation: Implement IDirectManipulationViewport2 GetPrimaryContent.", 1 },';
2978 printf '%s\n' '+ { "Alistair Leslie-Hughes", "directmanipulation: Support IDirectManipulationContent in IDirectManipulationPrimaryContent interface.", 1 },';
2979 printf '%s\n' '+ { "Alistair Leslie-Hughes", "directmanipulation: Fake success in some functions.", 1 },';
2980 ) >> "$patchlist"
2981fi
2982
2983# Patchset dsdmo-new-dll
2984# |
2985# | This patchset fixes the following Wine bugs:
2986# | * [#35478] - Multiple applications and games need dsdmo.dll (DirectSound Effects)
2987# | * [#10603] - IDirectSoundBufferImpl_SetFX needed for sound effects in several games.
2988# | * [#34708] - Silent Hill 4: The Room crashes after first videoscene when trying to go to the door.
2989# |
2990# | Modified files:
2991# | * dlls/dsdmo/Makefile.in, dlls/dsdmo/chorus.c, dlls/dsdmo/compressor.c, dlls/dsdmo/distortion.c,
2992# | dlls/dsdmo/dsdmo_classes.idl, dlls/dsdmo/dsdmo_private.h, dlls/dsdmo/echo.c, dlls/dsdmo/flanger.c, dlls/dsdmo/gargle.c,
2993# | dlls/dsdmo/main.c, dlls/dsdmo/parameq.c, dlls/dsdmo/reverb.c, dlls/dsdmo/reverb2.c, dlls/dsound/buffer.c,
2994# | dlls/dsound/tests/dsound8.c
2995# |
2996if test "$enable_dsdmo_new_dll" -eq 1; then
2997 patch_apply dsdmo-new-dll/0002-dsdmo-Add-IDirectSoundFXEcho-support.patch
2998 patch_apply dsdmo-new-dll/0003-dsdmo-Add-IDirectSoundFXChorus-support.patch
2999 patch_apply dsdmo-new-dll/0004-dsdmo-Add-IDirectSoundFXCompressor-support.patch
3000 patch_apply dsdmo-new-dll/0005-dsdmo-Add-IDirectSoundFXDistortion-support.patch
3001 patch_apply dsdmo-new-dll/0006-dsdmo-Add-IDirectSoundFXFlanger-support.patch
3002 patch_apply dsdmo-new-dll/0007-dsdmo-Add-IDirectSoundFXGargle-support.patch
3003 patch_apply dsdmo-new-dll/0008-dsdmo-Add-IDirectSoundFXParamEq-support.patch
3004 patch_apply dsdmo-new-dll/0009-dsdmo-Add-IDirectSoundFXWavesReverb-support.patch
3005 patch_apply dsdmo-new-dll/0010-dsdmo-Add-IDirectSoundFXI3DL2Reverb-support.patch
3006 patch_apply dsdmo-new-dll/0011-dsdmo-Implement-IDirectSoundFXEcho-GetAllParameters.patch
3007 patch_apply dsdmo-new-dll/0012-dsdmo-Implement-IDirectSoundFXGargle-GetAllParameter.patch
3008 patch_apply dsdmo-new-dll/0013-dsdmo-Implemnet-IDirectSoundFXChorus-GetAllParameter.patch
3009 patch_apply dsdmo-new-dll/0014-dsdmo-Implemnet-IDirectSoundFXFlanger-GetAllParamete.patch
3010 patch_apply dsdmo-new-dll/0015-dsdmo-Implemnet-IDirectSoundFXDistortion-GetAllParam.patch
3011 patch_apply dsdmo-new-dll/0016-dsdmo-Implemnet-IDirectSoundFXCompressor-GetAllParam.patch
3012 patch_apply dsdmo-new-dll/0017-dsdmo-Implemnet-IDirectSoundFXParamEq-GetAllParamete.patch
3013 patch_apply dsdmo-new-dll/0018-dsdmo-Implemnet-IDirectSoundFXI3DL2Reverb-GetAllPara.patch
3014 patch_apply dsdmo-new-dll/0019-dsound-IDirectSoundBuffer8-GetObjectInPath-loops-for.patch
3015 patch_apply dsdmo-new-dll/0020-dsdmo-Implement-IDirectSoundFXEcho-SetAllParameters.patch
3016 patch_apply dsdmo-new-dll/0021-dsdmo-Implement-IDirectSoundFXGargle-SetAllParameter.patch
3017 patch_apply dsdmo-new-dll/0022-dsdmo-Implement-IDirectSoundFXChorus-SetAllParameter.patch
3018 patch_apply dsdmo-new-dll/0023-dsdmo-Implement-IDirectSoundFXFlanger-SetAllParamete.patch
3019 patch_apply dsdmo-new-dll/0024-dsdmo-Implement-IDirectSoundFXDistortion-SetAllParam.patch
3020 patch_apply dsdmo-new-dll/0025-dsdmo-Implement-IDirectSoundFXCompressor-SetAllParam.patch
3021 patch_apply dsdmo-new-dll/0026-dsdmo-Implement-IDirectSoundFXParamEq-SetAllParamete.patch
3022 patch_apply dsdmo-new-dll/0027-dsdmo-Implement-IDirectSoundFXI3DL2Reverb-SetAllPara.patch
3023 (
3024 printf '%s\n' '+ { "Alistair Leslie-Hughes", "dsdmo: Add IDirectSoundFXEcho support.", 1 },';
3025 printf '%s\n' '+ { "Alistair Leslie-Hughes", "dsdmo: Add IDirectSoundFXChorus support.", 1 },';
3026 printf '%s\n' '+ { "Alistair Leslie-Hughes", "dsdmo: Add IDirectSoundFXCompressor support.", 1 },';
3027 printf '%s\n' '+ { "Alistair Leslie-Hughes", "dsdmo: Add IDirectSoundFXDistortion support.", 1 },';
3028 printf '%s\n' '+ { "Alistair Leslie-Hughes", "dsdmo: Add IDirectSoundFXFlanger support.", 1 },';
3029 printf '%s\n' '+ { "Alistair Leslie-Hughes", "dsdmo: Add IDirectSoundFXGargle support.", 1 },';
3030 printf '%s\n' '+ { "Alistair Leslie-Hughes", "dsdmo: Add IDirectSoundFXParamEq support.", 1 },';
3031 printf '%s\n' '+ { "Alistair Leslie-Hughes", "dsdmo: Add IDirectSoundFXWavesReverb support.", 1 },';
3032 printf '%s\n' '+ { "Alistair Leslie-Hughes", "dsdmo: Add IDirectSoundFXI3DL2Reverb support.", 1 },';
3033 printf '%s\n' '+ { "Alistair Leslie-Hughes", "dsdmo: Implement IDirectSoundFXEcho GetAllParameters.", 1 },';
3034 printf '%s\n' '+ { "Alistair Leslie-Hughes", "dsdmo: Implement IDirectSoundFXGargle GetAllParameters.", 1 },';
3035 printf '%s\n' '+ { "Alistair Leslie-Hughes", "dsdmo: Implemnet IDirectSoundFXChorus GetAllParameters.", 1 },';
3036 printf '%s\n' '+ { "Alistair Leslie-Hughes", "dsdmo: Implemnet IDirectSoundFXFlanger GetAllParameters.", 1 },';
3037 printf '%s\n' '+ { "Alistair Leslie-Hughes", "dsdmo: Implemnet IDirectSoundFXDistortion GetAllParameters.", 1 },';
3038 printf '%s\n' '+ { "Alistair Leslie-Hughes", "dsdmo: Implemnet IDirectSoundFXCompressor GetAllParameters.", 1 },';
3039 printf '%s\n' '+ { "Alistair Leslie-Hughes", "dsdmo: Implemnet IDirectSoundFXParamEq GetAllParameters.", 1 },';
3040 printf '%s\n' '+ { "Alistair Leslie-Hughes", "dsdmo: Implemnet IDirectSoundFXI3DL2Reverb GetAllParameters.", 1 },';
3041 printf '%s\n' '+ { "Alistair Leslie-Hughes", "dsound: IDirectSoundBuffer8 GetObjectInPath loops for the requested interface.", 1 },';
3042 printf '%s\n' '+ { "Alistair Leslie-Hughes", "dsdmo: Implement IDirectSoundFXEcho SetAllParameters.", 1 },';
3043 printf '%s\n' '+ { "Alistair Leslie-Hughes", "dsdmo: Implement IDirectSoundFXGargle SetAllParameters.", 1 },';
3044 printf '%s\n' '+ { "Alistair Leslie-Hughes", "dsdmo: Implement IDirectSoundFXChorus SetAllParameters.", 1 },';
3045 printf '%s\n' '+ { "Alistair Leslie-Hughes", "dsdmo: Implement IDirectSoundFXFlanger SetAllParameters.", 1 },';
3046 printf '%s\n' '+ { "Alistair Leslie-Hughes", "dsdmo: Implement IDirectSoundFXDistortion SetAllParameters.", 1 },';
3047 printf '%s\n' '+ { "Alistair Leslie-Hughes", "dsdmo: Implement IDirectSoundFXCompressor SetAllParameters.", 1 },';
3048 printf '%s\n' '+ { "Alistair Leslie-Hughes", "dsdmo: Implement IDirectSoundFXParamEq SetAllParameters.", 1 },';
3049 printf '%s\n' '+ { "Alistair Leslie-Hughes", "dsdmo: Implement IDirectSoundFXI3DL2Reverb SetAllParameters.", 1 },';
3050 ) >> "$patchlist"
3051fi
3052
3053# Patchset dsound-Fast_Mixer
3054# |
3055# | This patchset fixes the following Wine bugs:
3056# | * [#30639] Audio stuttering and performance drops in multiple applications
3057# |
3058# | Modified files:
3059# | * dlls/dsound/dsound_main.c, dlls/dsound/dsound_private.h, dlls/dsound/mixer.c
3060# |
3061if test "$enable_dsound_Fast_Mixer" -eq 1; then
3062 patch_apply dsound-Fast_Mixer/0001-dsound-Add-a-linear-resampler-for-use-with-a-large-n.patch
3063 (
3064 printf '%s\n' '+ { "Alexander E. Patrakov", "dsound: Add a linear resampler for use with a large number of mixing buffers.", 2 },';
3065 ) >> "$patchlist"
3066fi
3067
3068# Patchset dsound-EAX
3069# |
3070# | This patchset has the following (direct or indirect) dependencies:
3071# | * dsound-Fast_Mixer
3072# |
3073# | Modified files:
3074# | * dlls/dsound/Makefile.in, dlls/dsound/buffer.c, dlls/dsound/dsound.c, dlls/dsound/dsound_eax.h,
3075# | dlls/dsound/dsound_main.c, dlls/dsound/dsound_private.h, dlls/dsound/eax.c, dlls/dsound/mixer.c
3076# |
3077if test "$enable_dsound_EAX" -eq 1; then
3078 patch_apply dsound-EAX/0001-dsound-Apply-filters-before-sound-is-multiplied-to-s.patch
3079 patch_apply dsound-EAX/0002-dsound-Add-EAX-v1-constants-and-structs.patch
3080 patch_apply dsound-EAX/0003-dsound-Report-that-we-support-EAX-v1.patch
3081 patch_apply dsound-EAX/0004-dsound-Add-EAX-propset-stubs.patch
3082 patch_apply dsound-EAX/0005-dsound-Add-EAX-presets.patch
3083 patch_apply dsound-EAX/0006-dsound-Support-getting-and-setting-EAX-properties.patch
3084 patch_apply dsound-EAX/0007-dsound-Support-getting-and-setting-EAX-buffer-proper.patch
3085 patch_apply dsound-EAX/0008-dsound-Add-EAX-init-and-free-stubs.patch
3086 patch_apply dsound-EAX/0009-dsound-Feed-data-through-EAX-function.patch
3087 patch_apply dsound-EAX/0010-dsound-Allocate-EAX-delay-lines.patch
3088 patch_apply dsound-EAX/0011-dsound-Add-EAX-VerbPass-stub.patch
3089 patch_apply dsound-EAX/0012-dsound-Implement-EAX-lowpass-filter.patch
3090 patch_apply dsound-EAX/0013-dsound-Add-delay-line-EAX-functions.patch
3091 patch_apply dsound-EAX/0014-dsound-Implement-EAX-early-reflections.patch
3092 patch_apply dsound-EAX/0015-dsound-Implement-EAX-decorrelator.patch
3093 patch_apply dsound-EAX/0016-dsound-Implement-EAX-late-reverb.patch
3094 patch_apply dsound-EAX/0017-dsound-Implement-EAX-late-all-pass-filter.patch
3095 patch_apply dsound-EAX/0018-dsound-Various-improvements-to-EAX-support.patch
3096 patch_apply dsound-EAX/0019-dsound-Allow-disabling-of-EAX-support-in-the-registr.patch
3097 patch_apply dsound-EAX/0020-dsound-Add-stub-support-for-DSPROPSETID_EAX20_Listen.patch
3098 patch_apply dsound-EAX/0021-dsound-Add-stub-support-for-DSPROPSETID_EAX20_Buffer.patch
3099 (
3100 printf '%s\n' '+ { "Sebastian Lackner", "dsound: Apply filters before sound is multiplied to speakers.", 1 },';
3101 printf '%s\n' '+ { "Mark Harmstone", "dsound: Add EAX v1 constants and structs.", 1 },';
3102 printf '%s\n' '+ { "Mark Harmstone", "dsound: Report that we support EAX.", 1 },';
3103 printf '%s\n' '+ { "Mark Harmstone", "dsound: Add EAX propset stubs.", 1 },';
3104 printf '%s\n' '+ { "Mark Harmstone", "dsound: Add EAX presets.", 1 },';
3105 printf '%s\n' '+ { "Mark Harmstone", "dsound: Support getting and setting EAX properties.", 1 },';
3106 printf '%s\n' '+ { "Mark Harmstone", "dsound: Support getting and setting EAX buffer properties.", 1 },';
3107 printf '%s\n' '+ { "Mark Harmstone", "dsound: Add EAX init and free stubs.", 1 },';
3108 printf '%s\n' '+ { "Mark Harmstone", "dsound: Feed data through EAX function.", 1 },';
3109 printf '%s\n' '+ { "Mark Harmstone", "dsound: Allocate EAX delay lines.", 1 },';
3110 printf '%s\n' '+ { "Mark Harmstone", "dsound: Add EAX VerbPass stub.", 1 },';
3111 printf '%s\n' '+ { "Mark Harmstone", "dsound: Implement EAX lowpass filter.", 1 },';
3112 printf '%s\n' '+ { "Mark Harmstone", "dsound: Add delay line EAX functions.", 1 },';
3113 printf '%s\n' '+ { "Mark Harmstone", "dsound: Implement EAX early reflections.", 1 },';
3114 printf '%s\n' '+ { "Mark Harmstone", "dsound: Implement EAX decorrelator.", 1 },';
3115 printf '%s\n' '+ { "Mark Harmstone", "dsound: Implement EAX late reverb.", 1 },';
3116 printf '%s\n' '+ { "Mark Harmstone", "dsound: Implement EAX late all-pass filter.", 1 },';
3117 printf '%s\n' '+ { "Sebastian Lackner", "dsound: Various improvements to EAX support.", 1 },';
3118 printf '%s\n' '+ { "Sebastian Lackner", "dsound: Allow disabling of EAX support in the registry.", 1 },';
3119 printf '%s\n' '+ { "Erich E. Hoover", "dsound: Add stub support for DSPROPSETID_EAX20_ListenerProperties.", 1 },';
3120 printf '%s\n' '+ { "Erich E. Hoover", "dsound: Add stub support for DSPROPSETID_EAX20_BufferProperties.", 1 },';
3121 ) >> "$patchlist"
3122fi
3123
3124# Patchset dwmapi-DwmGetTransportAttributes
3125# |
3126# | Modified files:
3127# | * configure, configure.ac, dlls/dwmapi/tests/Makefile.in, dlls/dwmapi/tests/dwmapi.c
3128# |
3129if test "$enable_dwmapi_DwmGetTransportAttributes" -eq 1; then
3130 patch_apply dwmapi-DwmGetTransportAttributes/0002-dwmapi-add-initial-tests.patch
3131 (
3132 printf '%s\n' '+ { "Louis Lenders", "dwmapi: Add initial tests.", 1 },';
3133 ) >> "$patchlist"
3134fi
3135
3136# Patchset dwrite-FontFallback
3137# |
3138# | This patchset fixes the following Wine bugs:
3139# | * [#44052] - Support for font fallback.
3140# |
3141# | Modified files:
3142# | * dlls/dwrite/analyzer.c, dlls/dwrite/layout.c, dlls/dwrite/tests/layout.c
3143# |
3144if test "$enable_dwrite_FontFallback" -eq 1; then
3145 patch_apply dwrite-FontFallback/0001-dwrite-Test-IDWriteTextFormat-with-nonexistent-font.patch
3146 patch_apply dwrite-FontFallback/0002-dwrite-Test-GetMetrics-with-custom-fontcollection.patch
3147 patch_apply dwrite-FontFallback/0004-dwrite-Use-font-fallback-when-mapping-characters.patch
3148 patch_apply dwrite-FontFallback/0005-dwrite-Use-MapCharacters-for-non-visual-characters.patch
3149 patch_apply dwrite-FontFallback/0006-dwrite-Use-MapCharacters-for-dummy-line-metrics.patch
3150 (
3151 printf '%s\n' '+ { "Lucian Poston", "dwrite: Test IDWriteTextFormat with nonexistent font.", 1 },';
3152 printf '%s\n' '+ { "Lucian Poston", "dwrite: Test GetMetrics with custom fontcollection.", 1 },';
3153 printf '%s\n' '+ { "Lucian Poston", "dwrite: Use font fallback when mapping characters.", 1 },';
3154 printf '%s\n' '+ { "Lucian Poston", "dwrite: Use MapCharacters for non-visual characters.", 1 },';
3155 printf '%s\n' '+ { "Lucian Poston", "dwrite: Use MapCharacters for dummy line metrics.", 1 },';
3156 ) >> "$patchlist"
3157fi
3158
3159# Patchset dxdiagn-Enumerate_DirectSound
3160# |
3161# | This patchset fixes the following Wine bugs:
3162# | * [#32613] Implement enumeration of sound devices and basic properties to dxdiagn
3163# |
3164# | Modified files:
3165# | * dlls/dxdiagn/Makefile.in, dlls/dxdiagn/provider.c, dlls/dxdiagn/tests/container.c
3166# |
3167if test "$enable_dxdiagn_Enumerate_DirectSound" -eq 1; then
3168 patch_apply dxdiagn-Enumerate_DirectSound/0001-dxdiagn-Enumerate-DirectSound-devices-and-add-some-b.patch
3169 (
3170 printf '%s\n' '+ { "Michael Müller", "dxdiagn: Enumerate DirectSound devices and add some basic properties.", 1 },';
3171 ) >> "$patchlist"
3172fi
3173
3174# Patchset dxdiagn-GetChildContainer_Leaf_Nodes
3175# |
3176# | This patchset has the following (direct or indirect) dependencies:
3177# | * dxdiagn-Enumerate_DirectSound
3178# |
3179# | This patchset fixes the following Wine bugs:
3180# | * [#38014] Implement special handling for calling GetChildContainer with an empty string
3181# |
3182# | Modified files:
3183# | * dlls/dxdiagn/container.c, dlls/dxdiagn/tests/container.c
3184# |
3185if test "$enable_dxdiagn_GetChildContainer_Leaf_Nodes" -eq 1; then
3186 patch_apply dxdiagn-GetChildContainer_Leaf_Nodes/0001-dxdiagn-Calling-GetChildContainer-with-an-empty-stri.patch
3187 (
3188 printf '%s\n' '+ { "Michael Müller", "dxdiagn: Calling GetChildContainer with an empty string on a leaf container returns the object itself.", 1 },';
3189 ) >> "$patchlist"
3190fi
3191
3192# Patchset dxva2-Video_Decoder
3193# |
3194# | Modified files:
3195# | * configure.ac, dlls/dxva2/Makefile.in, dlls/dxva2/backend.idl, dlls/dxva2/devicemanager.c, dlls/dxva2/dxva2_private.h,
3196# | dlls/dxva2/genericdecoder.c, dlls/dxva2/main.c, dlls/dxva2/softwareprocessor.c, dlls/dxva2/tests/Makefile.in,
3197# | dlls/dxva2/tests/dxva2.c, dlls/dxva2/vaapi-h264.c, dlls/dxva2/vaapi-mpeg2.c, dlls/dxva2/vaapi.c,
3198# | dlls/dxva2/videoservices.c
3199# |
3200if test "$enable_dxva2_Video_Decoder" -eq 1; then
3201 patch_apply dxva2-Video_Decoder/0001-dxva2-Implement-semi-stub-for-Direct3DDeviceManager9.patch
3202 patch_apply dxva2-Video_Decoder/0002-dxva2-Implement-stubbed-interfaces-for-IDirectXVideo.patch
3203 patch_apply dxva2-Video_Decoder/0004-dxva2-Implement-stubbed-DirectX-Software-VideoProces.patch
3204 patch_apply dxva2-Video_Decoder/0006-dxva2-tests-Add-tests-for-dxva2-decoder.patch
3205 patch_apply dxva2-Video_Decoder/0007-dxva2-Initial-implementation-of-MPEG2-decoder-using-.patch
3206 patch_apply dxva2-Video_Decoder/0008-dxva2-Implement-h264-decoder.patch
3207 patch_apply dxva2-Video_Decoder/0009-dxva2-Add-DRM-mode-for-vaapi.patch
3208 patch_apply dxva2-Video_Decoder/0010-dxva2-Fill-h264-luma-and-chroma-weights-offsets-with.patch
3209 patch_apply dxva2-Video_Decoder/0011-dxva2-Always-destroy-buffers-when-calling-vaRenderPi.patch
3210 patch_apply dxva2-Video_Decoder/0012-dxva2-Only-declare-debug-channels-when-they-are-actu.patch
3211 patch_apply dxva2-Video_Decoder/0013-Revert-dxva2-Build-with-msvcrt.patch
3212 (
3213 printf '%s\n' '+ { "Sebastian Lackner", "dxva2: Implement semi-stub for Direct3DDeviceManager9 interface.", 1 },';
3214 printf '%s\n' '+ { "Michael Müller", "dxva2: Implement stubbed interfaces for IDirectXVideo{Acceleration,Decoder,Processor}Service.", 1 },';
3215 printf '%s\n' '+ { "Michael Müller", "dxva2: Implement stubbed DirectX Software VideoProcessor interface.", 1 },';
3216 printf '%s\n' '+ { "Michael Müller", "dxva2/tests: Add tests for dxva2 decoder.", 1 },';
3217 printf '%s\n' '+ { "Michael Müller", "dxva2: Initial implementation of MPEG2 decoder using vaapi backend.", 1 },';
3218 printf '%s\n' '+ { "Michael Müller", "dxva2: Implement h264 decoder.", 1 },';
3219 printf '%s\n' '+ { "Michael Müller", "dxva2: Add DRM mode for vaapi.", 1 },';
3220 printf '%s\n' '+ { "Michael Müller", "dxva2: Fill h264 luma and chroma weights / offsets with default values in case they are not specified.", 1 },';
3221 printf '%s\n' '+ { "Michael Müller", "dxva2: Always destroy buffers when calling vaRenderPicture.", 1 },';
3222 printf '%s\n' '+ { "Michael Müller", "dxva2: Only declare debug channels when they are actually used.", 1 },';
3223 printf '%s\n' '+ { "Alistair Leslie-Hughes", "Revert \"dxva2: Build with msvcrt.\".", 1 },';
3224 ) >> "$patchlist"
3225fi
3226
3227# Patchset kernel32-K32GetPerformanceInfo
3228# |
3229# | Modified files:
3230# | * dlls/kernel32/cpu.c, server/process.c, server/protocol.def
3231# |
3232if test "$enable_kernel32_K32GetPerformanceInfo" -eq 1; then
3233 patch_apply kernel32-K32GetPerformanceInfo/0001-kernel32-Make-K32GetPerformanceInfo-faster.patch
3234 (
3235 printf '%s\n' '+ { "Michael Müller", "kernel32: Make K32GetPerformanceInfo faster.", 1 },';
3236 ) >> "$patchlist"
3237fi
3238
3239# Patchset ntdll-Junction_Points
3240# |
3241# | This patchset fixes the following Wine bugs:
3242# | * [#12401] NET Framework 2.0, 3.0, 4.0 installers and other apps that make use of GAC API for managed assembly
3243# | installation on NTFS filesystems need reparse point/junction API support
3244# | (FSCTL_SET_REPARSE_POINT/FSCTL_GET_REPARSE_POINT)
3245# | * [#44948] Multiple apps (Spine (Mod starter for Gothic), MS Office 365 installer) need CreateSymbolicLinkW implementation
3246# |
3247# | Modified files:
3248# | * configure.ac, dlls/kernel32/path.c, dlls/kernel32/tests/path.c, dlls/kernel32/volume.c, dlls/msvcp120/tests/msvcp120.c,
3249# | dlls/msvcp140/tests/msvcp140.c, dlls/ntdll/directory.c, dlls/ntdll/file.c, dlls/ntdll/tests/file.c, include/Makefile.in,
3250# | include/ntifs.h, include/wine/port.h, include/winternl.h, libs/port/Makefile.in, libs/port/renameat2.c, server/fd.c
3251# |
3252if test "$enable_ntdll_Junction_Points" -eq 1; then
3253 patch_apply ntdll-Junction_Points/0001-ntdll-Add-support-for-junction-point-creation.patch
3254 patch_apply ntdll-Junction_Points/0002-ntdll-Add-support-for-reading-junction-points.patch
3255 patch_apply ntdll-Junction_Points/0003-ntdll-Add-support-for-deleting-junction-points.patch
3256 patch_apply ntdll-Junction_Points/0004-ntdll-Add-a-test-for-junction-point-advertisement.patch
3257 patch_apply ntdll-Junction_Points/0005-kernel32-ntdll-Add-support-for-deleting-junction-poi.patch
3258 patch_apply ntdll-Junction_Points/0006-kernel32-Advertise-junction-point-support.patch
3259 patch_apply ntdll-Junction_Points/0007-ntdll-Add-support-for-absolute-symlink-creation.patch
3260 patch_apply ntdll-Junction_Points/0008-ntdll-Add-support-for-reading-absolute-symlinks.patch
3261 patch_apply ntdll-Junction_Points/0009-ntdll-Add-support-for-deleting-symlinks.patch
3262 patch_apply ntdll-Junction_Points/0010-ntdll-Add-support-for-relative-symlink-creation.patch
3263 patch_apply ntdll-Junction_Points/0011-ntdll-Add-support-for-reading-relative-symlinks.patch
3264 patch_apply ntdll-Junction_Points/0012-ntdll-Add-support-for-file-symlinks.patch
3265 patch_apply ntdll-Junction_Points/0013-ntdll-Allow-creation-of-dangling-reparse-points-to-n.patch
3266 patch_apply ntdll-Junction_Points/0014-ntdll-Correctly-report-file-symbolic-links-as-files.patch
3267 patch_apply ntdll-Junction_Points/0015-kernel32-Set-error-code-when-attempting-to-delete-fi.patch
3268 patch_apply ntdll-Junction_Points/0016-server-Properly-handle-file-symlink-deletion.patch
3269 patch_apply ntdll-Junction_Points/0017-ntdll-Always-report-symbolic-links-as-containing-zer.patch
3270 patch_apply ntdll-Junction_Points/0018-ntdll-Find-dangling-symlinks-quickly.patch
3271 patch_apply ntdll-Junction_Points/0019-kernel32-Implement-CreateSymbolicLink-A-W-with-ntdll.patch
3272 (
3273 printf '%s\n' '+ { "Erich E. Hoover", "ntdll: Add support for junction point creation.", 1 },';
3274 printf '%s\n' '+ { "Erich E. Hoover", "ntdll: Add support for reading junction points.", 1 },';
3275 printf '%s\n' '+ { "Erich E. Hoover", "ntdll: Add support for deleting junction points.", 1 },';
3276 printf '%s\n' '+ { "Erich E. Hoover", "ntdll: Add a test for junction point advertisement.", 1 },';
3277 printf '%s\n' '+ { "Erich E. Hoover", "kernel32,ntdll: Add support for deleting junction points with RemoveDirectory.", 1 },';
3278 printf '%s\n' '+ { "Erich E. Hoover", "kernel32: Advertise junction point support.", 1 },';
3279 printf '%s\n' '+ { "Erich E. Hoover", "ntdll: Add support for absolute symlink creation.", 1 },';
3280 printf '%s\n' '+ { "Erich E. Hoover", "ntdll: Add support for reading absolute symlinks.", 1 },';
3281 printf '%s\n' '+ { "Erich E. Hoover", "ntdll: Add support for deleting symlinks.", 1 },';
3282 printf '%s\n' '+ { "Erich E. Hoover", "ntdll: Add support for relative symlink creation.", 1 },';
3283 printf '%s\n' '+ { "Erich E. Hoover", "ntdll: Add support for reading relative symlinks.", 1 },';
3284 printf '%s\n' '+ { "Erich E. Hoover", "ntdll: Add support for file symlinks.", 1 },';
3285 printf '%s\n' '+ { "Erich E. Hoover", "ntdll: Allow creation of dangling reparse points to non-existent paths.", 1 },';
3286 printf '%s\n' '+ { "Erich E. Hoover", "ntdll: Correctly report file symbolic links as files.", 1 },';
3287 printf '%s\n' '+ { "Erich E. Hoover", "kernel32: Set error code when attempting to delete file symlinks as directories.", 1 },';
3288 printf '%s\n' '+ { "Erich E. Hoover", "server: Properly handle file symlink deletion.", 1 },';
3289 printf '%s\n' '+ { "Erich E. Hoover", "ntdll: Always report symbolic links as containing zero bytes.", 1 },';
3290 printf '%s\n' '+ { "Erich E. Hoover", "ntdll: Find dangling symlinks quickly.", 1 },';
3291 printf '%s\n' '+ { "Erich E. Hoover", "kernel32: Implement CreateSymbolicLink[A|W] with ntdll reparse points.", 1 },';
3292 ) >> "$patchlist"
3293fi
3294
3295# Patchset ntdll-ThreadTime
3296# |
3297# | This patchset fixes the following Wine bugs:
3298# | * [#20230] Return correct values for GetThreadTimes function
3299# |
3300# | Modified files:
3301# | * dlls/ntdll/nt.c, dlls/ntdll/ntdll_misc.h, dlls/ntdll/process.c, dlls/ntdll/thread.c, server/protocol.def,
3302# | server/snapshot.c, server/thread.c, server/thread.h
3303# |
3304if test "$enable_ntdll_ThreadTime" -eq 1; then
3305 patch_apply ntdll-ThreadTime/0001-ntdll-Return-correct-values-in-GetThreadTimes-for-al.patch
3306 patch_apply ntdll-ThreadTime/0002-ntdll-Set-correct-thread-creation-time-for-SystemPro.patch
3307 patch_apply ntdll-ThreadTime/0003-ntdll-Fill-process-kernel-and-user-time.patch
3308 patch_apply ntdll-ThreadTime/0004-ntdll-Set-process-start-time.patch
3309 patch_apply ntdll-ThreadTime/0005-ntdll-Fill-out-thread-times-in-process-enumeration.patch
3310 patch_apply ntdll-ThreadTime/0006-ntdll-Fill-process-virtual-memory-counters-in-NtQuer.patch
3311 (
3312 printf '%s\n' '+ { "Sebastian Lackner", "ntdll: Return correct values in GetThreadTimes() for all threads.", 1 },';
3313 printf '%s\n' '+ { "Michael Müller", "ntdll: Set correct thread creation time for SystemProcessInformation in NtQuerySystemInformation.", 1 },';
3314 printf '%s\n' '+ { "Michael Müller", "ntdll: Fill process kernel and user time.", 1 },';
3315 printf '%s\n' '+ { "Michael Müller", "ntdll: Set process start time.", 1 },';
3316 printf '%s\n' '+ { "Michael Müller", "ntdll: Fill out thread times in process enumeration.", 1 },';
3317 printf '%s\n' '+ { "Michael Müller", "ntdll: Fill process virtual memory counters in NtQuerySystemInformation.", 1 },';
3318 ) >> "$patchlist"
3319fi
3320
3321# Patchset ntdll-Hide_Wine_Exports
3322# |
3323# | This patchset has the following (direct or indirect) dependencies:
3324# | * Staging, advapi32-CreateRestrictedToken, advapi32-Token_Integrity_Level, ntdll-ThreadTime
3325# |
3326# | This patchset fixes the following Wine bugs:
3327# | * [#38656] Add support for hiding wine version information from applications
3328# |
3329# | Modified files:
3330# | * dlls/ntdll/loader.c, dlls/ntdll/ntdll_misc.h
3331# |
3332if test "$enable_ntdll_Hide_Wine_Exports" -eq 1; then
3333 patch_apply ntdll-Hide_Wine_Exports/0001-ntdll-Add-support-for-hiding-wine-version-informatio.patch
3334 (
3335 printf '%s\n' '+ { "Sebastian Lackner", "ntdll: Add support for hiding wine version information from applications.", 1 },';
3336 ) >> "$patchlist"
3337fi
3338
3339# Patchset ntdll-User_Shared_Data
3340# |
3341# | This patchset has the following (direct or indirect) dependencies:
3342# | * Staging, advapi32-CreateRestrictedToken, advapi32-Token_Integrity_Level, ntdll-ThreadTime, ntdll-Hide_Wine_Exports
3343# |
3344# | This patchset fixes the following Wine bugs:
3345# | * [#29168] Update user shared data at realtime
3346# |
3347# | Modified files:
3348# | * dlls/ntdll/loader.c, dlls/ntdll/ntdll.spec, dlls/ntdll/ntdll_misc.h, dlls/ntdll/tests/time.c, dlls/ntdll/thread.c,
3349# | dlls/ntdll/virtual.c, dlls/ntoskrnl.exe/instr.c
3350# |
3351if test "$enable_ntdll_User_Shared_Data" -eq 1; then
3352 patch_apply ntdll-User_Shared_Data/0001-ntdll-Move-code-to-update-user-shared-data-into-a-se.patch
3353 patch_apply ntdll-User_Shared_Data/0002-ntoskrnl-Update-USER_SHARED_DATA-before-accessing-me.patch
3354 patch_apply ntdll-User_Shared_Data/0003-ntdll-Create-thread-to-update-user_shared_data-time-.patch
3355 patch_apply ntdll-User_Shared_Data/0004-ntdll-tests-Test-updating-TickCount-in-user_shared_d.patch
3356 (
3357 printf '%s\n' '+ { "Sebastian Lackner", "ntdll: Move code to update user shared data into a separate function.", 1 },';
3358 printf '%s\n' '+ { "Sebastian Lackner", "ntoskrnl: Update USER_SHARED_DATA before accessing memory.", 1 },';
3359 printf '%s\n' '+ { "Michael Müller", "ntdll: Create thread to update user_shared_data time values when necessary.", 1 },';
3360 printf '%s\n' '+ { "Andrew Wesie", "ntdll/tests: Test updating TickCount in user_shared_data.", 1 },';
3361 ) >> "$patchlist"
3362fi
3363
3364# Patchset winebuild-Fake_Dlls
3365# |
3366# | This patchset has the following (direct or indirect) dependencies:
3367# | * Staging, advapi32-CreateRestrictedToken, advapi32-Token_Integrity_Level, ntdll-ThreadTime, ntdll-Hide_Wine_Exports,
3368# | ntdll-User_Shared_Data
3369# |
3370# | This patchset fixes the following Wine bugs:
3371# | * [#21232] Chromium-based browser engines (Chrome, Opera, Comodo Dragon, SRWare Iron) crash on startup unless '--no-
3372# | sandbox' is used (native API sandboxing/hooking scheme incompatible with Wine)
3373# | * [#42741] StarCraft I: 1.18 PTR fails to initialize ClientSdk.dll
3374# | * [#45349] Multiple applications and games crash due to missing support for 64-bit syscall thunks (StreetFighter V)
3375# | * [#45573] League of Legends 8.12+ fails to start a game (anticheat engine, hooking of syscall return instructions)
3376# | * [#45650] chromium 32-bit sandbox expects different syscall thunks depending on Windows version
3377# |
3378# | Modified files:
3379# | * dlls/dbghelp/cpu_i386.c, dlls/kernel32/tests/loader.c, dlls/krnl386.exe16/kernel.c,
3380# | dlls/krnl386.exe16/kernel16_private.h, dlls/krnl386.exe16/ne_module.c, dlls/krnl386.exe16/ne_segment.c,
3381# | dlls/krnl386.exe16/task.c, dlls/krnl386.exe16/thunk.c, dlls/krnl386.exe16/wowthunk.c, dlls/ntdll/actctx.c,
3382# | dlls/ntdll/directory.c, dlls/ntdll/loader.c, dlls/ntdll/locale.c, dlls/ntdll/ntdll_misc.h, dlls/ntdll/path.c,
3383# | dlls/ntdll/process.c, dlls/ntdll/signal_i386.c, dlls/ntdll/signal_x86_64.c, dlls/ntdll/tests/exception.c,
3384# | dlls/ntdll/thread.c, dlls/system.drv16/system.c, dlls/toolhelp.dll16/toolhelp.c, dlls/user.exe16/message.c,
3385# | dlls/user.exe16/user.c, dlls/user.exe16/window.c, include/winternl.h, libs/wine/loader.c, tools/winebuild/build.h,
3386# | tools/winebuild/import.c, tools/winebuild/parser.c, tools/winebuild/relay.c, tools/winebuild/res32.c,
3387# | tools/winebuild/spec16.c, tools/winebuild/spec32.c, tools/winebuild/utils.c
3388# |
3389if test "$enable_winebuild_Fake_Dlls" -eq 1; then
3390 patch_apply winebuild-Fake_Dlls/0001-kernel32-tests-Add-basic-tests-for-fake-dlls.patch
3391 patch_apply winebuild-Fake_Dlls/0002-krnl386.exe16-Do-not-abuse-WOW32Reserved-field-for-1.patch
3392 patch_apply winebuild-Fake_Dlls/0003-winebuild-Generate-syscall-thunks-for-ntdll-exports.patch
3393 patch_apply winebuild-Fake_Dlls/0004-winebuild-Use-multipass-label-system-to-generate-fak.patch
3394 patch_apply winebuild-Fake_Dlls/0005-winebuild-Add-stub-functions-in-fake-dlls.patch
3395 patch_apply winebuild-Fake_Dlls/0006-winebuild-Add-syscall-thunks-in-fake-dlls.patch
3396 patch_apply winebuild-Fake_Dlls/0007-winebuild-Fix-size-of-relocation-information-in-fake.patch
3397 patch_apply winebuild-Fake_Dlls/0008-winebuild-Try-to-make-sure-RVA-matches-between-fake-.patch
3398 patch_apply winebuild-Fake_Dlls/0009-libs-wine-Use-same-file-alignment-for-fake-and-built.patch
3399 patch_apply winebuild-Fake_Dlls/0010-tools-winebuild-Add-syscall-thunks-for-64-bit.patch
3400 patch_apply winebuild-Fake_Dlls/0011-ntdll-Call-NtOpenFile-through-syscall-thunk.patch
3401 (
3402 printf '%s\n' '+ { "Michael Müller", "kernel32/tests: Add basic tests for fake dlls.", 1 },';
3403 printf '%s\n' '+ { "Sebastian Lackner", "krnl386.exe16: Do not abuse WOW32Reserved field for 16-bit stack address.", 1 },';
3404 printf '%s\n' '+ { "Michael Müller", "winebuild: Generate syscall thunks for ntdll exports.", 1 },';
3405 printf '%s\n' '+ { "Michael Müller", "winebuild: Use multipass label system to generate fake dlls.", 1 },';
3406 printf '%s\n' '+ { "Michael Müller", "winebuild: Add stub functions in fake dlls.", 1 },';
3407 printf '%s\n' '+ { "Michael Müller", "winebuild: Add syscall thunks in fake dlls.", 1 },';
3408 printf '%s\n' '+ { "Michael Müller", "winebuild: Fix size of relocation information in fake dlls.", 1 },';
3409 printf '%s\n' '+ { "Michael Müller", "winebuild: Try to make sure RVA matches between fake and builtin DLLs.", 1 },';
3410 printf '%s\n' '+ { "Michael Müller", "libs/wine: Use same file alignment for fake and builtin DLLs.", 1 },';
3411 printf '%s\n' '+ { "Michael Müller", "tools/winebuild: Add syscall thunks for 64 bit.", 1 },';
3412 printf '%s\n' '+ { "Paul Gofman", "ntdll: Call NtOpenFile through syscall thunk.", 1 },';
3413 ) >> "$patchlist"
3414fi
3415
3416# Patchset ntdll-RtlCreateUserThread
3417# |
3418# | This patchset has the following (direct or indirect) dependencies:
3419# | * Staging, advapi32-CreateRestrictedToken, advapi32-Token_Integrity_Level, ntdll-ThreadTime, ntdll-Hide_Wine_Exports,
3420# | ntdll-User_Shared_Data, winebuild-Fake_Dlls
3421# |
3422# | This patchset fixes the following Wine bugs:
3423# | * [#45571] League of Legends 8.12+ fails to start a game (anticheat engine, hooking of NtCreateThread/Ex)
3424# |
3425# | Modified files:
3426# | * dlls/ntdll/ntdll.spec, dlls/ntdll/thread.c, include/winternl.h
3427# |
3428if test "$enable_ntdll_RtlCreateUserThread" -eq 1; then
3429 patch_apply ntdll-RtlCreateUserThread/0001-ntdll-Refactor-RtlCreateUserThread-into-NtCreateThre.patch
3430 (
3431 printf '%s\n' '+ { "Andrew Wesie", "ntdll: Refactor RtlCreateUserThread into NtCreateThreadEx.", 1 },';
3432 ) >> "$patchlist"
3433fi
3434
3435# Patchset ntdll-Exception
3436# |
3437# | This patchset fixes the following Wine bugs:
3438# | * [#44819] Throw second DBG_PRINTEXCEPTION_C when debugging.
3439# |
3440# | Modified files:
3441# | * dlls/kernelbase/debug.c, dlls/ntdll/tests/exception.c
3442# |
3443if test "$enable_ntdll_Exception" -eq 1; then
3444 patch_apply ntdll-Exception/0002-ntdll-OutputDebugString-should-throw-the-exception-a.patch
3445 (
3446 printf '%s\n' '+ { "Sebastian Lackner", "ntdll: OutputDebugString should throw the exception a second time, if a debugger is attached.", 1 },';
3447 ) >> "$patchlist"
3448fi
3449
3450# Patchset ntdll-SystemRoot_Symlink
3451# |
3452# | This patchset has the following (direct or indirect) dependencies:
3453# | * ntdll-Exception
3454# |
3455# | Modified files:
3456# | * dlls/ntdll/om.c
3457# |
3458if test "$enable_ntdll_SystemRoot_Symlink" -eq 1; then
3459 patch_apply ntdll-SystemRoot_Symlink/0001-ntdll-Add-special-handling-for-SystemRoot-to-satisfy.patch
3460 (
3461 printf '%s\n' '+ { "Sebastian Lackner", "ntdll: Add special handling for \\SystemRoot to satisfy MSYS2 case-insensitive system check.", 1 },';
3462 ) >> "$patchlist"
3463fi
3464
3465# Patchset server-Realtime_Priority
3466# |
3467# | This patchset has the following (direct or indirect) dependencies:
3468# | * ntdll-ThreadTime
3469# |
3470# | Modified files:
3471# | * server/Makefile.in, server/main.c, server/scheduler.c, server/thread.c, server/thread.h
3472# |
3473if test "$enable_server_Realtime_Priority" -eq 1; then
3474 patch_apply server-Realtime_Priority/0001-wineserver-Draft-to-implement-priority-levels-throug.patch
3475 (
3476 printf '%s\n' '+ { "Joakim Hernberg", "wineserver: Draft to implement priority levels through POSIX scheduling policies on linux.", 1 },';
3477 ) >> "$patchlist"
3478fi
3479
3480# Patchset ntdll-Threading
3481# |
3482# | Modified files:
3483# | * dlls/ntdll/thread.c
3484# |
3485if test "$enable_ntdll_Threading" -eq 1; then
3486 patch_apply ntdll-Threading/0001-ntdll-Fix-race-condition-when-threads-are-killed-dur.patch
3487 (
3488 printf '%s\n' '+ { "Sebastian Lackner", "ntdll: Fix race-condition when threads are killed during shutdown.", 1 },';
3489 ) >> "$patchlist"
3490fi
3491
3492# Patchset server-Key_State
3493# |
3494# | This patchset fixes the following Wine bugs:
3495# | * [#31899] Implement locking and synchronization of key states
3496# | * [#35907] Fix caps lock state issues with multiple processes
3497# |
3498# | Modified files:
3499# | * server/queue.c
3500# |
3501if test "$enable_server_Key_State" -eq 1; then
3502 patch_apply server-Key_State/0001-server-Introduce-a-helper-function-to-update-the-thr.patch
3503 patch_apply server-Key_State/0002-server-Implement-locking-and-synchronization-of-keys.patch
3504 (
3505 printf '%s\n' '+ { "Sebastian Lackner", "server: Introduce a helper function to update the thread_input key state.", 1 },';
3506 printf '%s\n' '+ { "Sebastian Lackner", "server: Implement locking and synchronization of keystate buffer.", 3 },';
3507 ) >> "$patchlist"
3508fi
3509
3510# Patchset server-PeekMessage
3511# |
3512# | This patchset fixes the following Wine bugs:
3513# | * [#28884] GetMessage should remove already seen messages with higher priority
3514# |
3515# | Modified files:
3516# | * dlls/user32/tests/msg.c, server/queue.c
3517# |
3518if test "$enable_server_PeekMessage" -eq 1; then
3519 patch_apply server-PeekMessage/0001-server-Fix-handling-of-GetMessage-after-previous-Pee.patch
3520 (
3521 printf '%s\n' '+ { "Sebastian Lackner", "server: Fix handling of GetMessage after previous PeekMessage call.", 3 },';
3522 ) >> "$patchlist"
3523fi
3524
3525# Patchset server-Signal_Thread
3526# |
3527# | Modified files:
3528# | * server/thread.c, server/thread.h
3529# |
3530if test "$enable_server_Signal_Thread" -eq 1; then
3531 patch_apply server-Signal_Thread/0001-server-Do-not-signal-thread-until-it-is-really-gone.patch
3532 (
3533 printf '%s\n' '+ { "Sebastian Lackner", "server: Do not signal violently terminated threads until they are really gone.", 1 },';
3534 ) >> "$patchlist"
3535fi
3536
3537# Patchset server-Shared_Memory
3538# |
3539# | This patchset has the following (direct or indirect) dependencies:
3540# | * ntdll-Threading, server-Key_State, server-PeekMessage, server-Signal_Thread
3541# |
3542# | Modified files:
3543# | * dlls/ntdll/ntdll_misc.h, dlls/ntdll/server.c, dlls/ntdll/thread.c, dlls/ntdll/virtual.c, dlls/user32/focus.c,
3544# | dlls/user32/input.c, dlls/user32/message.c, dlls/user32/user_private.h, include/wine/server.h, include/winternl.h,
3545# | server/fd.c, server/file.h, server/main.c, server/mapping.c, server/protocol.def, server/queue.c, server/thread.c,
3546# | server/thread.h
3547# |
3548if test "$enable_server_Shared_Memory" -eq 1; then
3549 patch_apply server-Shared_Memory/0001-ntdll-Implement-virtual_map_shared_memory.patch
3550 patch_apply server-Shared_Memory/0002-server-Implement-support-for-global-and-local-shared.patch
3551 patch_apply server-Shared_Memory/0003-user32-Get-rid-of-wineserver-call-for-GetInputState.patch
3552 patch_apply server-Shared_Memory/0004-user32-Avoid-unnecessary-wineserver-calls-in-PeekMes.patch
3553 patch_apply server-Shared_Memory/0005-user32-Get-rid-of-wineserver-call-for-GetLastInputIn.patch
3554 patch_apply server-Shared_Memory/0006-ntdll-Only-enable-wineserver-shared-memory-communica.patch
3555 patch_apply server-Shared_Memory/0007-server-Store-a-list-of-associated-queues-for-each-th.patch
3556 patch_apply server-Shared_Memory/0008-user32-Get-rid-of-wineserver-call-for-GetActiveWindo.patch
3557 (
3558 printf '%s\n' '+ { "Sebastian Lackner", "ntdll: Implement virtual_map_shared_memory.", 1 },';
3559 printf '%s\n' '+ { "Michael Müller", "server: Implement support for global and local shared memory blocks based on memfd.", 1 },';
3560 printf '%s\n' '+ { "Sebastian Lackner", "user32: Get rid of wineserver call for GetInputState.", 1 },';
3561 printf '%s\n' '+ { "Sebastian Lackner", "user32: Avoid unnecessary wineserver calls in PeekMessage/GetMessage.", 1 },';
3562 printf '%s\n' '+ { "Michael Müller", "user32: Get rid of wineserver call for GetLastInputInfo.", 1 },';
3563 printf '%s\n' '+ { "Sebastian Lackner", "ntdll: Only enable wineserver shared memory communication when a special environment variable is set.", 1 },';
3564 printf '%s\n' '+ { "Sebastian Lackner", "server: Store a list of associated queues for each thread input.", 1 },';
3565 printf '%s\n' '+ { "Sebastian Lackner", "user32: Get rid of wineserver call for GetActiveWindow, GetFocus, GetCapture.", 1 },';
3566 ) >> "$patchlist"
3567fi
3568
3569# Patchset ws2_32-WSACleanup
3570# |
3571# | This patchset fixes the following Wine bugs:
3572# | * [#18670] Properly close sockets when WSACleanup is called
3573# |
3574# | Modified files:
3575# | * dlls/ntdll/ntdll.spec, dlls/ntdll/server.c, dlls/ws2_32/socket.c, dlls/ws2_32/tests/sock.c, include/wine/server.h,
3576# | server/protocol.def, server/sock.c
3577# |
3578if test "$enable_ws2_32_WSACleanup" -eq 1; then
3579 patch_apply ws2_32-WSACleanup/0001-ws2_32-Proper-WSACleanup-implementation-using-winese.patch
3580 patch_apply ws2_32-WSACleanup/0002-ws2_32-Invalidate-client-side-file-descriptor-cache-.patch
3581 (
3582 printf '%s\n' '+ { "Matt Durgavich", "ws2_32: Proper WSACleanup implementation using wineserver function.", 2 },';
3583 printf '%s\n' '+ { "Sebastian Lackner", "ws2_32: Invalidate client-side file descriptor cache in WSACleanup.", 1 },';
3584 ) >> "$patchlist"
3585fi
3586
3587# Patchset eventfd_synchronization
3588# |
3589# | This patchset has the following (direct or indirect) dependencies:
3590# | * Staging, advapi32-CreateRestrictedToken, advapi32-Token_Integrity_Level, kernel32-K32GetPerformanceInfo, ntdll-
3591# | Junction_Points, ntdll-ThreadTime, ntdll-Hide_Wine_Exports, ntdll-User_Shared_Data, winebuild-Fake_Dlls, ntdll-
3592# | RtlCreateUserThread, ntdll-Exception, ntdll-SystemRoot_Symlink, server-Realtime_Priority, ntdll-Threading, server-
3593# | Key_State, server-PeekMessage, server-Signal_Thread, server-Shared_Memory, ws2_32-WSACleanup
3594# |
3595# | This patchset fixes the following Wine bugs:
3596# | * [#36692] Many multi-threaded applications have poor performance due to heavy use of synchronization primitives
3597# |
3598# | Modified files:
3599# | * README.esync, configure.ac, dlls/kernel32/tests/sync.c, dlls/ntdll/Makefile.in, dlls/ntdll/critsection.c,
3600# | dlls/ntdll/esync.c, dlls/ntdll/esync.h, dlls/ntdll/loader.c, dlls/ntdll/ntdll.spec, dlls/ntdll/ntdll_misc.h,
3601# | dlls/ntdll/om.c, dlls/ntdll/server.c, dlls/ntdll/sync.c, dlls/ntdll/thread.c, dlls/rpcrt4/rpc_server.c,
3602# | dlls/user32/hook.c, dlls/wineandroid.drv/window.c, dlls/winemac.drv/macdrv_main.c, dlls/winex11.drv/x11drv_main.c,
3603# | server/Makefile.in, server/async.c, server/atom.c, server/change.c, server/clipboard.c, server/completion.c,
3604# | server/console.c, server/debugger.c, server/device.c, server/directory.c, server/esync.c, server/esync.h,
3605# | server/event.c, server/fd.c, server/file.c, server/file.h, server/handle.c, server/hook.c, server/mailslot.c,
3606# | server/main.c, server/mapping.c, server/mutex.c, server/named_pipe.c, server/object.h, server/process.c,
3607# | server/process.h, server/protocol.def, server/queue.c, server/registry.c, server/request.c, server/semaphore.c,
3608# | server/serial.c, server/signal.c, server/snapshot.c, server/sock.c, server/symlink.c, server/thread.c, server/thread.h,
3609# | server/timer.c, server/token.c, server/winstation.c
3610# |
3611if test "$enable_eventfd_synchronization" -eq 1; then
3612 patch_apply eventfd_synchronization/0001-configure-Check-for-sys-eventfd.h-ppoll-and-shm_open.patch
3613 patch_apply eventfd_synchronization/0002-server-Create-server-objects-for-eventfd-based-synch.patch
3614 patch_apply eventfd_synchronization/0003-ntdll-Create-eventfd-based-objects-for-semaphores.patch
3615 patch_apply eventfd_synchronization/0004-ntdll-Store-esync-objects-locally.patch
3616 patch_apply eventfd_synchronization/0005-ntdll-Implement-NtReleaseSemaphore.patch
3617 patch_apply eventfd_synchronization/0006-ntdll-Close-esync-objects.patch
3618 patch_apply eventfd_synchronization/0007-ntdll-Implement-waiting-on-esync-objects.patch
3619 patch_apply eventfd_synchronization/0008-ntdll-Create-esync-objects-for-events.patch
3620 patch_apply eventfd_synchronization/0009-ntdll-Implement-NtSetEvent.patch
3621 patch_apply eventfd_synchronization/0010-ntdll-Implement-NtResetEvent.patch
3622 patch_apply eventfd_synchronization/0011-ntdll-Implement-NtPulseEvent.patch
3623 patch_apply eventfd_synchronization/0012-ntdll-Implement-waiting-on-events.patch
3624 patch_apply eventfd_synchronization/0013-server-Add-an-object-operation-to-grab-the-esync-fil.patch
3625 patch_apply eventfd_synchronization/0014-server-Add-a-request-to-get-the-eventfd-file-descrip.patch
3626 patch_apply eventfd_synchronization/0015-server-Create-eventfd-file-descriptors-for-process-o.patch
3627 patch_apply eventfd_synchronization/0016-ntdll-server-Implement-waiting-on-server-bound-objec.patch
3628 patch_apply eventfd_synchronization/0017-server-Create-eventfd-file-descriptors-for-event-obj.patch
3629 patch_apply eventfd_synchronization/0018-server-Allow-re-setting-esync-events-on-the-server-s.patch
3630 patch_apply eventfd_synchronization/0019-ntdll-Try-again-if-poll-returns-EINTR.patch
3631 patch_apply eventfd_synchronization/0020-server-Create-eventfd-file-descriptors-for-thread-ob.patch
3632 patch_apply eventfd_synchronization/0021-rpcrt4-Avoid-closing-the-server-thread-handle-while-.patch
3633 patch_apply eventfd_synchronization/0022-server-Create-eventfd-file-descriptors-for-message-q.patch
3634 patch_apply eventfd_synchronization/0023-ntdll-wineandroid.drv-winemac.drv-winex11.drv-Store-.patch
3635 patch_apply eventfd_synchronization/0024-server-ntdll-Also-wait-on-the-queue-fd-when-waiting-.patch
3636 patch_apply eventfd_synchronization/0025-server-Create-eventfd-descriptors-for-device-manager.patch
3637 patch_apply eventfd_synchronization/0026-ntdll-Create-esync-objects-for-mutexes.patch
3638 patch_apply eventfd_synchronization/0027-ntdll-Implement-NtReleaseMutant.patch
3639 patch_apply eventfd_synchronization/0028-ntdll-Implement-waiting-on-mutexes.patch
3640 patch_apply eventfd_synchronization/0029-ntdll-Implement-wait-all.patch
3641 patch_apply eventfd_synchronization/0030-esync-Add-a-README.patch
3642 patch_apply eventfd_synchronization/0031-ntdll-Implement-NtSignalAndWaitForSingleObject.patch
3643 patch_apply eventfd_synchronization/0032-server-ntdll-Also-store-the-esync-type-in-the-server.patch
3644 patch_apply eventfd_synchronization/0033-ntdll-server-Implement-NtOpenSemaphore.patch
3645 patch_apply eventfd_synchronization/0034-ntdll-Implement-NtOpenEvent.patch
3646 patch_apply eventfd_synchronization/0035-ntdll-Implement-NtOpenMutant.patch
3647 patch_apply eventfd_synchronization/0036-ntdll-Record-the-current-count-of-a-semaphore-locall.patch
3648 patch_apply eventfd_synchronization/0037-server-Implement-esync_map_access.patch
3649 patch_apply eventfd_synchronization/0038-server-Alter-conditions-in-is_queue_hung.patch
3650 patch_apply eventfd_synchronization/0039-ntdll-server-Allow-DuplicateHandle-to-succeed-by-imp.patch
3651 patch_apply eventfd_synchronization/0040-server-Create-eventfd-descriptors-for-timers.patch
3652 patch_apply eventfd_synchronization/0041-server-Allocate-shared-memory-segments-for-semaphore.patch
3653 patch_apply eventfd_synchronization/0042-ntdll-Use-shared-memory-segments-to-store-semaphore-.patch
3654 patch_apply eventfd_synchronization/0043-ntdll-Lock-creating-and-opening-objects-with-volatil.patch
3655 patch_apply eventfd_synchronization/0044-server-ntdll-Pass-the-shared-memory-index-back-from-.patch
3656 patch_apply eventfd_synchronization/0045-server-ntdll-Implement-alertable-waits.patch
3657 patch_apply eventfd_synchronization/0046-esync-Update-README.patch
3658 patch_apply eventfd_synchronization/0047-kernel32-tests-Mark-some-existing-tests-as-failing-u.patch
3659 patch_apply eventfd_synchronization/0048-kernel32-tests-Add-some-semaphore-tests.patch
3660 patch_apply eventfd_synchronization/0049-kernel32-tests-Add-some-event-tests.patch
3661 patch_apply eventfd_synchronization/0050-kernel32-tests-Add-some-mutex-tests.patch
3662 patch_apply eventfd_synchronization/0051-kernel32-tests-Add-some-tests-for-wait-timeouts.patch
3663 patch_apply eventfd_synchronization/0052-ntdll-Go-through-the-server-if-necessary-when-perfor.patch
3664 patch_apply eventfd_synchronization/0053-server-Create-eventfd-descriptors-for-console_input_.patch
3665 patch_apply eventfd_synchronization/0054-server-Alter-conditions-in-is_queue_hung-again.patch
3666 patch_apply eventfd_synchronization/0055-ntdll-Let-the-server-know-when-we-are-doing-a-messag.patch
3667 patch_apply eventfd_synchronization/0056-ntdll-Avoid-server_select-when-waiting-for-critical-.patch
3668 patch_apply eventfd_synchronization/0057-user32-Remove-hooks-that-time-out.patch
3669 patch_apply eventfd_synchronization/0058-server-Don-t-check-for-a-hung-queue-when-sending-low.patch
3670 patch_apply eventfd_synchronization/0059-kernel32-tests-Zigzag-test.patch
3671 patch_apply eventfd_synchronization/0060-server-Try-to-remove-a-pre-xisting-shm-file.patch
3672 patch_apply eventfd_synchronization/0061-ntdll-Implement-NtQuerySemaphore.patch
3673 patch_apply eventfd_synchronization/0062-ntdll-Implement-NtQueryEvent.patch
3674 patch_apply eventfd_synchronization/0063-ntdll-Implement-NtQueryMutant.patch
3675 patch_apply eventfd_synchronization/0064-server-Create-eventfd-descriptors-for-pseudo-fd-obje.patch
3676 patch_apply eventfd_synchronization/0065-ntdll-Cache-the-esync-struct-itself-instead-of-a-poi.patch
3677 patch_apply eventfd_synchronization/0066-esync-Update-README.patch
3678 patch_apply eventfd_synchronization/0067-esync-Add-note-about-file-limits-not-being-raised-wh.patch
3679 patch_apply eventfd_synchronization/0068-ntdll-Ignore-pseudo-handles.patch
3680 patch_apply eventfd_synchronization/0069-ntdll-Try-to-avoid-poll-for-uncontended-objects.patch
3681 patch_apply eventfd_synchronization/0070-ntdll-Store-an-event-s-signaled-state-internally.patch
3682 patch_apply eventfd_synchronization/0071-ntdll-Fix-growing-the-shm_addrs-array.patch
3683 patch_apply eventfd_synchronization/0072-server-Update-the-shared-memory-state-when-re-settin.patch
3684 patch_apply eventfd_synchronization/0073-ntdll-Fix-a-missing-break-statement.patch
3685 patch_apply eventfd_synchronization/0074-ntdll-server-Abort-if-esync-is-enabled-for-the-serve.patch
3686 patch_apply eventfd_synchronization/0075-esync-Update-README.patch
3687 patch_apply eventfd_synchronization/0076-ntdll-Correctly-allocate-the-esync-handle-cache.patch
3688 patch_apply eventfd_synchronization/0077-ntdll-server-Specify-EFD_SEMAPHORE-on-the-server-sid.patch
3689 patch_apply eventfd_synchronization/0078-ntdll-server-Initialize-the-shared-memory-portion-on.patch
3690 patch_apply eventfd_synchronization/0079-ntdll-server-Revert-to-old-implementation-of-hung-qu.patch
3691 patch_apply eventfd_synchronization/0080-ntdll-Fix-a-couple-of-misplaced-global-variables.patch
3692 patch_apply eventfd_synchronization/0081-ntdll-Yield-during-PulseEvent.patch
3693 patch_apply eventfd_synchronization/0082-ntdll-server-Check-the-value-of-WINEESYNC-instead-of.patch
3694 patch_apply eventfd_synchronization/0083-esync-Update-README.patch
3695 patch_apply eventfd_synchronization/0084-server-Use-default_fd_get_esync_fd-for-directory-cha.patch
3696 patch_apply eventfd_synchronization/0085-server-Only-signal-the-APC-fd-for-user-APCs.patch
3697 patch_apply eventfd_synchronization/0086-ntdll-Check-the-APC-fd-first.patch
3698 patch_apply eventfd_synchronization/0087-ntdll-esync-Lock-accessing-the-shm_addrs-array.patch
3699 patch_apply eventfd_synchronization/0088-ntdll-Get-rid-of-the-per-event-spinlock-for-auto-res.patch
3700 patch_apply eventfd_synchronization/0089-ntdll-server-Abandon-esync-mutexes-on-thread-exit.patch
3701 (
3702 printf '%s\n' '+ { "Zebediah Figura", "configure: Check for sys/eventfd.h, ppoll(), and shm_open().", 1 },';
3703 printf '%s\n' '+ { "Zebediah Figura", "server: Create server objects for eventfd-based synchronization objects.", 1 },';
3704 printf '%s\n' '+ { "Zebediah Figura", "ntdll: Create eventfd-based objects for semaphores.", 1 },';
3705 printf '%s\n' '+ { "Zebediah Figura", "ntdll: Store esync objects locally.", 1 },';
3706 printf '%s\n' '+ { "Zebediah Figura", "ntdll: Implement NtReleaseSemaphore().", 1 },';
3707 printf '%s\n' '+ { "Zebediah Figura", "ntdll: Close esync objects.", 1 },';
3708 printf '%s\n' '+ { "Zebediah Figura", "ntdll: Implement waiting on esync objects.", 1 },';
3709 printf '%s\n' '+ { "Zebediah Figura", "ntdll: Create esync objects for events.", 1 },';
3710 printf '%s\n' '+ { "Zebediah Figura", "ntdll: Implement NtSetEvent().", 1 },';
3711 printf '%s\n' '+ { "Zebediah Figura", "ntdll: Implement NtResetEvent().", 1 },';
3712 printf '%s\n' '+ { "Zebediah Figura", "ntdll: Implement NtPulseEvent().", 1 },';
3713 printf '%s\n' '+ { "Zebediah Figura", "ntdll: Implement waiting on events.", 1 },';
3714 printf '%s\n' '+ { "Zebediah Figura", "server: Add an object operation to grab the esync file descriptor.", 1 },';
3715 printf '%s\n' '+ { "Zebediah Figura", "server: Add a request to get the eventfd file descriptor associated with a waitable handle.", 1 },';
3716 printf '%s\n' '+ { "Zebediah Figura", "server: Create eventfd file descriptors for process objects.", 1 },';
3717 printf '%s\n' '+ { "Zebediah Figura", "ntdll, server: Implement waiting on server-bound objects.", 1 },';
3718 printf '%s\n' '+ { "Zebediah Figura", "server: Create eventfd file descriptors for event objects.", 1 },';
3719 printf '%s\n' '+ { "Zebediah Figura", "server: Allow (re)setting esync events on the server side.", 1 },';
3720 printf '%s\n' '+ { "Zebediah Figura", "ntdll: Try again if poll() returns EINTR.", 1 },';
3721 printf '%s\n' '+ { "Zebediah Figura", "server: Create eventfd file descriptors for thread objects.", 1 },';
3722 printf '%s\n' '+ { "Zebediah Figura", "rpcrt4: Avoid closing the server thread handle while it is being waited on.", 1 },';
3723 printf '%s\n' '+ { "Zebediah Figura", "server: Create eventfd file descriptors for message queues.", 1 },';
3724 printf '%s\n' '+ { "Zebediah Figura", "ntdll, wineandroid.drv, winemac.drv, winex11.drv: Store the thread'\''s queue fd in ntdll.", 1 },';
3725 printf '%s\n' '+ { "Zebediah Figura", "server, ntdll: Also wait on the queue fd when waiting for driver events.", 1 },';
3726 printf '%s\n' '+ { "Zebediah Figura", "server: Create eventfd descriptors for device manager objects.", 1 },';
3727 printf '%s\n' '+ { "Zebediah Figura", "ntdll: Create esync objects for mutexes.", 1 },';
3728 printf '%s\n' '+ { "Zebediah Figura", "ntdll: Implement NtReleaseMutant().", 1 },';
3729 printf '%s\n' '+ { "Zebediah Figura", "ntdll: Implement waiting on mutexes.", 1 },';
3730 printf '%s\n' '+ { "Zebediah Figura", "ntdll: Implement wait-all.", 1 },';
3731 printf '%s\n' '+ { "Zebediah Figura", "esync: Add a README.", 1 },';
3732 printf '%s\n' '+ { "Zebediah Figura", "ntdll: Implement NtSignalAndWaitForSingleObject().", 1 },';
3733 printf '%s\n' '+ { "Zebediah Figura", "server, ntdll: Also store the esync type in the server.", 1 },';
3734 printf '%s\n' '+ { "Zebediah Figura", "ntdll, server: Implement NtOpenSemaphore().", 1 },';
3735 printf '%s\n' '+ { "Zebediah Figura", "ntdll: Implement NtOpenEvent().", 1 },';
3736 printf '%s\n' '+ { "Zebediah Figura", "ntdll: Implement NtOpenMutant().", 1 },';
3737 printf '%s\n' '+ { "Zebediah Figura", "ntdll: Record the current count of a semaphore locally.", 1 },';
3738 printf '%s\n' '+ { "Zebediah Figura", "server: Implement esync_map_access().", 1 },';
3739 printf '%s\n' '+ { "Zebediah Figura", "server: Alter conditions in is_queue_hung().", 1 },';
3740 printf '%s\n' '+ { "Zebediah Figura", "ntdll, server: Allow DuplicateHandle() to succeed by implementing esync_get_esync_fd().", 1 },';
3741 printf '%s\n' '+ { "Zebediah Figura", "server: Create eventfd descriptors for timers.", 1 },';
3742 printf '%s\n' '+ { "Zebediah Figura", "server: Allocate shared memory segments for semaphores and mutexes.", 1 },';
3743 printf '%s\n' '+ { "Zebediah Figura", "ntdll: Use shared memory segments to store semaphore and mutex state.", 1 },';
3744 printf '%s\n' '+ { "Zebediah Figura", "ntdll: Lock creating and opening objects with volatile state.", 1 },';
3745 printf '%s\n' '+ { "Zebediah Figura", "server, ntdll: Pass the shared memory index back from get_esync_fd.", 1 },';
3746 printf '%s\n' '+ { "Zebediah Figura", "server, ntdll: Implement alertable waits.", 1 },';
3747 printf '%s\n' '+ { "Zebediah Figura", "esync: Update README.", 1 },';
3748 printf '%s\n' '+ { "Zebediah Figura", "kernel32/tests: Mark some existing tests as failing under esync.", 1 },';
3749 printf '%s\n' '+ { "Zebediah Figura", "kernel32/tests: Add some semaphore tests.", 1 },';
3750 printf '%s\n' '+ { "Zebediah Figura", "kernel32/tests: Add some event tests.", 1 },';
3751 printf '%s\n' '+ { "Zebediah Figura", "kernel32/tests: Add some mutex tests.", 1 },';
3752 printf '%s\n' '+ { "Zebediah Figura", "kernel32/tests: Add some tests for wait timeouts.", 1 },';
3753 printf '%s\n' '+ { "Zebediah Figura", "ntdll: Go through the server if necessary when performing event/semaphore/mutex ops.", 1 },';
3754 printf '%s\n' '+ { "Zebediah Figura", "server: Create eventfd descriptors for console_input_events objects.", 1 },';
3755 printf '%s\n' '+ { "Zebediah Figura", "server: Alter conditions in is_queue_hung(), again.", 1 },';
3756 printf '%s\n' '+ { "Zebediah Figura", "ntdll: Let the server know when we are doing a message wait.", 1 },';
3757 printf '%s\n' '+ { "Zebediah Figura", "ntdll: Avoid server_select() when waiting for critical sections.", 1 },';
3758 printf '%s\n' '+ { "Zebediah Figura", "user32: Remove hooks that time out.", 1 },';
3759 printf '%s\n' '+ { "Zebediah Figura", "server: Don'\''t check for a hung queue when sending low-level hooks.", 1 },';
3760 printf '%s\n' '+ { "Zebediah Figura", "kernel32/tests: Zigzag test.", 1 },';
3761 printf '%s\n' '+ { "Zebediah Figura", "=?UTF-8?q?server:=20Try=20to=20remove=20a=20pre?= =?UTF-8?q?=C3=ABxisting=20shm=20file.?=.", 1 },';
3762 printf '%s\n' '+ { "Zebediah Figura", "ntdll: Implement NtQuerySemaphore().", 1 },';
3763 printf '%s\n' '+ { "Zebediah Figura", "ntdll: Implement NtQueryEvent().", 1 },';
3764 printf '%s\n' '+ { "Zebediah Figura", "ntdll: Implement NtQueryMutant().", 1 },';
3765 printf '%s\n' '+ { "Zebediah Figura", "server: Create eventfd descriptors for pseudo-fd objects and use them for named pipes.", 1 },';
3766 printf '%s\n' '+ { "Zebediah Figura", "ntdll: Cache the esync struct itself instead of a pointer to it.", 1 },';
3767 printf '%s\n' '+ { "Zebediah Figura", "esync: Update README.", 1 },';
3768 printf '%s\n' '+ { "Mathieu Comandon", "esync: Add note about file limits not being raised when using systemd.", 1 },';
3769 printf '%s\n' '+ { "Zebediah Figura", "ntdll: Ignore pseudo-handles.", 1 },';
3770 printf '%s\n' '+ { "Zebediah Figura", "ntdll: Try to avoid poll() for uncontended objects.", 1 },';
3771 printf '%s\n' '+ { "Zebediah Figura", "ntdll: Store an event'\''s signaled state internally.", 1 },';
3772 printf '%s\n' '+ { "Zebediah Figura", "ntdll: Fix growing the shm_addrs array.", 1 },';
3773 printf '%s\n' '+ { "Zebediah Figura", "server: Update the shared memory state when (re)setting an event.", 1 },';
3774 printf '%s\n' '+ { "Zebediah Figura", "ntdll: Fix a missing break statement.", 1 },';
3775 printf '%s\n' '+ { "Zebediah Figura", "ntdll, server: Abort if esync is enabled for the server but not the client, and vice versa.", 1 },';
3776 printf '%s\n' '+ { "Zebediah Figura", "esync: Update README.", 1 },';
3777 printf '%s\n' '+ { "Zebediah Figura", "ntdll: Correctly allocate the esync handle cache.", 1 },';
3778 printf '%s\n' '+ { "Zebediah Figura", "ntdll, server: Specify EFD_SEMAPHORE on the server side.", 1 },';
3779 printf '%s\n' '+ { "Zebediah Figura", "ntdll, server: Initialize the shared memory portion on the server side.", 1 },';
3780 printf '%s\n' '+ { "Zebediah Figura", "ntdll, server: Revert to old implementation of hung queue detection.", 1 },';
3781 printf '%s\n' '+ { "Zebediah Figura", "ntdll: Fix a couple of misplaced global variables.", 1 },';
3782 printf '%s\n' '+ { "Zebediah Figura", "ntdll: Yield during PulseEvent().", 1 },';
3783 printf '%s\n' '+ { "Zebediah Figura", "ntdll, server: Check the value of WINEESYNC instead of just the presence.", 1 },';
3784 printf '%s\n' '+ { "Zebediah Figura", "esync: Update README.", 1 },';
3785 printf '%s\n' '+ { "Zebediah Figura", "server: Create esync file descriptors for true file objects and use them for directory change notifications.", 1 },';
3786 printf '%s\n' '+ { "Zebediah Figura", "server: Only signal the APC fd for user APCs.", 1 },';
3787 printf '%s\n' '+ { "Zebediah Figura", "ntdll: Check the APC fd first.", 1 },';
3788 printf '%s\n' '+ { "Zebediah Figura", "ntdll/esync: Lock accessing the shm_addrs array.", 1 },';
3789 printf '%s\n' '+ { "Zebediah Figura", "ntdll: Get rid of the per-event spinlock for auto-reset events.", 1 },';
3790 printf '%s\n' '+ { "Zebediah Figura", "ntdll, server: Abandon esync mutexes on thread exit.", 1 },';
3791 ) >> "$patchlist"
3792fi
3793
3794# Patchset explorer-Video_Registry_Key
3795# |
3796# | Modified files:
3797# | * dlls/advapi32/tests/registry.c, programs/explorer/desktop.c
3798# |
3799if test "$enable_explorer_Video_Registry_Key" -eq 1; then
3800 patch_apply explorer-Video_Registry_Key/0001-explorer-Create-CurrentControlSet-Control-Video-regi.patch
3801 (
3802 printf '%s\n' '+ { "Michael Müller", "explorer: Create CurrentControlSet\\Control\\Video registry key as non-volatile.", 1 },';
3803 ) >> "$patchlist"
3804fi
3805
3806# Patchset fonts-Missing_Fonts
3807# |
3808# | This patchset fixes the following Wine bugs:
3809# | * [#32323] Implement an Arial replacement font
3810# | * [#32342] Implement a Times New Roman replacement font
3811# | * [#20456] Implement a Courier New replacement font
3812# | * [#13829] Implement a Microsoft Yahei replacement font
3813# |
3814# | Modified files:
3815# | * COPYING.arial, COPYING.cour, COPYING.msyh, COPYING.times, LICENSE, fonts/Makefile.in, fonts/arial.sfd, fonts/arial.ttf,
3816# | fonts/cour.sfd, fonts/cour.ttf, fonts/msyh.sfd, fonts/msyh.ttf, fonts/times.sfd, fonts/times.ttf
3817# |
3818if test "$enable_fonts_Missing_Fonts" -eq 1; then
3819 patch_apply fonts-Missing_Fonts/0001-fonts-Add-Liberation-Sans-as-an-Arial-replacement.patch
3820 patch_apply fonts-Missing_Fonts/0002-fonts-Add-Liberation-Serif-as-an-Times-New-Roman-rep.patch
3821 patch_apply fonts-Missing_Fonts/0003-fonts-Add-Liberation-Mono-as-an-Courier-New-replacem.patch
3822 patch_apply fonts-Missing_Fonts/0004-fonts-Add-WenQuanYi-Micro-Hei-as-a-Microsoft-Yahei-r.patch
3823 patch_apply fonts-Missing_Fonts/0005-Add-licenses-for-fonts-as-separate-files.patch
3824 (
3825 printf '%s\n' '+ { "Torsten Kurbad", "fonts: Add Liberation Sans as an Arial replacement.", 2 },';
3826 printf '%s\n' '+ { "Sebastian Lackner", "fonts: Add Liberation Serif as an Times New Roman replacement.", 1 },';
3827 printf '%s\n' '+ { "Sebastian Lackner", "fonts: Add Liberation Mono as an Courier New replacement.", 1 },';
3828 printf '%s\n' '+ { "Erich E. Hoover", "fonts: Add WenQuanYi Micro Hei as a Microsoft Yahei replacement.", 1 },';
3829 printf '%s\n' '+ { "Michael Müller", "Add licenses for fonts as separate files.", 1 },';
3830 ) >> "$patchlist"
3831fi
3832
3833# Patchset fsutil-Stub_Program
3834# |
3835# | This patchset fixes the following Wine bugs:
3836# | * [#22749] Add stub for fsutil.exe hardlink command
3837# |
3838# | Modified files:
3839# | * programs/fsutil/Makefile.in, programs/fsutil/fsutil.rc, programs/fsutil/main.c, programs/fsutil/resources.h
3840# |
3841if test "$enable_fsutil_Stub_Program" -eq 1; then
3842 patch_apply fsutil-Stub_Program/0001-fsutil-Add-fsutil-program-with-support-for-creating-.patch
3843 (
3844 printf '%s\n' '+ { "Michael Müller", "fsutil: Add fsutil program with support for creating hard links.", 1 },';
3845 ) >> "$patchlist"
3846fi
3847
3848# Patchset gdi32-Lazy_Font_Initialization
3849# |
3850# | Modified files:
3851# | * dlls/gdi32/dc.c, dlls/gdi32/freetype.c
3852# |
3853if test "$enable_gdi32_Lazy_Font_Initialization" -eq 1; then
3854 patch_apply gdi32-Lazy_Font_Initialization/0001-gdi32-Perform-lazy-initialization-of-fonts-to-improv.patch
3855 (
3856 printf '%s\n' '+ { "Sebastian Lackner", "gdi32: Perform lazy initialization of fonts to improve startup performance.", 1 },';
3857 ) >> "$patchlist"
3858fi
3859
3860# Patchset gdi32-rotation
3861# |
3862# | This patchset fixes the following Wine bugs:
3863# | * [#34579] gdi32: fix for rotated Arc, ArcTo, Chord and Pie drawing problem
3864# | * [#35331] gdi32: fix for rotated ellipse
3865# |
3866# | Modified files:
3867# | * dlls/gdi32/dibdrv/graphics.c, dlls/gdi32/gdi_private.h
3868# |
3869if test "$enable_gdi32_rotation" -eq 1; then
3870 patch_apply gdi32-rotation/0001-gdi32-fix-for-rotated-Arc-ArcTo-Chord-and-Pie-drawin.patch
3871 patch_apply gdi32-rotation/0002-gdi32-fix-for-rotated-ellipse.patch
3872 (
3873 printf '%s\n' '+ { "Daniel Wendt", "gdi32: Fix for rotated Arc, ArcTo, Chord and Pie drawing problem.", 1 },';
3874 printf '%s\n' '+ { "Daniel Wendt", "gdi32: Fix for rotated ellipse.", 1 },';
3875 ) >> "$patchlist"
3876fi
3877
3878# Patchset gdiplus-Performance-Improvements
3879# |
3880# | Modified files:
3881# | * dlls/gdiplus/graphics.c
3882# |
3883if test "$enable_gdiplus_Performance_Improvements" -eq 1; then
3884 patch_apply gdiplus-Performance-Improvements/0001-gdiplus-Change-the-order-of-x-y-loops-in-the-scaler.patch
3885 patch_apply gdiplus-Performance-Improvements/0002-gdiplus-Change-multiplications-by-additions-in-the-x.patch
3886 patch_apply gdiplus-Performance-Improvements/0003-gdiplus-Remove-ceilf-floorf-calls-from-bilinear-scal.patch
3887 patch_apply gdiplus-Performance-Improvements/0004-gdiplus-Prefer-using-pre-multiplied-ARGB-data-in-the.patch
3888 (
3889 printf '%s\n' '+ { "Dmitry Timoshkov", "gdiplus: Change the order of x/y loops in the scaler.", 1 },';
3890 printf '%s\n' '+ { "Dmitry Timoshkov", "gdiplus: Change multiplications by additions in the x/y scaler loops.", 1 },';
3891 printf '%s\n' '+ { "Dmitry Timoshkov", "gdiplus: Remove ceilf/floorf calls from bilinear scaler.", 2 },';
3892 printf '%s\n' '+ { "Dmitry Timoshkov", "gdiplus: Prefer using pre-multiplied ARGB data in the scaler.", 1 },';
3893 ) >> "$patchlist"
3894fi
3895
3896# Patchset imagehlp-BindImageEx
3897# |
3898# | This patchset fixes the following Wine bugs:
3899# | * [#3591] Support for BindImageEx
3900# |
3901# | Modified files:
3902# | * dlls/imagehlp/modify.c, dlls/imagehlp/tests/image.c
3903# |
3904if test "$enable_imagehlp_BindImageEx" -eq 1; then
3905 patch_apply imagehlp-BindImageEx/0001-imagehlp-Implement-parts-of-BindImageEx-to-make-free.patch
3906 (
3907 printf '%s\n' '+ { "Bernhard Reiter", "imagehlp: Implement parts of BindImageEx to make freezing Python scripts work.", 1 },';
3908 ) >> "$patchlist"
3909fi
3910
3911# Patchset imm32-message_on_focus
3912# |
3913# | This patchset fixes the following Wine bugs:
3914# | * [#31157] imm32: Only generate 'WM_IME_SETCONTEXT' message if window has focus.
3915# |
3916# | Modified files:
3917# | * dlls/imm32/imm.c
3918# |
3919if test "$enable_imm32_message_on_focus" -eq 1; then
3920 patch_apply imm32-message_on_focus/0001-imm32-Only-generate-WM_IME_SETCONTEXT-message-if-win.patch
3921 (
3922 printf '%s\n' '+ { "Gijs Vermeulen", "imm32: Only generate '\''WM_IME_SETCONTEXT'\'' message if window has focus.", 1 },';
3923 ) >> "$patchlist"
3924fi
3925
3926# Patchset include-winsock
3927# |
3928# | Modified files:
3929# | * include/winsock.h
3930# |
3931if test "$enable_include_winsock" -eq 1; then
3932 patch_apply include-winsock/0001-include-Always-define-hton-ntoh-macros.patch
3933 (
3934 printf '%s\n' '+ { "Sebastian Lackner", "include: Always define hton/ntoh macros.", 1 },';
3935 ) >> "$patchlist"
3936fi
3937
3938# Patchset inseng-Implementation
3939# |
3940# | This patchset fixes the following Wine bugs:
3941# | * [#39456] Implement CIF reader and download functionality in inseng.dll
3942# |
3943# | Modified files:
3944# | * dlls/inseng/Makefile.in, dlls/inseng/icif.c, dlls/inseng/inf.c, dlls/inseng/inseng.spec, dlls/inseng/inseng_main.c,
3945# | dlls/inseng/inseng_private.h, include/inseng.idl
3946# |
3947if test "$enable_inseng_Implementation" -eq 1; then
3948 patch_apply inseng-Implementation/0001-inseng-Implement-CIF-reader-and-download-functions.patch
3949 (
3950 printf '%s\n' '+ { "Michael Müller", "inseng: Implement CIF reader and download functions.", 1 },';
3951 ) >> "$patchlist"
3952fi
3953
3954# Patchset iphlpapi-System_Ping
3955# |
3956# | This patchset fixes the following Wine bugs:
3957# | * [#8332] Fallback to system ping command when CAP_NET_RAW is not available
3958# |
3959# | Modified files:
3960# | * dlls/iphlpapi/icmp.c
3961# |
3962if test "$enable_iphlpapi_System_Ping" -eq 1; then
3963 patch_apply iphlpapi-System_Ping/0001-iphlpapi-Fallback-to-system-ping-when-ICMP-permissio.patch
3964 (
3965 printf '%s\n' '+ { "Sebastian Lackner", "iphlpapi: Fallback to system ping when ICMP permissions are not present.", 1 },';
3966 ) >> "$patchlist"
3967fi
3968
3969# Patchset server-File_Permissions
3970# |
3971# | This patchset has the following (direct or indirect) dependencies:
3972# | * ntdll-Junction_Points
3973# |
3974# | This patchset fixes the following Wine bugs:
3975# | * [#38970] Improve mapping of DACL to file permissions
3976# |
3977# | Modified files:
3978# | * dlls/advapi32/tests/security.c, dlls/ntdll/tests/file.c, server/fd.c, server/file.c
3979# |
3980if test "$enable_server_File_Permissions" -eq 1; then
3981 patch_apply server-File_Permissions/0001-server-Improve-STATUS_CANNOT_DELETE-checks-for-direc.patch
3982 patch_apply server-File_Permissions/0002-server-Allow-to-open-files-without-any-permission-bi.patch
3983 patch_apply server-File_Permissions/0003-server-When-creating-new-directories-temporarily-giv.patch
3984 patch_apply server-File_Permissions/0004-advapi32-tests-Add-tests-for-ACL-inheritance-in-Crea.patch
3985 patch_apply server-File_Permissions/0005-advapi32-tests-Add-ACL-inheritance-tests-for-creatin.patch
3986 patch_apply server-File_Permissions/0006-ntdll-tests-Added-tests-for-open-behaviour-on-readon.patch
3987 patch_apply server-File_Permissions/0007-server-FILE_WRITE_ATTRIBUTES-should-succeed-for-read.patch
3988 patch_apply server-File_Permissions/0008-server-Improve-mapping-of-DACL-to-file-permissions.patch
3989 (
3990 printf '%s\n' '+ { "Sebastian Lackner", "server: Improve STATUS_CANNOT_DELETE checks for directory case.", 1 },';
3991 printf '%s\n' '+ { "Sebastian Lackner", "server: Allow to open files without any permission bits.", 2 },';
3992 printf '%s\n' '+ { "Sebastian Lackner", "server: When creating new directories temporarily give read-permissions until they are opened.", 1 },';
3993 printf '%s\n' '+ { "Sebastian Lackner", "advapi32/tests: Add tests for ACL inheritance in CreateDirectoryA.", 1 },';
3994 printf '%s\n' '+ { "Sebastian Lackner", "advapi32/tests: Add ACL inheritance tests for creating subdirectories with NtCreateFile.", 1 },';
3995 printf '%s\n' '+ { "Qian Hong", "ntdll/tests: Added tests for open behaviour on readonly files.", 1 },';
3996 printf '%s\n' '+ { "Sebastian Lackner", "server: FILE_WRITE_ATTRIBUTES should succeed for readonly files.", 1 },';
3997 printf '%s\n' '+ { "Sebastian Lackner", "server: Improve mapping of DACL to file permissions.", 1 },';
3998 ) >> "$patchlist"
3999fi
4000
4001# Patchset ntdll-FileDispositionInformation
4002# |
4003# | This patchset has the following (direct or indirect) dependencies:
4004# | * ntdll-Junction_Points, server-File_Permissions
4005# |
4006# | Modified files:
4007# | * dlls/ntdll/tests/file.c, server/fd.c
4008# |
4009if test "$enable_ntdll_FileDispositionInformation" -eq 1; then
4010 patch_apply ntdll-FileDispositionInformation/0001-ntdll-tests-Added-tests-to-set-disposition-on-file-w.patch
4011 patch_apply ntdll-FileDispositionInformation/0002-server-Do-not-allow-to-set-disposition-on-file-which.patch
4012 patch_apply ntdll-FileDispositionInformation/0003-server-When-combining-root-and-name-make-sure-there-.patch
4013 (
4014 printf '%s\n' '+ { "Qian Hong", "ntdll/tests: Added tests to set disposition on file which is mapped to memory.", 1 },';
4015 printf '%s\n' '+ { "Qian Hong", "server: Do not allow to set disposition on file which has a file mapping.", 1 },';
4016 printf '%s\n' '+ { "Sebastian Lackner", "server: When combining root and name, make sure there is only one slash.", 2 },';
4017 ) >> "$patchlist"
4018fi
4019
4020# Patchset kernel32-CopyFileEx
4021# |
4022# | This patchset has the following (direct or indirect) dependencies:
4023# | * ntdll-Junction_Points, server-File_Permissions, ntdll-FileDispositionInformation
4024# |
4025# | This patchset fixes the following Wine bugs:
4026# | * [#22692] Add support for CopyFileEx progress callback
4027# | * [#22690] Allow to cancel a file operation via progress callback
4028# |
4029# | Modified files:
4030# | * dlls/kernel32/path.c, dlls/kernel32/tests/file.c
4031# |
4032if test "$enable_kernel32_CopyFileEx" -eq 1; then
4033 patch_apply kernel32-CopyFileEx/0001-kernel32-Add-support-for-progress-callback-in-CopyFi.patch
4034 (
4035 printf '%s\n' '+ { "Michael Müller", "kernel32: Add support for progress callback in CopyFileEx.", 1 },';
4036 ) >> "$patchlist"
4037fi
4038
4039# Patchset kernel32-Debugger
4040# |
4041# | Modified files:
4042# | * dlls/kernelbase/debug.c
4043# |
4044if test "$enable_kernel32_Debugger" -eq 1; then
4045 patch_apply kernel32-Debugger/0001-kernel32-Always-start-debugger-on-WinSta0.patch
4046 (
4047 printf '%s\n' '+ { "Sebastian Lackner", "kernel32: Always start debugger on WinSta0.", 1 },';
4048 ) >> "$patchlist"
4049fi
4050
4051# Patchset kernel32-FindFirstFile
4052# |
4053# | This patchset fixes the following Wine bugs:
4054# | * [#22635] Strip invalid characters from mask in FindFirstFileExW
4055# |
4056# | Modified files:
4057# | * dlls/kernel32/tests/file.c, dlls/kernelbase/file.c
4058# |
4059if test "$enable_kernel32_FindFirstFile" -eq 1; then
4060 patch_apply kernel32-FindFirstFile/0001-kernel32-Strip-invalid-characters-from-mask-in-FindF.patch
4061 patch_apply kernel32-FindFirstFile/0002-kernel32-tests-Add-tests-for-FindFirstFileA-with-inv.patch
4062 (
4063 printf '%s\n' '+ { "Michael Müller", "kernel32: Strip invalid characters from mask in FindFirstFileExW.", 1 },';
4064 printf '%s\n' '+ { "Michael Müller", "kernel32/tests: Add tests for FindFirstFileA with invalid characters.", 1 },';
4065 ) >> "$patchlist"
4066fi
4067
4068# Patchset kernel32-Job_Tests
4069# |
4070# | Modified files:
4071# | * dlls/kernel32/tests/process.c
4072# |
4073if test "$enable_kernel32_Job_Tests" -eq 1; then
4074 patch_apply kernel32-Job_Tests/0001-kernel32-tests-Add-tests-for-job-object-accounting.patch
4075 (
4076 printf '%s\n' '+ { "Mark Jansen", "kernel32/tests: Add tests for job object accounting.", 1 },';
4077 ) >> "$patchlist"
4078fi
4079
4080# Patchset kernel32-PE_Loader_Fixes
4081# |
4082# | This patchset fixes the following Wine bugs:
4083# | * [#42125] Various PE loader fixes for 8k demos
4084# |
4085# | Modified files:
4086# | * dlls/kernel32/process.c, dlls/kernel32/tests/loader.c, dlls/ntdll/virtual.c, server/mapping.c
4087# |
4088if test "$enable_kernel32_PE_Loader_Fixes" -eq 1; then
4089 patch_apply kernel32-PE_Loader_Fixes/0001-server-All-fields-up-to-CheckSum-are-mandatory-regar.patch
4090 patch_apply kernel32-PE_Loader_Fixes/0002-ntdll-If-PE-image-size-is-larger-than-the-backed-fil.patch
4091 patch_apply kernel32-PE_Loader_Fixes/0003-kernel32-On-process-entry-store-PEB-address-in-ebx.patch
4092 patch_apply kernel32-PE_Loader_Fixes/0005-kernel32-tests-Add-a-PE-test-image-that-resembles-fo.patch
4093 (
4094 printf '%s\n' '+ { "Dmitry Timoshkov", "server: All fields up to CheckSum are mandatory regardless of SizeOfOptionalHeader value.", 1 },';
4095 printf '%s\n' '+ { "Dmitry Timoshkov", "ntdll: If PE image size is larger than the backed file size then treat file as removable.", 1 },';
4096 printf '%s\n' '+ { "Dmitry Timoshkov", "kernel32: On process entry store PEB address in %ebx.", 1 },';
4097 printf '%s\n' '+ { "Dmitry Timoshkov", "kernel32/tests: Add a PE test image that resembles format of some of 8k demos.", 1 },';
4098 ) >> "$patchlist"
4099fi
4100
4101# Patchset kernel32-Processor_Group
4102# |
4103# | This patchset has the following (direct or indirect) dependencies:
4104# | * api-ms-win-Stub_DLLs
4105# |
4106# | Modified files:
4107# | * dlls/api-ms-win-core-kernel32-legacy-l1-1-0/api-ms-win-core-kernel32-legacy-l1-1-0.spec, dlls/api-ms-win-core-
4108# | kernel32-legacy-l1-1-1/api-ms-win-core-kernel32-legacy-l1-1-1.spec, dlls/kernel32/cpu.c, dlls/kernel32/kernel32.spec,
4109# | dlls/kernel32/tests/process.c, dlls/kernelbase/thread.c, include/winnt.h
4110# |
4111if test "$enable_kernel32_Processor_Group" -eq 1; then
4112 patch_apply kernel32-Processor_Group/0001-kernel32-Implement-some-processor-group-functions.patch
4113 patch_apply kernel32-Processor_Group/0002-kernel32-Add-stub-for-SetThreadIdealProcessorEx.patch
4114 (
4115 printf '%s\n' '+ { "Michael Müller", "kernel32: Implement some processor group functions.", 1 },';
4116 printf '%s\n' '+ { "Michael Müller", "kernel32: Add stub for SetThreadIdealProcessorEx.", 1 },';
4117 ) >> "$patchlist"
4118fi
4119
4120# Patchset kernel32-SetProcessDEPPolicy
4121# |
4122# | This patchset fixes the following Wine bugs:
4123# | * [#24125] kernel32: Implement SetProcessDEPPolicy.
4124# |
4125# | Modified files:
4126# | * dlls/kernel32/process.c
4127# |
4128if test "$enable_kernel32_SetProcessDEPPolicy" -eq 1; then
4129 patch_apply kernel32-SetProcessDEPPolicy/0001-kernel32-Implement-SetProcessDEPPolicy.patch
4130 patch_apply kernel32-SetProcessDEPPolicy/0002-kernel32-Implement-GetSystemDEPPolicy.patch
4131 patch_apply kernel32-SetProcessDEPPolicy/0003-kernel32-Make-system-DEP-policy-affect-GetProcessDEP.patch
4132 (
4133 printf '%s\n' '+ { "Olivier F. R. Dierick", "kernel32: Implement SetProcessDEPPolicy().", 1 },';
4134 printf '%s\n' '+ { "Olivier F. R. Dierick", "kernel32: Implement GetSystemDEPPolicy().", 1 },';
4135 printf '%s\n' '+ { "Olivier F. R. Dierick", "kernel32: Make system DEP policy affect GetProcessDEPPolicy().", 1 },';
4136 ) >> "$patchlist"
4137fi
4138
4139# Patchset krnl386.exe16-GDT_LDT_Emulation
4140# |
4141# | This patchset fixes the following Wine bugs:
4142# | * [#30237] Implement emulation of GDT and LDT access in Win98 mode
4143# |
4144# | Modified files:
4145# | * dlls/krnl386.exe16/instr.c
4146# |
4147if test "$enable_krnl386_exe16_GDT_LDT_Emulation" -eq 1; then
4148 patch_apply krnl386.exe16-GDT_LDT_Emulation/0001-krnl386.exe16-Emulate-GDT-and-LDT-access.patch
4149 (
4150 printf '%s\n' '+ { "Michael Müller", "krnl386.exe16: Emulate GDT and LDT access.", 1 },';
4151 ) >> "$patchlist"
4152fi
4153
4154# Patchset krnl386.exe16-Invalid_Console_Handles
4155# |
4156# | This patchset fixes the following Wine bugs:
4157# | * [#7106] Translate all invalid console handles into usable DOS handles
4158# |
4159# | Modified files:
4160# | * dlls/krnl386.exe16/file.c
4161# |
4162if test "$enable_krnl386_exe16_Invalid_Console_Handles" -eq 1; then
4163 patch_apply krnl386.exe16-Invalid_Console_Handles/0001-krnl386.exe16-Really-translate-all-invalid-console-h.patch
4164 (
4165 printf '%s\n' '+ { "Michael Müller", "krnl386.exe16: Really translate all invalid console handles into usable DOS handles.", 1 },';
4166 ) >> "$patchlist"
4167fi
4168
4169# Patchset libs-Debug_Channel
4170# |
4171# | Modified files:
4172# | * dlls/ntdll/debugtools.c
4173# |
4174if test "$enable_libs_Debug_Channel" -eq 1; then
4175 patch_apply libs-Debug_Channel/0001-libwine-Add-process-specific-debug-channels.patch
4176 (
4177 printf '%s\n' '+ { "Michael Müller", "libwine: Add process specific debug channels.", 1 },';
4178 ) >> "$patchlist"
4179fi
4180
4181# Patchset loader-KeyboardLayouts
4182# |
4183# | This patchset fixes the following Wine bugs:
4184# | * [#47439] loader: Add Keyboard Layouts registry enteries.
4185# |
4186# | Modified files:
4187# | * dlls/user32/driver.c, dlls/user32/tests/input.c, loader/wine.inf.in
4188# |
4189if test "$enable_loader_KeyboardLayouts" -eq 1; then
4190 patch_apply loader-KeyboardLayouts/0001-loader-Add-Keyboard-Layouts-registry-enteries.patch
4191 patch_apply loader-KeyboardLayouts/0002-user32-Improve-GetKeyboardLayoutList.patch
4192 (
4193 printf '%s\n' '+ { "Alistair Leslie-Hughes", "loader: Add Keyboard Layouts registry enteries.", 1 },';
4194 printf '%s\n' '+ { "Alistair Leslie-Hughes", "user32: Improve GetKeyboardLayoutList.", 1 },';
4195 ) >> "$patchlist"
4196fi
4197
4198# Patchset mmsystem.dll16-MIDIHDR_Refcount
4199# |
4200# | This patchset fixes the following Wine bugs:
4201# | * [#40024] Fix multiple issues in mmsystem.dll16 when translating MIDI messages
4202# |
4203# | Modified files:
4204# | * dlls/mmsystem.dll16/message16.c
4205# |
4206if test "$enable_mmsystem_dll16_MIDIHDR_Refcount" -eq 1; then
4207 patch_apply mmsystem.dll16-MIDIHDR_Refcount/0001-mmsystem.dll16-Refcount-midihdr-to-work-around-buggy.patch
4208 patch_apply mmsystem.dll16-MIDIHDR_Refcount/0002-mmsystem.dll16-Translate-MidiIn-messages.patch
4209 (
4210 printf '%s\n' '+ { "Michael Müller", "mmsystem.dll16: Refcount midihdr to work around buggy application which unprepares buffer during a callback.", 1 },';
4211 printf '%s\n' '+ { "Michael Müller", "mmsystem.dll16: Translate MidiIn messages.", 1 },';
4212 ) >> "$patchlist"
4213fi
4214
4215# Patchset mountmgr-DosDevices
4216# |
4217# | This patchset fixes the following Wine bugs:
4218# | * [#38235] Fix device paths in HKLM\SYSTEM\MountedDevices
4219# |
4220# | Modified files:
4221# | * dlls/mountmgr.sys/device.c, dlls/mountmgr.sys/mountmgr.c, dlls/mountmgr.sys/mountmgr.h
4222# |
4223if test "$enable_mountmgr_DosDevices" -eq 1; then
4224 patch_apply mountmgr-DosDevices/0001-mountmgr.sys-Write-usable-device-paths-into-HKLM-SYS.patch
4225 (
4226 printf '%s\n' '+ { "Michael Müller", "mountmgr.sys: Write usable device paths into HKLM\\SYSTEM\\MountedDevices.", 1 },';
4227 ) >> "$patchlist"
4228fi
4229
4230# Patchset mscoree-CorValidateImage
4231# |
4232# | This patchset fixes the following Wine bugs:
4233# | * [#38662] Implement mscoree._CorValidateImage for mono runtime
4234# |
4235# | Modified files:
4236# | * dlls/mscoree/mscoree_main.c
4237# |
4238if test "$enable_mscoree_CorValidateImage" -eq 1; then
4239 patch_apply mscoree-CorValidateImage/0001-mscoree-Implement-_CorValidateImage.patch
4240 (
4241 printf '%s\n' '+ { "Michael Müller", "mscoree: Implement semi-stub for _CorValidateImage.", 1 },';
4242 ) >> "$patchlist"
4243fi
4244
4245# Patchset msctf-ITfActiveLanguageProfileNotifySink
4246# |
4247# | This patchset fixes the following Wine bugs:
4248# | * [#44502] msctf: Added ITfActiveLanguageProfileNotifySink support in ITfSource.
4249# |
4250# | Modified files:
4251# | * dlls/msctf/msctf_internal.h, dlls/msctf/threadmgr.c
4252# |
4253if test "$enable_msctf_ITfActiveLanguageProfileNotifySink" -eq 1; then
4254 patch_apply msctf-ITfActiveLanguageProfileNotifySink/0001-msctf-Added-ITfActiveLanguageProfileNotifySink-suppo.patch
4255 (
4256 printf '%s\n' '+ { "Alistair Leslie-Hughes", "msctf: Added ITfActiveLanguageProfileNotifySink support in ITfSource.", 1 },';
4257 ) >> "$patchlist"
4258fi
4259
4260# Patchset mshtml-HTMLLocation_put_hash
4261# |
4262# | This patchset fixes the following Wine bugs:
4263# | * [#32967] Add IHTMLLocation::hash property's getter implementation
4264# |
4265# | Modified files:
4266# | * dlls/mshtml/htmllocation.c, dlls/mshtml/tests/htmldoc.c
4267# |
4268if test "$enable_mshtml_HTMLLocation_put_hash" -eq 1; then
4269 patch_apply mshtml-HTMLLocation_put_hash/0001-mshtml-Add-IHTMLLocation-hash-property-s-getter-impl.patch
4270 (
4271 printf '%s\n' '+ { "Zhenbo Li", "mshtml: Add IHTMLLocation::hash property'\''s getter implementation.", 1 },';
4272 ) >> "$patchlist"
4273fi
4274
4275# Patchset mshtml-TranslateAccelerator
4276# |
4277# | This patchset fixes the following Wine bugs:
4278# | * [#37058] mshtml: Improve IOleInPlaceActiveObject TranslateAccelerator
4279# |
4280# | Modified files:
4281# | * dlls/mshtml/oleobj.c
4282# |
4283if test "$enable_mshtml_TranslateAccelerator" -eq 1; then
4284 patch_apply mshtml-TranslateAccelerator/0001-mshtml-Improve-IOleInPlaceActiveObject-TranslateAcce.patch
4285 (
4286 printf '%s\n' '+ { "Alistair Leslie-Hughes", "mshtml: Improve IOleInPlaceActiveObject TranslateAccelerator.", 1 },';
4287 ) >> "$patchlist"
4288fi
4289
4290# Patchset msi-msi_vcl_get_cost
4291# |
4292# | Modified files:
4293# | * dlls/msi/dialog.c
4294# |
4295if test "$enable_msi_msi_vcl_get_cost" -eq 1; then
4296 patch_apply msi-msi_vcl_get_cost/0001-msi-Do-not-sign-extend-after-multiplying.patch
4297 (
4298 printf '%s\n' '+ { "Mark Jansen", "msi: Do not sign extend after multiplying.", 1 },';
4299 ) >> "$patchlist"
4300fi
4301
4302# Patchset msvcrt-Math_Precision
4303# |
4304# | This patchset fixes the following Wine bugs:
4305# | * [#37149] Calculate msvcrt exponential math operations with higher precision
4306# |
4307# | Modified files:
4308# | * dlls/msvcrt/math.c
4309# |
4310if test "$enable_msvcrt_Math_Precision" -eq 1; then
4311 patch_apply msvcrt-Math_Precision/0001-msvcrt-Calculate-sinh-cosh-exp-pow-with-higher-preci.patch
4312 (
4313 printf '%s\n' '+ { "Sebastian Lackner", "msvcrt: Calculate sinh/cosh/exp/pow with higher precision.", 2 },';
4314 ) >> "$patchlist"
4315fi
4316
4317# Patchset ntdll-APC_Performance
4318# |
4319# | Modified files:
4320# | * dlls/ntdll/file.c
4321# |
4322if test "$enable_ntdll_APC_Performance" -eq 1; then
4323 patch_apply ntdll-APC_Performance/0001-ntdll-Reuse-old-async-fileio-structures-if-possible.patch
4324 (
4325 printf '%s\n' '+ { "Sebastian Lackner", "ntdll: Reuse old async fileio structures if possible.", 1 },';
4326 ) >> "$patchlist"
4327fi
4328
4329# Patchset ntdll-Activation_Context
4330# |
4331# | Modified files:
4332# | * dlls/kernel32/tests/actctx.c, dlls/ntdll/actctx.c
4333# |
4334if test "$enable_ntdll_Activation_Context" -eq 1; then
4335 patch_apply ntdll-Activation_Context/0001-ntdll-Fix-return-value-for-missing-ACTIVATION_CONTEX.patch
4336 (
4337 printf '%s\n' '+ { "Sebastian Lackner", "ntdll: Fix return value for missing ACTIVATION_CONTEXT_SECTION_ASSEMBLY_INFORMATION key.", 1 },';
4338 ) >> "$patchlist"
4339fi
4340
4341# Patchset ntdll-ApiSetMap
4342# |
4343# | This patchset has the following (direct or indirect) dependencies:
4344# | * ntdll-ThreadTime
4345# |
4346# | This patchset fixes the following Wine bugs:
4347# | * [#44658] Add dummy apiset to PEB struct
4348# |
4349# | Modified files:
4350# | * dlls/ntdll/thread.c, include/Makefile.in, include/apiset.h, include/winternl.h
4351# |
4352if test "$enable_ntdll_ApiSetMap" -eq 1; then
4353 patch_apply ntdll-ApiSetMap/0001-ntdll-Add-dummy-apiset-to-PEB.patch
4354 (
4355 printf '%s\n' '+ { "Michael Müller", "ntdll: Add dummy apiset to PEB.", 1 },';
4356 ) >> "$patchlist"
4357fi
4358
4359# Patchset ntdll-Builtin_Prot
4360# |
4361# | This patchset has the following (direct or indirect) dependencies:
4362# | * Staging, advapi32-CreateRestrictedToken, advapi32-Token_Integrity_Level, ntdll-ThreadTime, ntdll-Hide_Wine_Exports,
4363# | ntdll-User_Shared_Data
4364# |
4365# | This patchset fixes the following Wine bugs:
4366# | * [#44650] Fix holes in ELF mappings
4367# |
4368# | Modified files:
4369# | * dlls/ntdll/virtual.c, dlls/psapi/tests/psapi_main.c
4370# |
4371if test "$enable_ntdll_Builtin_Prot" -eq 1; then
4372 patch_apply ntdll-Builtin_Prot/0001-ntdll-Fix-holes-in-ELF-mappings.patch
4373 (
4374 printf '%s\n' '+ { "Michael Müller", "ntdll: Fix holes in ELF mappings.", 2 },';
4375 ) >> "$patchlist"
4376fi
4377
4378# Patchset ntdll-CriticalSection
4379# |
4380# | Modified files:
4381# | * dlls/ntdll/critsection.c, dlls/ntdll/heap.c, dlls/ntdll/ntdll_misc.h, dlls/ntdll/threadpool.c, include/wine/port.h
4382# |
4383if test "$enable_ntdll_CriticalSection" -eq 1; then
4384 patch_apply ntdll-CriticalSection/0001-include-Move-interlocked_inc-dec-to-port.h.patch
4385 patch_apply ntdll-CriticalSection/0002-ntdll-Add-inline-versions-of-RtlEnterCriticalSection.patch
4386 patch_apply ntdll-CriticalSection/0003-ntdll-Use-fast-CS-functions-for-heap-locking.patch
4387 patch_apply ntdll-CriticalSection/0004-ntdll-Use-fast-CS-functions-for-threadpool-locking.patch
4388 (
4389 printf '%s\n' '+ { "Sebastian Lackner", "include: Move interlocked_inc/dec to port.h.", 1 },';
4390 printf '%s\n' '+ { "Sebastian Lackner", "ntdll: Add inline versions of RtlEnterCriticalSection / RtlLeaveCriticalSections.", 1 },';
4391 printf '%s\n' '+ { "Sebastian Lackner", "ntdll: Use fast CS functions for heap locking.", 1 },';
4392 printf '%s\n' '+ { "Sebastian Lackner", "ntdll: Use fast CS functions for threadpool locking.", 1 },';
4393 ) >> "$patchlist"
4394fi
4395
4396# Patchset ntdll-DOS_Attributes
4397# |
4398# | This patchset has the following (direct or indirect) dependencies:
4399# | * ntdll-Junction_Points
4400# |
4401# | This patchset fixes the following Wine bugs:
4402# | * [#9158] Support for DOS hidden/system file attributes
4403# | * [#15679] cygwin symlinks not working in wine
4404# |
4405# | Modified files:
4406# | * configure.ac, dlls/ntdll/directory.c, dlls/ntdll/file.c, dlls/ntdll/ntdll_misc.h, dlls/ntdll/tests/directory.c,
4407# | dlls/ntdll/tests/file.c, include/wine/port.h, libs/port/Makefile.in, libs/port/xattr.c
4408# |
4409if test "$enable_ntdll_DOS_Attributes" -eq 1; then
4410 patch_apply ntdll-DOS_Attributes/0001-ntdll-Implement-retrieving-DOS-attributes-in-NtQuery.patch
4411 patch_apply ntdll-DOS_Attributes/0002-ntdll-Implement-retrieving-DOS-attributes-in-NtQuery.patch
4412 patch_apply ntdll-DOS_Attributes/0003-ntdll-Implement-storing-DOS-attributes-in-NtSetInfor.patch
4413 patch_apply ntdll-DOS_Attributes/0004-ntdll-Implement-storing-DOS-attributes-in-NtCreateFi.patch
4414 patch_apply ntdll-DOS_Attributes/0005-libport-Add-support-for-Mac-OS-X-style-extended-attr.patch
4415 patch_apply ntdll-DOS_Attributes/0006-libport-Add-support-for-FreeBSD-style-extended-attri.patch
4416 patch_apply ntdll-DOS_Attributes/0007-ntdll-Perform-the-Unix-style-hidden-file-check-withi.patch
4417 patch_apply ntdll-DOS_Attributes/0008-ntdll-Always-store-SAMBA_XATTR_DOS_ATTRIB-when-path-.patch
4418 (
4419 printf '%s\n' '+ { "Erich E. Hoover", "ntdll: Implement retrieving DOS attributes in NtQueryInformationFile.", 1 },';
4420 printf '%s\n' '+ { "Erich E. Hoover", "ntdll: Implement retrieving DOS attributes in NtQuery[Full]AttributesFile and NtQueryDirectoryFile.", 1 },';
4421 printf '%s\n' '+ { "Erich E. Hoover", "ntdll: Implement storing DOS attributes in NtSetInformationFile.", 1 },';
4422 printf '%s\n' '+ { "Erich E. Hoover", "ntdll: Implement storing DOS attributes in NtCreateFile.", 1 },';
4423 printf '%s\n' '+ { "Erich E. Hoover", "libport: Add support for Mac OS X style extended attributes.", 1 },';
4424 printf '%s\n' '+ { "Erich E. Hoover", "libport: Add support for FreeBSD style extended attributes.", 1 },';
4425 printf '%s\n' '+ { "Erich E. Hoover", "ntdll: Perform the Unix-style hidden file check within the unified file info grabbing routine.", 1 },';
4426 printf '%s\n' '+ { "Sebastian Lackner", "ntdll: Always store SAMBA_XATTR_DOS_ATTRIB when path could be interpreted as hidden.", 1 },';
4427 ) >> "$patchlist"
4428fi
4429
4430# Patchset ntdll-Dealloc_Thread_Stack
4431# |
4432# | Modified files:
4433# | * dlls/ntdll/ntdll_misc.h, dlls/ntdll/virtual.c
4434# |
4435if test "$enable_ntdll_Dealloc_Thread_Stack" -eq 1; then
4436 patch_apply ntdll-Dealloc_Thread_Stack/0001-ntdll-Do-not-allow-to-allocate-thread-stack-for-curr.patch
4437 (
4438 printf '%s\n' '+ { "Sebastian Lackner", "ntdll: Do not allow to deallocate thread stack for current thread.", 1 },';
4439 ) >> "$patchlist"
4440fi
4441
4442# Patchset ntdll-DeviceType_Systemroot
4443# |
4444# | This patchset fixes the following Wine bugs:
4445# | * [#36546] Return fake device type when systemroot is located on virtual disk
4446# |
4447# | Modified files:
4448# | * dlls/ntdll/file.c
4449# |
4450if test "$enable_ntdll_DeviceType_Systemroot" -eq 1; then
4451 patch_apply ntdll-DeviceType_Systemroot/0001-ntdll-Return-fake-device-type-when-systemroot-is-loc.patch
4452 (
4453 printf '%s\n' '+ { "Sebastian Lackner", "ntdll: Return fake device type when systemroot is located on virtual disk.", 1 },';
4454 ) >> "$patchlist"
4455fi
4456
4457# Patchset ntdll-FileFsFullSizeInformation
4458# |
4459# | Modified files:
4460# | * dlls/ntdll/file.c, dlls/ntdll/tests/file.c
4461# |
4462if test "$enable_ntdll_FileFsFullSizeInformation" -eq 1; then
4463 patch_apply ntdll-FileFsFullSizeInformation/0001-ntdll-Add-support-for-FileFsFullSizeInformation-clas.patch
4464 (
4465 printf '%s\n' '+ { "Jianqiu Zhang", "ntdll: Add support for FileFsFullSizeInformation class in NtQueryVolumeInformationFile.", 2 },';
4466 ) >> "$patchlist"
4467fi
4468
4469# Patchset ntdll-FileFsVolumeInformation
4470# |
4471# | This patchset fixes the following Wine bugs:
4472# | * [#21466] Add semi-stub for FileFsVolumeInformation information class
4473# |
4474# | Modified files:
4475# | * dlls/ntdll/file.c, dlls/ntdll/tests/file.c
4476# |
4477if test "$enable_ntdll_FileFsVolumeInformation" -eq 1; then
4478 patch_apply ntdll-FileFsVolumeInformation/0001-ntdll-Add-semi-stub-for-FileFsVolumeInformation-info.patch
4479 (
4480 printf '%s\n' '+ { "Sebastian Lackner", "ntdll: Add semi-stub for FileFsVolumeInformation information class.", 1 },';
4481 ) >> "$patchlist"
4482fi
4483
4484# Patchset ntdll-Fix_Alignment
4485# |
4486# | This patchset fixes the following Wine bugs:
4487# | * [#33162] Ensure NtProtectVirtualMemory and NtCreateSection are on separate pages
4488# |
4489# | Modified files:
4490# | * dlls/ntdll/virtual.c
4491# |
4492if test "$enable_ntdll_Fix_Alignment" -eq 1; then
4493 patch_apply ntdll-Fix_Alignment/0001-ntdll-Move-NtProtectVirtualMemory-and-NtCreateSectio.patch
4494 (
4495 printf '%s\n' '+ { "Michael Müller", "ntdll: Move NtProtectVirtualMemory and NtCreateSection to separate pages on x86.", 2 },';
4496 ) >> "$patchlist"
4497fi
4498
4499# Patchset ntdll-ForceBottomUpAlloc
4500# |
4501# | This patchset fixes the following Wine bugs:
4502# | * [#48175] AION (64 bit) - crashes in crysystem.dll.CryFree() due to high memory pointers allocated
4503# | * [#46568] 64-bit msxml6.dll from Microsoft Core XML Services 6.0 redist package fails to load (Wine doesn't respect
4504# | 44-bit user-mode VA limitation from Windows < 8.1)
4505# |
4506# | Modified files:
4507# | * dlls/ntdll/virtual.c, include/wine/library.h, libs/wine/mmap.c, libs/wine/wine.map
4508# |
4509if test "$enable_ntdll_ForceBottomUpAlloc" -eq 1; then
4510 patch_apply ntdll-ForceBottomUpAlloc/0001-ntdll-Stop-search-on-mmap-error-in-try_map_free_area.patch
4511 patch_apply ntdll-ForceBottomUpAlloc/0002-ntdll-Use-MAP_FIXED_NOREPLACE-flag-in-try_map_free_a.patch
4512 patch_apply ntdll-ForceBottomUpAlloc/0003-ntdll-Force-bottom-up-allocation-order-for-64-bit-ar.patch
4513 patch_apply ntdll-ForceBottomUpAlloc/0004-ntdll-Increase-step-after-failed-map-attempt-in-try_.patch
4514 patch_apply ntdll-ForceBottomUpAlloc/0005-libs-wine-Add-functions-for-managing-free-area-list.patch
4515 patch_apply ntdll-ForceBottomUpAlloc/0006-ntdll-Use-free-area-list-for-virtual-memory-allocati.patch
4516 patch_apply ntdll-ForceBottomUpAlloc/0007-ntdll-Permanently-exclude-natively-mapped-areas-from.patch
4517 (
4518 printf '%s\n' '+ { "Paul Gofman", "ntdll: Stop search on mmap() error in try_map_free_area().", 1 },';
4519 printf '%s\n' '+ { "Paul Gofman", "ntdll: Use MAP_FIXED_NOREPLACE flag in try_map_free_area() if available.", 1 },';
4520 printf '%s\n' '+ { "Paul Gofman", "ntdll: Force bottom up allocation order for 64 bit arch unless top down is requested.", 1 },';
4521 printf '%s\n' '+ { "Paul Gofman", "ntdll: Increase step after failed map attempt in try_map_free_area().", 1 },';
4522 printf '%s\n' '+ { "Paul Gofman", "libs/wine: Add functions for managing free area list.", 1 },';
4523 printf '%s\n' '+ { "Paul Gofman", "ntdll: Use free area list for virtual memory allocation.", 1 },';
4524 printf '%s\n' '+ { "Paul Gofman", "ntdll: Permanently exclude natively mapped areas from free areas list.", 1 },';
4525 ) >> "$patchlist"
4526fi
4527
4528# Patchset ntdll-LDR_MODULE
4529# |
4530# | Modified files:
4531# | * include/winternl.h
4532# |
4533if test "$enable_ntdll_LDR_MODULE" -eq 1; then
4534 patch_apply ntdll-LDR_MODULE/0002-include-Update-LDR_MODULE-to-more-recent-windows-ver.patch
4535 (
4536 printf '%s\n' '+ { "Michael Müller", "include: Update LDR_MODULE to more recent windows versions.", 1 },';
4537 ) >> "$patchlist"
4538fi
4539
4540# Patchset ntdll-HashLinks
4541# |
4542# | This patchset has the following (direct or indirect) dependencies:
4543# | * ntdll-LDR_MODULE
4544# |
4545# | Modified files:
4546# | * dlls/kernel32/tests/loader.c, dlls/ntdll/loader.c, include/winternl.h
4547# |
4548if test "$enable_ntdll_HashLinks" -eq 1; then
4549 patch_apply ntdll-HashLinks/0001-ntdll-Implement-HashLinks-field-in-LDR-module-data.patch
4550 patch_apply ntdll-HashLinks/0002-ntdll-Use-HashLinks-when-searching-for-a-dll-using-t.patch
4551 (
4552 printf '%s\n' '+ { "Michael Müller", "ntdll: Implement HashLinks field in LDR module data.", 1 },';
4553 printf '%s\n' '+ { "Michael Müller", "ntdll: Use HashLinks when searching for a dll using the basename.", 1 },';
4554 ) >> "$patchlist"
4555fi
4556
4557# Patchset ntdll-Heap_Improvements
4558# |
4559# | This patchset fixes the following Wine bugs:
4560# | * [#43224] Improvement for heap allocation performance
4561# |
4562# | Modified files:
4563# | * configure.ac, dlls/ntdll/heap.c
4564# |
4565if test "$enable_ntdll_Heap_Improvements" -eq 1; then
4566 patch_apply ntdll-Heap_Improvements/0001-ntdll-Add-helper-function-to-delete-free-blocks.patch
4567 patch_apply ntdll-Heap_Improvements/0002-ntdll-Improve-heap-allocation-performance.patch
4568 (
4569 printf '%s\n' '+ { "Sebastian Lackner", "ntdll: Add helper function to delete free blocks.", 1 },';
4570 printf '%s\n' '+ { "Sebastian Lackner", "ntdll: Improve heap allocation performance.", 2 },';
4571 ) >> "$patchlist"
4572fi
4573
4574# Patchset ntdll-Interrupt-0x2e
4575# |
4576# | This patchset fixes the following Wine bugs:
4577# | * [#42647] Implement stub handler for int 0x2e
4578# |
4579# | Modified files:
4580# | * dlls/ntdll/signal_i386.c
4581# |
4582if test "$enable_ntdll_Interrupt_0x2e" -eq 1; then
4583 patch_apply ntdll-Interrupt-0x2e/0001-ntdll-Catch-windows-int-0x2e-syscall-on-i386.patch
4584 (
4585 printf '%s\n' '+ { "Michael Müller", "ntdll: Catch windows int 0x2e syscall on i386.", 1 },';
4586 ) >> "$patchlist"
4587fi
4588
4589# Patchset ntdll-Manifest_Range
4590# |
4591# | This patchset fixes the following Wine bugs:
4592# | * [#18889] ntdll: Support ISOLATIONAWARE_MANIFEST_RESOURCE_ID range
4593# |
4594# | Modified files:
4595# | * dlls/ntdll/actctx.c
4596# |
4597if test "$enable_ntdll_Manifest_Range" -eq 1; then
4598 patch_apply ntdll-Manifest_Range/0001-ntdll-Support-ISOLATIONAWARE_MANIFEST_RESOURCE_ID-ra.patch
4599 (
4600 printf '%s\n' '+ { "André Hentschel", "ntdll: Support ISOLATIONAWARE_MANIFEST_RESOURCE_ID range.", 1 },';
4601 ) >> "$patchlist"
4602fi
4603
4604# Patchset ntdll-NtAccessCheck
4605# |
4606# | Modified files:
4607# | * dlls/advapi32/tests/security.c, dlls/ntdll/sec.c
4608# |
4609if test "$enable_ntdll_NtAccessCheck" -eq 1; then
4610 patch_apply ntdll-NtAccessCheck/0001-ntdll-Improve-invalid-paramater-handling-in-NtAccess.patch
4611 (
4612 printf '%s\n' '+ { "Qian Hong", "ntdll: Improve invalid paramater handling in NtAccessCheck.", 1 },';
4613 ) >> "$patchlist"
4614fi
4615
4616# Patchset ntdll-NtContinue
4617# |
4618# | This patchset has the following (direct or indirect) dependencies:
4619# | * Staging, advapi32-CreateRestrictedToken, advapi32-Token_Integrity_Level, ntdll-ThreadTime, ntdll-Hide_Wine_Exports,
4620# | ntdll-User_Shared_Data, winebuild-Fake_Dlls
4621# |
4622# | This patchset fixes the following Wine bugs:
4623# | * [#31910] Add stub for NtContinue
4624# | * [#45572] League of Legends 8.12+ fails to start a game (anticheat engine, hooking of NtContinue)
4625# |
4626# | Modified files:
4627# | * dlls/ntdll/exception.c, dlls/ntdll/ntdll.spec, dlls/ntdll/signal_i386.c, dlls/ntdll/signal_x86_64.c
4628# |
4629if test "$enable_ntdll_NtContinue" -eq 1; then
4630 patch_apply ntdll-NtContinue/0001-ntdll-Add-stub-for-NtContinue.patch
4631 patch_apply ntdll-NtContinue/0002-Use-NtContinue-to-continue-execution-after-exception.patch
4632 (
4633 printf '%s\n' '+ { "Michael Müller", "ntdll: Add stub for NtContinue.", 1 },';
4634 printf '%s\n' '+ { "Andrew Wesie", "ntdll: Use NtContinue to continue execution after exceptions.", 1 },';
4635 ) >> "$patchlist"
4636fi
4637
4638# Patchset ntdll-Pipe_SpecialCharacters
4639# |
4640# | This patchset fixes the following Wine bugs:
4641# | * [#28995] Allow special characters in pipe names
4642# |
4643# | Modified files:
4644# | * dlls/kernel32/tests/pipe.c, dlls/ntdll/directory.c
4645# |
4646if test "$enable_ntdll_Pipe_SpecialCharacters" -eq 1; then
4647 patch_apply ntdll-Pipe_SpecialCharacters/0001-ntdll-Allow-special-characters-in-pipe-names.patch
4648 (
4649 printf '%s\n' '+ { "Michael Müller", "ntdll: Allow special characters in pipe names.", 1 },';
4650 ) >> "$patchlist"
4651fi
4652
4653# Patchset ntdll-NtDevicePath
4654# |
4655# | This patchset has the following (direct or indirect) dependencies:
4656# | * ntdll-Pipe_SpecialCharacters
4657# |
4658# | This patchset fixes the following Wine bugs:
4659# | * [#37487] Resolve \\SystemRoot\\ prefix when opening files
4660# |
4661# | Modified files:
4662# | * dlls/ntdll/directory.c, dlls/ntdll/tests/file.c
4663# |
4664if test "$enable_ntdll_NtDevicePath" -eq 1; then
4665 patch_apply ntdll-NtDevicePath/0001-ntdll-Implement-opening-files-through-nt-device-path.patch
4666 (
4667 printf '%s\n' '+ { "Michael Müller", "ntdll: Implement opening files through nt device paths.", 1 },';
4668 ) >> "$patchlist"
4669fi
4670
4671# Patchset ntdll-NtQueryEaFile
4672# |
4673# | This patchset has the following (direct or indirect) dependencies:
4674# | * ntdll-Junction_Points
4675# |
4676# | Modified files:
4677# | * dlls/ntdll/file.c, dlls/ntdll/tests/file.c
4678# |
4679if test "$enable_ntdll_NtQueryEaFile" -eq 1; then
4680 patch_apply ntdll-NtQueryEaFile/0001-ntdll-Improve-stub-of-NtQueryEaFile.patch
4681 (
4682 printf '%s\n' '+ { "Sebastian Lackner", "ntdll: Improve stub of NtQueryEaFile.", 1 },';
4683 ) >> "$patchlist"
4684fi
4685
4686# Patchset ntdll-NtQuerySection
4687# |
4688# | Modified files:
4689# | * dlls/kernel32/tests/virtual.c
4690# |
4691if test "$enable_ntdll_NtQuerySection" -eq 1; then
4692 patch_apply ntdll-NtQuerySection/0002-kernel32-tests-Add-tests-for-NtQuerySection.patch
4693 (
4694 printf '%s\n' '+ { "Dmitry Timoshkov", "kernel32/tests: Add tests for NtQuerySection.", 2 },';
4695 ) >> "$patchlist"
4696fi
4697
4698# Patchset ntdll-NtQueryVirtualMemory
4699# |
4700# | This patchset has the following (direct or indirect) dependencies:
4701# | * ntdll-Pipe_SpecialCharacters, ntdll-NtDevicePath
4702# |
4703# | This patchset fixes the following Wine bugs:
4704# | * [#23999] Implement MemorySectionName class in NtQueryVirtualMemory
4705# | * [#27248] Implement K32GetMappedFileName
4706# |
4707# | Modified files:
4708# | * dlls/kernel32/virtual.c, dlls/ntdll/directory.c, dlls/ntdll/ntdll_misc.h, dlls/ntdll/tests/info.c, dlls/ntdll/virtual.c,
4709# | dlls/psapi/tests/psapi_main.c, server/mapping.c, server/protocol.def
4710# |
4711if test "$enable_ntdll_NtQueryVirtualMemory" -eq 1; then
4712 patch_apply ntdll-NtQueryVirtualMemory/0003-ntdll-Implement-NtQueryVirtualMemory-MemorySectionNa.patch
4713 patch_apply ntdll-NtQueryVirtualMemory/0004-ntdll-tests-Add-tests-for-NtQueryVirtualMemory-Memor.patch
4714 patch_apply ntdll-NtQueryVirtualMemory/0005-ntdll-tests-Add-test-to-ensure-section-name-is-full-.patch
4715 patch_apply ntdll-NtQueryVirtualMemory/0006-ntdll-Allow-to-query-section-names-from-other-proces.patch
4716 patch_apply ntdll-NtQueryVirtualMemory/0007-kernel32-Implement-K32GetMappedFileName.-v2.patch
4717 patch_apply ntdll-NtQueryVirtualMemory/0008-ntdll-Resolve-drive-symlinks-before-returning-sectio.patch
4718 (
4719 printf '%s\n' '+ { "Dmitry Timoshkov", "ntdll: Implement NtQueryVirtualMemory(MemorySectionName).", 3 },';
4720 printf '%s\n' '+ { "Dmitry Timoshkov", "ntdll/tests: Add tests for NtQueryVirtualMemory(MemorySectionName).", 1 },';
4721 printf '%s\n' '+ { "Sebastian Lackner", "ntdll/tests: Add test to ensure section name is full path.", 1 },';
4722 printf '%s\n' '+ { "Sebastian Lackner", "ntdll: Allow to query section names from other processes.", 2 },';
4723 printf '%s\n' '+ { "Dmitry Timoshkov", "kernel32: Implement K32GetMappedFileName.", 2 },';
4724 printf '%s\n' '+ { "Sebastian Lackner", "ntdll: Resolve drive symlinks before returning section name.", 1 },';
4725 ) >> "$patchlist"
4726fi
4727
4728# Patchset ntdll-NtSetLdtEntries
4729# |
4730# | Modified files:
4731# | * dlls/kernel32/tests/thread.c, dlls/ntdll/nt.c, libs/wine/ldt.c
4732# |
4733if test "$enable_ntdll_NtSetLdtEntries" -eq 1; then
4734 patch_apply ntdll-NtSetLdtEntries/0001-ntdll-Implement-NtSetLdtEntries.patch
4735 patch_apply ntdll-NtSetLdtEntries/0002-libs-wine-Allow-to-modify-reserved-LDT-entries.patch
4736 (
4737 printf '%s\n' '+ { "Dmitry Timoshkov", "ntdll: Implement NtSetLdtEntries.", 1 },';
4738 printf '%s\n' '+ { "Dmitry Timoshkov", "libs/wine: Allow to modify reserved LDT entries.", 1 },';
4739 ) >> "$patchlist"
4740fi
4741
4742# Patchset ntdll-ProcessQuotaLimits
4743# |
4744# | This patchset fixes the following Wine bugs:
4745# | * [#44812] Multiple applications need NtQueryInformationProcess 'ProcessQuotaLimits' class support (MSYS2, ProcessHacker
4746# | 2.x)
4747# |
4748# | Modified files:
4749# | * dlls/ntdll/process.c
4750# |
4751if test "$enable_ntdll_ProcessQuotaLimits" -eq 1; then
4752 patch_apply ntdll-ProcessQuotaLimits/0001-ntdll-Add-fake-data-implementation-for-ProcessQuotaL.patch
4753 (
4754 printf '%s\n' '+ { "Qian Hong", "ntdll: Add fake data implementation for ProcessQuotaLimits class.", 1 },';
4755 ) >> "$patchlist"
4756fi
4757
4758# Patchset ntdll-RtlGetNativeSystemInformation
4759# |
4760# | This patchset fixes the following Wine bugs:
4761# | * [#40334] AION - Wine /Unhandled exception: page fault on read access to 0x00000000 in 64-bit code (0x0000000000000000)
4762# |
4763# | Modified files:
4764# | * dlls/ntdll/ntdll.spec, dlls/ntdll/tests/info.c
4765# |
4766if test "$enable_ntdll_RtlGetNativeSystemInformation" -eq 1; then
4767 patch_apply ntdll-RtlGetNativeSystemInformation/0001-ntdll-Export-RtlGetNativeSystemInformation-function.patch
4768 (
4769 printf '%s\n' '+ { "Paul Gofman", "ntdll: Export RtlGetNativeSystemInformation() function.", 1 },';
4770 ) >> "$patchlist"
4771fi
4772
4773# Patchset ntdll-RtlIpv4StringToAddress
4774# |
4775# | This patchset fixes the following Wine bugs:
4776# | * [#46788] ntdll: Implement RtlIpv6AddressToStringA
4777# |
4778# | Modified files:
4779# | * dlls/iphlpapi/iphlpapi_main.c, dlls/ntdll/ntdll.spec, dlls/ntdll/rtl.c, dlls/ntdll/tests/rtl.c, include/ip2string.h
4780# |
4781if test "$enable_ntdll_RtlIpv4StringToAddress" -eq 1; then
4782 patch_apply ntdll-RtlIpv4StringToAddress/0001-ntdll-Implement-RtlIpv6StringToAddress-Ex-AW.patch
4783 patch_apply ntdll-RtlIpv4StringToAddress/0002-include-Add-RtlIpv6StringToAddress-Ex-AW.patch
4784 patch_apply ntdll-RtlIpv4StringToAddress/0003-iphlpapi-Implement-ParseNetworkString-for-IPv6-addre.patch
4785 patch_apply ntdll-RtlIpv4StringToAddress/0004-ntdll-Add-semi-stub-for-RtlIpv6AddressToString-Ex-A.patch
4786 patch_apply ntdll-RtlIpv4StringToAddress/0005-ntdll-Implement-RtlIpv6AddressToString-Ex-W.patch
4787 (
4788 printf '%s\n' '+ { "Alex Henrie", "ntdll: Implement RtlIpv6StringToAddress(Ex)[AW].", 1 },';
4789 printf '%s\n' '+ { "Alex Henrie", "include: Add RtlIpv6StringToAddress(Ex)[AW].", 1 },';
4790 printf '%s\n' '+ { "Alex Henrie", "iphlpapi: Implement ParseNetworkString for IPv6 addresses and services.", 1 },';
4791 printf '%s\n' '+ { "Alex Henrie", "ntdll: Add semi-stub for RtlIpv6AddressToString(Ex)A.", 1 },';
4792 printf '%s\n' '+ { "Alex Henrie", "ntdll: Implement RtlIpv6AddressToString(Ex)W.", 1 },';
4793 ) >> "$patchlist"
4794fi
4795
4796# Patchset ntdll-RtlQueryPackageIdentity
4797# |
4798# | Modified files:
4799# | * dlls/ntdll/tests/Makefile.in, dlls/ntdll/tests/rtl.c
4800# |
4801if test "$enable_ntdll_RtlQueryPackageIdentity" -eq 1; then
4802 patch_apply ntdll-RtlQueryPackageIdentity/0003-ntdll-tests-Add-basic-tests-for-RtlQueryPackageIdent.patch
4803 (
4804 printf '%s\n' '+ { "Michael Müller", "ntdll/tests: Add basic tests for RtlQueryPackageIdentity.", 1 },';
4805 ) >> "$patchlist"
4806fi
4807
4808# Patchset ntdll-Serial_Port_Detection
4809# |
4810# | This patchset fixes the following Wine bugs:
4811# | * [#39793] Do a device check before returning a default serial port name
4812# |
4813# | Modified files:
4814# | * dlls/mountmgr.sys/device.c
4815# |
4816if test "$enable_ntdll_Serial_Port_Detection" -eq 1; then
4817 patch_apply ntdll-Serial_Port_Detection/0001-ntdll-Do-a-device-check-before-returning-a-default-s.patch
4818 (
4819 printf '%s\n' '+ { "Alex Henrie", "mountmgr.sys: Do a device check before returning a default serial port name.", 1 },';
4820 ) >> "$patchlist"
4821fi
4822
4823# Patchset ntdll-Status_Mapping
4824# |
4825# | Modified files:
4826# | * dlls/ntdll/file.c, dlls/ntdll/tests/file.c
4827# |
4828if test "$enable_ntdll_Status_Mapping" -eq 1; then
4829 patch_apply ntdll-Status_Mapping/0001-ntdll-Return-STATUS_INVALID_DEVICE_REQUEST-when-tryi.patch
4830 (
4831 printf '%s\n' '+ { "Sebastian Lackner", "ntdll: Return STATUS_INVALID_DEVICE_REQUEST when trying to call NtReadFile on directory.", 1 },';
4832 ) >> "$patchlist"
4833fi
4834
4835# Patchset ntdll-Syscall_Emulation
4836# |
4837# | This patchset has the following (direct or indirect) dependencies:
4838# | * Staging, advapi32-CreateRestrictedToken, advapi32-Token_Integrity_Level, ntdll-ThreadTime, ntdll-Hide_Wine_Exports,
4839# | ntdll-User_Shared_Data, winebuild-Fake_Dlls
4840# |
4841# | This patchset fixes the following Wine bugs:
4842# | * [#48291] Detroit: Become Human crashes on launch
4843# |
4844# | Modified files:
4845# | * configure.ac, dlls/ntdll/signal_x86_64.c, tools/winebuild/spec32.c
4846# |
4847if test "$enable_ntdll_Syscall_Emulation" -eq 1; then
4848 patch_apply ntdll-Syscall_Emulation/0001-ntdll-Support-x86_64-syscall-emulation.patch
4849 (
4850 printf '%s\n' '+ { "Paul Gofman", "ntdll: Support x86_64 syscall emulation.", 1 },';
4851 ) >> "$patchlist"
4852fi
4853
4854# Patchset ntdll-SystemExtendedProcessInformation
4855# |
4856# | This patchset fixes the following Wine bugs:
4857# | * [#46870] League of Legends 8.12+ fails to start a game in Vista+ mode (anticheat engine,
4858# | SystemExtendedProcessInformation)
4859# |
4860# | Modified files:
4861# | * dlls/ntdll/nt.c
4862# |
4863if test "$enable_ntdll_SystemExtendedProcessInformation" -eq 1; then
4864 patch_apply ntdll-SystemExtendedProcessInformation/0001-ntdll-Add-stub-for-NtQuerySystemInformation-SystemEx.patch
4865 (
4866 printf '%s\n' '+ { "Zebediah Figura", "ntdll: Add stub for NtQuerySystemInformation(SystemExtendedProcessInformation).", 1 },';
4867 ) >> "$patchlist"
4868fi
4869
4870# Patchset ntdll-SystemInterruptInformation
4871# |
4872# | This patchset fixes the following Wine bugs:
4873# | * [#39123] Return buffer filled with random values from SystemInterruptInformation
4874# |
4875# | Modified files:
4876# | * dlls/ntdll/nt.c
4877# |
4878if test "$enable_ntdll_SystemInterruptInformation" -eq 1; then
4879 patch_apply ntdll-SystemInterruptInformation/0001-ntdll-Return-buffer-filled-with-random-values-from-S.patch
4880 (
4881 printf '%s\n' '+ { "Sebastian Lackner", "ntdll: Return buffer filled with random values from SystemInterruptInformation.", 1 },';
4882 ) >> "$patchlist"
4883fi
4884
4885# Patchset ntdll-SystemModuleInformation
4886# |
4887# | This patchset fixes the following Wine bugs:
4888# | * [#45550] League of Legends 8.15+ anticheat fails due to incorrect implementation of
4889# | NtQuerySystemInformation(SystemModuleInformation)
4890# | * [#45666] League of Legends 8.15+ fails due to missing implementation of
4891# | NtQuerySystemInformation(SystemModuleInformationEx) in Windows Vista+ mode
4892# |
4893# | Modified files:
4894# | * dlls/ntdll/nt.c, include/winternl.h
4895# |
4896if test "$enable_ntdll_SystemModuleInformation" -eq 1; then
4897 patch_apply ntdll-SystemModuleInformation/0001-ntdll-Don-t-call-LdrQueryProcessModuleInformation-in.patch
4898 patch_apply ntdll-SystemModuleInformation/0002-ntdll-Return-ntdll.dll-as-the-first-entry-for-System.patch
4899 patch_apply ntdll-SystemModuleInformation/0003-ntdll-Add-stub-for-NtQuerySystemInformation-SystemMo.patch
4900 (
4901 printf '%s\n' '+ { "Zebediah Figura", "ntdll: Don'\''t call LdrQueryProcessModuleInformation in NtQuerySystemInformation(SystemModuleInformation).", 1 },';
4902 printf '%s\n' '+ { "Andrew Wesie", "ntdll: Return ntdll.dll as the first entry for SystemModuleInformation.", 1 },';
4903 printf '%s\n' '+ { "Andrew Wesie", "ntdll: Add stub for NtQuerySystemInformation(SystemModuleInformationEx).", 1 },';
4904 ) >> "$patchlist"
4905fi
4906
4907# Patchset ntdll-ThreadHideFromDebugger
4908# |
4909# | This patchset fixes the following Wine bugs:
4910# | * [#48138] League of Legends 9.23: Crash after champ select
4911# |
4912# | Modified files:
4913# | * dlls/ntdll/thread.c
4914# |
4915if test "$enable_ntdll_ThreadHideFromDebugger" -eq 1; then
4916 patch_apply ntdll-ThreadHideFromDebugger/0001-ntdll-Stub-NtQueryInformationThread-ThreadHideFromDe.patch
4917 (
4918 printf '%s\n' '+ { "David Torok", "ntdll: Stub NtQueryInformationThread(ThreadHideFromDebugger).", 1 },';
4919 ) >> "$patchlist"
4920fi
4921
4922# Patchset ntdll-WRITECOPY
4923# |
4924# | This patchset has the following (direct or indirect) dependencies:
4925# | * Staging, advapi32-CreateRestrictedToken, advapi32-Token_Integrity_Level, ntdll-ThreadTime, ntdll-Hide_Wine_Exports,
4926# | ntdll-User_Shared_Data
4927# |
4928# | This patchset fixes the following Wine bugs:
4929# | * [#29384] Multiple applications expect correct handling of WRITECOPY memory protection (Voobly fails to launch Age of
4930# | Empires II, MSYS2)
4931# |
4932# | Modified files:
4933# | * dlls/advapi32/crypt.c, dlls/advapi32/tests/security.c, dlls/ntdll/ntdll_misc.h, dlls/ntdll/server.c,
4934# | dlls/ntdll/signal_arm.c, dlls/ntdll/signal_arm64.c, dlls/ntdll/signal_i386.c, dlls/ntdll/signal_powerpc.c,
4935# | dlls/ntdll/signal_x86_64.c, dlls/ntdll/thread.c, dlls/ntdll/virtual.c
4936# |
4937if test "$enable_ntdll_WRITECOPY" -eq 1; then
4938 patch_apply ntdll-WRITECOPY/0001-ntdll-Trigger-write-watches-before-passing-userdata-.patch
4939 patch_apply ntdll-WRITECOPY/0002-advapi-Trigger-write-watches-before-passing-userdata.patch
4940 patch_apply ntdll-WRITECOPY/0003-ntdll-Setup-a-temporary-signal-handler-during-proces.patch
4941 patch_apply ntdll-WRITECOPY/0004-ntdll-Properly-handle-PAGE_WRITECOPY-protection.-try.patch
4942 (
4943 printf '%s\n' '+ { "Sebastian Lackner", "ntdll: Trigger write watches before passing userdata pointer to wait_reply.", 1 },';
4944 printf '%s\n' '+ { "Sebastian Lackner", "advapi: Trigger write watches before passing userdata pointer to read syscall.", 1 },';
4945 printf '%s\n' '+ { "Michael Müller", "ntdll: Setup a temporary signal handler during process startup to handle page faults.", 2 },';
4946 printf '%s\n' '+ { "Michael Müller", "ntdll: Properly handle PAGE_WRITECOPY protection.", 5 },';
4947 ) >> "$patchlist"
4948fi
4949
4950# Patchset ntdll-Zero_mod_name
4951# |
4952# | Modified files:
4953# | * dlls/ntdll/loader.c
4954# |
4955if test "$enable_ntdll_Zero_mod_name" -eq 1; then
4956 patch_apply ntdll-Zero_mod_name/0001-ntdll-Initialize-mod_name-to-zero.patch
4957 (
4958 printf '%s\n' '+ { "Qian Hong", "ntdll: Initialize mod_name to zero.", 1 },';
4959 ) >> "$patchlist"
4960fi
4961
4962# Patchset ntdll-aarch-TEB
4963# |
4964# | This patchset fixes the following Wine bugs:
4965# | * [#38780] AArch64 platforms: register X18 (TEB) must remain reserved for Wine to run 64-bit ARM Windows applications.
4966# |
4967# | Modified files:
4968# | * configure.ac, dlls/ntdll/loader.c, dlls/ntdll/relay.c
4969# |
4970if test "$enable_ntdll_aarch_TEB" -eq 1; then
4971 patch_apply ntdll-aarch-TEB/0001-configure-Avoid-clobbering-x18-on-arm64-within-wine.patch
4972 patch_apply ntdll-aarch-TEB/0002-ntdll-Always-restore-TEB-to-x18-on-aarch-64-on-retur.patch
4973 (
4974 printf '%s\n' '+ { "Martin Storsjo", "configure: Avoid clobbering x18 on arm64 within wine.", 1 },';
4975 printf '%s\n' '+ { "Martin Storsjo", "ntdll: Always restore TEB to x18 on aarch 64 on return from calls to builtins.", 1 },';
4976 ) >> "$patchlist"
4977fi
4978
4979# Patchset ntdll-ext4-case-folder
4980# |
4981# | This patchset fixes the following Wine bugs:
4982# | * [#47099] Support for EXT4 case folding per directory.
4983# |
4984# | Modified files:
4985# | * dlls/ntdll/server.c
4986# |
4987if test "$enable_ntdll_ext4_case_folder" -eq 1; then
4988 patch_apply ntdll-ext4-case-folder/0002-ntdll-server-Mark-drive_c-as-case-insensitive-when-c.patch
4989 (
4990 printf '%s\n' '+ { "Gabriel Ivăncescu", "ntdll/server: Mark drive_c as case-insensitive when created.", 1 },';
4991 ) >> "$patchlist"
4992fi
4993
4994# Patchset ntdll-set_full_cpu_context
4995# |
4996# | Modified files:
4997# | * dlls/ntdll/signal_i386.c
4998# |
4999if test "$enable_ntdll_set_full_cpu_context" -eq 1; then
5000 patch_apply ntdll-set_full_cpu_context/0001-ntdll-Add-back-SS-segment-prefixes-in-set_full_cpu_c.patch
5001 (
5002 printf '%s\n' '+ { "Sebastian Lackner", "ntdll: Add back SS segment prefixes in set_full_cpu_context.", 1 },';
5003 ) >> "$patchlist"
5004fi
5005
5006# Patchset ntdll-x86_64_SegDs
5007# |
5008# | This patchset fixes the following Wine bugs:
5009# | * [#47970] Legends of Runeterra crashes at launch
5010# |
5011# | Modified files:
5012# | * dlls/ntdll/signal_x86_64.c
5013# |
5014if test "$enable_ntdll_x86_64_SegDs" -eq 1; then
5015 patch_apply ntdll-x86_64_SegDs/0001-ntdll-Report-SegDs-to-be-identical-to-SegSs-on-x86_6.patch
5016 (
5017 printf '%s\n' '+ { "Zebediah Figura", "ntdll: Report SegDs to be identical to SegSs on x86_64.", 1 },';
5018 ) >> "$patchlist"
5019fi
5020
5021# Patchset ntoskrnl-Stubs
5022# |
5023# | Modified files:
5024# | * dlls/ntoskrnl.exe/ntoskrnl.c, dlls/ntoskrnl.exe/ntoskrnl.exe.spec
5025# |
5026if test "$enable_ntoskrnl_Stubs" -eq 1; then
5027 patch_apply ntoskrnl-Stubs/0009-ntoskrnl.exe-Implement-MmMapLockedPages-and-MmUnmapL.patch
5028 patch_apply ntoskrnl-Stubs/0011-ntoskrnl.exe-Add-IoGetDeviceAttachmentBaseRef-stub.patch
5029 (
5030 printf '%s\n' '+ { "Christian Costa", "ntoskrnl.exe: Implement MmMapLockedPages and MmUnmapLockedPages.", 1 },';
5031 printf '%s\n' '+ { "Jarkko Korpi", "ntoskrnl.exe: Add IoGetDeviceAttachmentBaseRef stub.", 1 },';
5032 ) >> "$patchlist"
5033fi
5034
5035# Patchset nvcuvid-CUDA_Video_Support
5036# |
5037# | This patchset has the following (direct or indirect) dependencies:
5038# | * nvcuda-CUDA_Support, nvapi-Stub_DLL
5039# |
5040# | Modified files:
5041# | * configure.ac, dlls/nvcuvid/Makefile.in, dlls/nvcuvid/nvcuvid.c, dlls/nvcuvid/nvcuvid.spec, include/Makefile.in,
5042# | include/cuviddec.h, include/nvcuvid.h
5043# |
5044if test "$enable_nvcuvid_CUDA_Video_Support" -eq 1; then
5045 patch_apply nvcuvid-CUDA_Video_Support/0001-nvcuvid-First-implementation.patch
5046 (
5047 printf '%s\n' '+ { "Michael Müller", "nvcuvid: First implementation.", 2 },';
5048 ) >> "$patchlist"
5049fi
5050
5051# Patchset nvencodeapi-Video_Encoder
5052# |
5053# | This patchset has the following (direct or indirect) dependencies:
5054# | * nvcuda-CUDA_Support, nvapi-Stub_DLL, nvcuvid-CUDA_Video_Support
5055# |
5056# | Modified files:
5057# | * configure.ac, dlls/nvencodeapi/Makefile.in, dlls/nvencodeapi/nvencodeapi.c, dlls/nvencodeapi/nvencodeapi.spec,
5058# | dlls/nvencodeapi64/Makefile.in, dlls/nvencodeapi64/nvencodeapi64.spec, include/Makefile.in, include/nvencodeapi.h
5059# |
5060if test "$enable_nvencodeapi_Video_Encoder" -eq 1; then
5061 patch_apply nvencodeapi-Video_Encoder/0001-nvencodeapi-First-implementation.patch
5062 patch_apply nvencodeapi-Video_Encoder/0002-nvencodeapi-Add-debian-specific-paths-to-native-libr.patch
5063 patch_apply nvencodeapi-Video_Encoder/0003-nvencodeapi-Add-support-for-version-6.0.patch
5064 (
5065 printf '%s\n' '+ { "Michael Müller", "nvencodeapi: First implementation.", 1 },';
5066 printf '%s\n' '+ { "Michael Müller", "nvencodeapi: Add debian specific paths to native library.", 1 },';
5067 printf '%s\n' '+ { "Michael Müller", "nvencodeapi: Add support for version 6.0.", 1 },';
5068 ) >> "$patchlist"
5069fi
5070
5071# Patchset ole32-HGLOBALStream
5072# |
5073# | This patchset fixes the following Wine bugs:
5074# | * [#41738] Implement proper refcounting and locking for HGLOBAL based IStream
5075# |
5076# | Modified files:
5077# | * dlls/ole32/hglobalstream.c, dlls/ole32/tests/hglobalstream.c
5078# |
5079if test "$enable_ole32_HGLOBALStream" -eq 1; then
5080 patch_apply ole32-HGLOBALStream/0001-ole32-tests-Add-a-bunch-of-tests-for-HGLOBAL-based-I.patch
5081 patch_apply ole32-HGLOBALStream/0002-ole32-Add-a-check-for-hglobal-pointer-to-GetHGlobalF.patch
5082 patch_apply ole32-HGLOBALStream/0003-ole32-Add-a-wrapper-for-memory-block-managed-by-HGLO.patch
5083 patch_apply ole32-HGLOBALStream/0004-ole32-Set-DebugInfo-Spare-0-for-handle_wrapper-lock.patch
5084 patch_apply ole32-HGLOBALStream/0005-ole32-Allow-moving-a-being-reallocated-block-of-memo.patch
5085 patch_apply ole32-HGLOBALStream/0006-ole32-Improve-thread-safety-of-HGLOBALStreamImpl_Rea.patch
5086 patch_apply ole32-HGLOBALStream/0007-ole32-Improve-thread-safety-of-HGLOBALStreamImpl_Wri.patch
5087 (
5088 printf '%s\n' '+ { "Dmitry Timoshkov", "ole32/tests: Add a bunch of tests for HGLOBAL based IStream::Clone.", 1 },';
5089 printf '%s\n' '+ { "Dmitry Timoshkov", "ole32: Add a check for hglobal pointer to GetHGlobalFromStream.", 1 },';
5090 printf '%s\n' '+ { "Dmitry Timoshkov", "ole32: Add a wrapper for memory block managed by HGLOBAL based IStream.", 1 },';
5091 printf '%s\n' '+ { "Sebastian Lackner", "ole32: Set DebugInfo->Spare[0] for handle_wrapper lock.", 1 },';
5092 printf '%s\n' '+ { "Dmitry Timoshkov", "ole32: Allow moving a being reallocated block of memory managed by HGLOBAL based IStream.", 1 },';
5093 printf '%s\n' '+ { "Sebastian Lackner", "ole32: Improve thread-safety of HGLOBALStreamImpl_Read.", 1 },';
5094 printf '%s\n' '+ { "Sebastian Lackner", "ole32: Improve thread-safety of HGLOBALStreamImpl_Write.", 1 },';
5095 ) >> "$patchlist"
5096fi
5097
5098# Patchset oleaut32-CreateTypeLib
5099# |
5100# | This patchset fixes the following Wine bugs:
5101# | * [#8780] Forward CreateTypeLib to CreateTypeLib2
5102# |
5103# | Modified files:
5104# | * dlls/oleaut32/typelib.c
5105# |
5106if test "$enable_oleaut32_CreateTypeLib" -eq 1; then
5107 patch_apply oleaut32-CreateTypeLib/0001-oleaut32-Implement-semi-stub-for-CreateTypeLib.patch
5108 (
5109 printf '%s\n' '+ { "Alistair Leslie-Hughes", "oleaut32: Implement semi-stub for CreateTypeLib.", 1 },';
5110 ) >> "$patchlist"
5111fi
5112
5113# Patchset oleaut32-Load_Save_EMF
5114# |
5115# | This patchset fixes the following Wine bugs:
5116# | * [#40523] Implement support for loading and saving EMF to IPicture interface
5117# |
5118# | Modified files:
5119# | * dlls/oleaut32/olepicture.c, dlls/oleaut32/tests/olepicture.c
5120# |
5121if test "$enable_oleaut32_Load_Save_EMF" -eq 1; then
5122 patch_apply oleaut32-Load_Save_EMF/0001-oleaut32-tests-Add-some-tests-for-loading-and-saving.patch
5123 patch_apply oleaut32-Load_Save_EMF/0002-oleaut32-Add-support-for-loading-and-saving-EMF-to-I.patch
5124 (
5125 printf '%s\n' '+ { "Dmitry Timoshkov", "oleaut32/tests: Add some tests for loading and saving EMF using IPicture interface.", 1 },';
5126 printf '%s\n' '+ { "Dmitry Timoshkov", "oleaut32: Add support for loading and saving EMF to IPicture interface.", 1 },';
5127 ) >> "$patchlist"
5128fi
5129
5130# Patchset oleaut32-OLEPictureImpl_SaveAsFile
5131# |
5132# | This patchset has the following (direct or indirect) dependencies:
5133# | * oleaut32-Load_Save_EMF
5134# |
5135# | This patchset fixes the following Wine bugs:
5136# | * [#8532] Implement a better stub for IPicture::SaveAsFile
5137# |
5138# | Modified files:
5139# | * dlls/oleaut32/olepicture.c, dlls/oleaut32/tests/olepicture.c
5140# |
5141if test "$enable_oleaut32_OLEPictureImpl_SaveAsFile" -eq 1; then
5142 patch_apply oleaut32-OLEPictureImpl_SaveAsFile/0002-oleaut32-Implement-a-better-stub-for-IPicture-SaveAs.patch
5143 patch_apply oleaut32-OLEPictureImpl_SaveAsFile/0003-oleaut32-Implement-SaveAsFile-for-PICTYPE_ENHMETAFIL.patch
5144 (
5145 printf '%s\n' '+ { "Dmitry Timoshkov", "oleaut32: Implement a better stub for IPicture::SaveAsFile.", 1 },';
5146 printf '%s\n' '+ { "Sebastian Lackner", "oleaut32: Implement SaveAsFile for PICTYPE_ENHMETAFILE.", 1 },';
5147 ) >> "$patchlist"
5148fi
5149
5150# Patchset oleaut32-OleLoadPicture
5151# |
5152# | This patchset fixes the following Wine bugs:
5153# | * [#39474] Create DIB section in OleLoadPicture
5154# |
5155# | Modified files:
5156# | * dlls/oleaut32/olepicture.c, dlls/oleaut32/tests/olepicture.c
5157# |
5158if test "$enable_oleaut32_OleLoadPicture" -eq 1; then
5159 patch_apply oleaut32-OleLoadPicture/0001-oleaut32-OleLoadPicture-should-create-a-DIB-section-.patch
5160 patch_apply oleaut32-OleLoadPicture/0002-oleaut32-Make-OleLoadPicture-load-DIBs-using-WIC-dec.patch
5161 (
5162 printf '%s\n' '+ { "Dmitry Timoshkov", "oleaut32: OleLoadPicture should create a DIB section for a being loaded bitmap.", 3 },';
5163 printf '%s\n' '+ { "Dmitry Timoshkov", "oleaut32: Make OleLoadPicture load DIBs using WIC decoder.", 1 },';
5164 ) >> "$patchlist"
5165fi
5166
5167# Patchset oleaut32-OleLoadPictureFile
5168# |
5169# | Modified files:
5170# | * dlls/oleaut32/olepicture.c, dlls/oleaut32/tests/olepicture.c
5171# |
5172if test "$enable_oleaut32_OleLoadPictureFile" -eq 1; then
5173 patch_apply oleaut32-OleLoadPictureFile/0001-oleaut32-Do-not-reimplement-OleLoadPicture-in-OleLoa.patch
5174 patch_apply oleaut32-OleLoadPictureFile/0002-oleaut32-Factor-out-stream-creation-from-OleLoadPict.patch
5175 patch_apply oleaut32-OleLoadPictureFile/0003-oleaut32-Implement-OleLoadPictureFile.patch
5176 (
5177 printf '%s\n' '+ { "Dmitry Timoshkov", "oleaut32: Do not reimplement OleLoadPicture in OleLoadPicturePath.", 1 },';
5178 printf '%s\n' '+ { "Dmitry Timoshkov", "oleaut32: Factor out stream creation from OleLoadPicturePath.", 1 },';
5179 printf '%s\n' '+ { "Dmitry Timoshkov", "oleaut32: Implement OleLoadPictureFile.", 2 },';
5180 ) >> "$patchlist"
5181fi
5182
5183# Patchset opencl-version_1_2
5184# |
5185# | This patchset fixes the following Wine bugs:
5186# | * [#46470] opencl: Add support for OpenCL 1.2.
5187# |
5188# | Modified files:
5189# | * configure, configure.ac, dlls/opencl/opencl.c, dlls/opencl/opencl.spec, include/config.h.in
5190# |
5191if test "$enable_opencl_version_1_2" -eq 1; then
5192 patch_apply opencl-version_1_2/0001-opencl-Add-OpenCL-1.0-function-pointer-loader.patch
5193 patch_apply opencl-version_1_2/0002-opencl-Use-function-pointer-instead-of-call-the-func.patch
5194 patch_apply opencl-version_1_2/0003-opencl-Add-OpenCL-1.1-implementation.patch
5195 patch_apply opencl-version_1_2/0004-opencl-Add-OpenCL-1.2-implementation.patch
5196 patch_apply opencl-version_1_2/0005-opencl-Expose-all-extensions-list-to-wine.patch
5197 (
5198 printf '%s\n' '+ { "Nakarin Khankham", "opencl: Add OpenCL 1.0 function pointer loader.", 1 },';
5199 printf '%s\n' '+ { "Nakarin Khankham", "opencl: Use function pointer instead of call the function directly.", 1 },';
5200 printf '%s\n' '+ { "Nakarin Khankham", "opencl: Add OpenCL 1.1 implementation.", 1 },';
5201 printf '%s\n' '+ { "Nakarin Khankham", "opencl: Add OpenCL 1.2 implementation.", 1 },';
5202 printf '%s\n' '+ { "Nakarin Khankham", "opencl: Expose all extensions list to wine.", 1 },';
5203 ) >> "$patchlist"
5204fi
5205
5206# Patchset opengl32-wglChoosePixelFormat
5207# |
5208# | This patchset fixes the following Wine bugs:
5209# | * [#43638] Treat invalid pixel types as PFD_TYPE_RGBA in wglChoosePixelFormat
5210# |
5211# | Modified files:
5212# | * dlls/opengl32/tests/opengl.c, dlls/opengl32/wgl.c
5213# |
5214if test "$enable_opengl32_wglChoosePixelFormat" -eq 1; then
5215 patch_apply opengl32-wglChoosePixelFormat/0001-opengl32-Treat-invalid-pixel-types-as-PFD_TYPE_RGBA-.patch
5216 (
5217 printf '%s\n' '+ { "Michael Müller", "opengl32: Treat invalid pixel types as PFD_TYPE_RGBA in wglChoosePixelFormat.", 1 },';
5218 ) >> "$patchlist"
5219fi
5220
5221# Patchset packager-DllMain
5222# |
5223# | This patchset fixes the following Wine bugs:
5224# | * [#43472] Prefer native version of packager.dll
5225# |
5226# | Modified files:
5227# | * dlls/packager/packager_main.c
5228# |
5229if test "$enable_packager_DllMain" -eq 1; then
5230 patch_apply packager-DllMain/0001-packager-Prefer-native-version.patch
5231 (
5232 printf '%s\n' '+ { "Sebastian Lackner", "packager: Prefer native version.", 1 },';
5233 ) >> "$patchlist"
5234fi
5235
5236# Patchset pdh-PdhLookupPerfNameByIndex-processor
5237# |
5238# | This patchset fixes the following Wine bugs:
5239# | * [#33018] pdh: Support the 'Processor' object string.
5240# |
5241# | Modified files:
5242# | * dlls/pdh/pdh_main.c, dlls/pdh/tests/pdh.c
5243# |
5244if test "$enable_pdh_PdhLookupPerfNameByIndex_processor" -eq 1; then
5245 patch_apply pdh-PdhLookupPerfNameByIndex-processor/0001-pdh-Support-the-Processor-object-string.patch
5246 (
5247 printf '%s\n' '+ { "Erich Hoover", "pdh: Support the '\''Processor'\'' object string.", 1 },';
5248 ) >> "$patchlist"
5249fi
5250
5251# Patchset quartz-MediaSeeking_Positions
5252# |
5253# | Modified files:
5254# | * dlls/strmbase/pospass.c
5255# |
5256if test "$enable_quartz_MediaSeeking_Positions" -eq 1; then
5257 patch_apply quartz-MediaSeeking_Positions/0001-strmbase-Fix-MediaSeekingPassThru_GetPositions-retur.patch
5258 (
5259 printf '%s\n' '+ { "Erich E. Hoover", "strmbase: Fix MediaSeekingPassThru_GetPositions return when the pins are unconnected.", 1 },';
5260 ) >> "$patchlist"
5261fi
5262
5263# Patchset riched20-Class_Tests
5264# |
5265# | Modified files:
5266# | * dlls/riched20/tests/editor.c
5267# |
5268if test "$enable_riched20_Class_Tests" -eq 1; then
5269 patch_apply riched20-Class_Tests/0001-riched20-tests-Add-a-test-to-see-what-richedit-class.patch
5270 (
5271 printf '%s\n' '+ { "Dmitry Timoshkov", "riched20/tests: Add a test to see what richedit class flavours should be available.", 1 },';
5272 ) >> "$patchlist"
5273fi
5274
5275# Patchset riched20-IText_Interface
5276# |
5277# | Modified files:
5278# | * dlls/riched20/richole.c, dlls/riched20/run.c, dlls/riched20/tests/richole.c
5279# |
5280if test "$enable_riched20_IText_Interface" -eq 1; then
5281 patch_apply riched20-IText_Interface/0003-riched20-Stub-for-ITextPara-interface-and-implement-.patch
5282 patch_apply riched20-IText_Interface/0004-riched20-Fix-ME_RunOfsFromCharOfs-when-nCharOfs-strl.patch
5283 patch_apply riched20-IText_Interface/0010-riched20-Silence-repeated-FIXMEs-triggered-by-Adobe-.patch
5284 (
5285 printf '%s\n' '+ { "Jactry Zeng", "riched20: Stub for ITextPara interface and implement ITextRange::GetPara.", 1 },';
5286 printf '%s\n' '+ { "Jactry Zeng", "riched20: Fix ME_RunOfsFromCharOfs() when nCharOfs > strlen().", 1 },';
5287 printf '%s\n' '+ { "Sebastian Lackner", "riched20: Silence repeated FIXMEs triggered by Adobe Reader.", 1 },';
5288 ) >> "$patchlist"
5289fi
5290
5291# Patchset server-Desktop_Refcount
5292# |
5293# | This patchset has the following (direct or indirect) dependencies:
5294# | * Staging, advapi32-CreateRestrictedToken, advapi32-Token_Integrity_Level, kernel32-K32GetPerformanceInfo, ntdll-
5295# | Junction_Points, ntdll-ThreadTime, ntdll-Hide_Wine_Exports, ntdll-User_Shared_Data, winebuild-Fake_Dlls, ntdll-
5296# | RtlCreateUserThread, ntdll-Exception, ntdll-SystemRoot_Symlink, server-Realtime_Priority, ntdll-Threading, server-
5297# | Key_State, server-PeekMessage, server-Signal_Thread, server-Shared_Memory, ws2_32-WSACleanup, eventfd_synchronization
5298# |
5299# | This patchset fixes the following Wine bugs:
5300# | * [#46967] GOG Galaxy doesn't run in virtual desktop.
5301# |
5302# | Modified files:
5303# | * dlls/user32/tests/winstation.c, programs/explorer/desktop.c, server/async.c, server/atom.c, server/change.c,
5304# | server/clipboard.c, server/completion.c, server/console.c, server/debugger.c, server/device.c, server/directory.c,
5305# | server/esync.c, server/event.c, server/fd.c, server/file.c, server/handle.c, server/handle.h, server/hook.c,
5306# | server/mailslot.c, server/mapping.c, server/mutex.c, server/named_pipe.c, server/object.c, server/object.h,
5307# | server/process.c, server/queue.c, server/registry.c, server/request.c, server/semaphore.c, server/serial.c,
5308# | server/signal.c, server/snapshot.c, server/sock.c, server/symlink.c, server/thread.c, server/timer.c, server/token.c,
5309# | server/winstation.c
5310# |
5311if test "$enable_server_Desktop_Refcount" -eq 1; then
5312 patch_apply server-Desktop_Refcount/0001-server-Introduce-a-new-alloc_handle-object-callback..patch
5313 patch_apply server-Desktop_Refcount/0002-server-Track-desktop-handle-count-more-correctly.patch
5314 patch_apply server-Desktop_Refcount/0004-server-Assign-random-name-when-no-name-was-passed-to.patch
5315 (
5316 printf '%s\n' '+ { "Sebastian Lackner", "server: Introduce a new alloc_handle object callback.", 2 },';
5317 printf '%s\n' '+ { "Sebastian Lackner", "server: Track desktop handle count more correctly.", 1 },';
5318 printf '%s\n' '+ { "Sebastian Lackner", "server: Assign random name when no name was passed to create_winstation.", 1 },';
5319 ) >> "$patchlist"
5320fi
5321
5322# Patchset server-FileEndOfFileInformation
5323# |
5324# | Modified files:
5325# | * dlls/ntdll/file.c, server/fd.c, server/protocol.def
5326# |
5327if test "$enable_server_FileEndOfFileInformation" -eq 1; then
5328 patch_apply server-FileEndOfFileInformation/0001-ntdll-Set-EOF-on-file-which-has-a-memory-mapping-sho.patch
5329 patch_apply server-FileEndOfFileInformation/0002-server-Growing-files-which-are-mapped-to-memory-shou.patch
5330 (
5331 printf '%s\n' '+ { "Qian Hong", "ntdll: Set EOF on file which has a memory mapping should fail.", 1 },';
5332 printf '%s\n' '+ { "Sebastian Lackner", "server: Growing files which are mapped to memory should still work.", 1 },';
5333 ) >> "$patchlist"
5334fi
5335
5336# Patchset server-Stored_ACLs
5337# |
5338# | This patchset has the following (direct or indirect) dependencies:
5339# | * ntdll-Junction_Points, ntdll-DOS_Attributes, server-File_Permissions
5340# |
5341# | This patchset fixes the following Wine bugs:
5342# | * [#33576] Support for stored file ACLs
5343# |
5344# | Modified files:
5345# | * dlls/advapi32/tests/security.c, include/wine/port.h, server/change.c, server/file.c, server/file.h, server/object.c,
5346# | server/object.h
5347# |
5348if test "$enable_server_Stored_ACLs" -eq 1; then
5349 patch_apply server-Stored_ACLs/0001-server-Unify-the-storage-of-security-attributes-for-.patch
5350 patch_apply server-Stored_ACLs/0002-server-Unify-the-retrieval-of-security-attributes-fo.patch
5351 patch_apply server-Stored_ACLs/0003-server-Add-a-helper-function-set_sd_from_token_inter.patch
5352 patch_apply server-Stored_ACLs/0004-server-Temporarily-store-the-full-security-descripto.patch
5353 patch_apply server-Stored_ACLs/0005-server-Store-file-security-attributes-with-extended-.patch
5354 patch_apply server-Stored_ACLs/0006-server-Convert-return-of-file-security-masks-with-ge.patch
5355 patch_apply server-Stored_ACLs/0007-server-Retrieve-file-security-attributes-with-extend.patch
5356 (
5357 printf '%s\n' '+ { "Erich E. Hoover", "server: Unify the storage of security attributes for files and directories.", 7 },';
5358 printf '%s\n' '+ { "Erich E. Hoover", "server: Unify the retrieval of security attributes for files and directories.", 7 },';
5359 printf '%s\n' '+ { "Sebastian Lackner", "server: Add a helper function set_sd_from_token_internal to merge two security descriptors.", 1 },';
5360 printf '%s\n' '+ { "Sebastian Lackner", "server: Temporarily store the full security descriptor for file objects.", 1 },';
5361 printf '%s\n' '+ { "Erich E. Hoover", "server: Store file security attributes with extended file attributes.", 8 },';
5362 printf '%s\n' '+ { "Erich E. Hoover", "server: Convert return of file security masks with generic access mappings.", 7 },';
5363 printf '%s\n' '+ { "Erich E. Hoover", "server: Retrieve file security attributes with extended file attributes.", 7 },';
5364 ) >> "$patchlist"
5365fi
5366
5367# Patchset server-Inherited_ACLs
5368# |
5369# | This patchset has the following (direct or indirect) dependencies:
5370# | * ntdll-Junction_Points, ntdll-DOS_Attributes, server-File_Permissions, server-Stored_ACLs
5371# |
5372# | Modified files:
5373# | * dlls/advapi32/tests/security.c, server/file.c
5374# |
5375if test "$enable_server_Inherited_ACLs" -eq 1; then
5376 patch_apply server-Inherited_ACLs/0001-server-Inherit-security-attributes-from-parent-direc.patch
5377 (
5378 printf '%s\n' '+ { "Erich E. Hoover", "server: Inherit security attributes from parent directories on creation.", 7 },';
5379 ) >> "$patchlist"
5380fi
5381
5382# Patchset server-Object_Types
5383# |
5384# | This patchset has the following (direct or indirect) dependencies:
5385# | * ntdll-Threading, server-Key_State, server-PeekMessage, server-Signal_Thread, server-Shared_Memory
5386# |
5387# | This patchset fixes the following Wine bugs:
5388# | * [#44629] Process Hacker can't enumerate handles
5389# | * [#45374] Yet Another Process Monitor (.NET 2.0 app) reports System.AccessViolationException
5390# |
5391# | Modified files:
5392# | * dlls/ntdll/nt.c, dlls/ntdll/om.c, dlls/ntdll/tests/info.c, dlls/ntdll/tests/om.c, include/winternl.h,
5393# | server/completion.c, server/directory.c, server/event.c, server/file.c, server/handle.c, server/mailslot.c,
5394# | server/main.c, server/mapping.c, server/mutex.c, server/named_pipe.c, server/object.c, server/object.h,
5395# | server/process.c, server/protocol.def, server/registry.c, server/semaphore.c, server/symlink.c, server/thread.c,
5396# | server/timer.c, server/token.c, server/winstation.c
5397# |
5398if test "$enable_server_Object_Types" -eq 1; then
5399 patch_apply server-Object_Types/0001-ntdll-Implement-SystemExtendedHandleInformation-in-N.patch
5400 patch_apply server-Object_Types/0002-ntdll-Implement-ObjectTypesInformation-in-NtQueryObj.patch
5401 patch_apply server-Object_Types/0003-server-Register-types-during-startup.patch
5402 patch_apply server-Object_Types/0004-server-Rename-ObjectType-to-Type.patch
5403 patch_apply server-Object_Types/0008-ntdll-Set-TypeIndex-for-ObjectTypeInformation-in-NtQ.patch
5404 patch_apply server-Object_Types/0009-ntdll-Set-object-type-for-System-Extended-HandleInfo.patch
5405 patch_apply server-Object_Types/0010-ntdll-Mimic-object-type-behavior-for-different-windo.patch
5406 (
5407 printf '%s\n' '+ { "Michael Müller", "ntdll: Implement SystemExtendedHandleInformation in NtQuerySystemInformation.", 1 },';
5408 printf '%s\n' '+ { "Michael Müller", "ntdll: Implement ObjectTypesInformation in NtQueryObject.", 1 },';
5409 printf '%s\n' '+ { "Michael Müller", "server: Register types during startup.", 1 },';
5410 printf '%s\n' '+ { "Michael Müller", "server: Rename ObjectType to Type.", 1 },';
5411 printf '%s\n' '+ { "Michael Müller", "ntdll: Set TypeIndex for ObjectTypeInformation in NtQueryObject.", 1 },';
5412 printf '%s\n' '+ { "Michael Müller", "ntdll: Set object type for System(Extended)HandleInformation in NtQuerySystemInformation.", 1 },';
5413 printf '%s\n' '+ { "Michael Müller", "ntdll: Mimic object type behavior for different windows versions.", 1 },';
5414 ) >> "$patchlist"
5415fi
5416
5417# Patchset server-Registry_Notifications
5418# |
5419# | Modified files:
5420# | * dlls/ntdll/tests/reg.c, server/registry.c
5421# |
5422if test "$enable_server_Registry_Notifications" -eq 1; then
5423 patch_apply server-Registry_Notifications/0001-server-Allow-multiple-registry-notifications-for-the.patch
5424 patch_apply server-Registry_Notifications/0002-server-Introduce-refcounting-for-registry-notificati.patch
5425 (
5426 printf '%s\n' '+ { "Sebastian Lackner", "server: Allow multiple registry notifications for the same key.", 1 },';
5427 printf '%s\n' '+ { "Sebastian Lackner", "server: Introduce refcounting for registry notifications.", 1 },';
5428 ) >> "$patchlist"
5429fi
5430
5431# Patchset server-device_manager_destroy
5432# |
5433# | Modified files:
5434# | * server/device.c
5435# |
5436if test "$enable_server_device_manager_destroy" -eq 1; then
5437 patch_apply server-device_manager_destroy/0001-server-Fix-crash-when-a-device-driver-segfaults-duri.patch
5438 (
5439 printf '%s\n' '+ { "Michael Müller", "server: Fix crash when a device driver segfaults during an open file request.", 1 },';
5440 ) >> "$patchlist"
5441fi
5442
5443# Patchset setupapi-DiskSpaceList
5444# |
5445# | Modified files:
5446# | * dlls/setupapi/diskspace.c, dlls/setupapi/queue.c, dlls/setupapi/setupapi.spec, dlls/setupapi/setupapi_private.h,
5447# | dlls/setupapi/stubs.c, dlls/setupapi/tests/diskspace.c, include/setupapi.h
5448# |
5449if test "$enable_setupapi_DiskSpaceList" -eq 1; then
5450 patch_apply setupapi-DiskSpaceList/0001-setupapi-Rewrite-DiskSpaceList-logic-using-lists.patch
5451 patch_apply setupapi-DiskSpaceList/0002-setupapi-Implement-SetupAddToDiskSpaceList.patch
5452 patch_apply setupapi-DiskSpaceList/0003-setupapi-Implement-SetupQueryDrivesInDiskSpaceList.patch
5453 patch_apply setupapi-DiskSpaceList/0004-setupapi-Ignore-deletion-of-added-files-in-SetupAddT.patch
5454 patch_apply setupapi-DiskSpaceList/0005-setupapi-ImplementSetupAddSectionToDiskSpaceList.patch
5455 patch_apply setupapi-DiskSpaceList/0006-setupapi-Implement-SetupAddInstallSectionToDiskSpace.patch
5456 (
5457 printf '%s\n' '+ { "Michael Müller", "setupapi: Rewrite DiskSpaceList logic using lists.", 1 },';
5458 printf '%s\n' '+ { "Michael Müller", "setupapi: Implement SetupAddToDiskSpaceList.", 1 },';
5459 printf '%s\n' '+ { "Michael Müller", "setupapi: Implement SetupQueryDrivesInDiskSpaceList.", 1 },';
5460 printf '%s\n' '+ { "Michael Müller", "setupapi: Ignore deletion of added files in SetupAddToDiskSpaceList.", 1 },';
5461 printf '%s\n' '+ { "Michael Müller", "setupapi: ImplementSetupAddSectionToDiskSpaceList.", 1 },';
5462 printf '%s\n' '+ { "Michael Müller", "setupapi: Implement SetupAddInstallSectionToDiskSpaceList.", 1 },';
5463 ) >> "$patchlist"
5464fi
5465
5466# Patchset setupapi-SPFILENOTIFY_FILEINCABINET
5467# |
5468# | This patchset fixes the following Wine bugs:
5469# | * [#42827] Fix Param2 in SPFILENOTIFY_FILEINCABINET handler
5470# |
5471# | Modified files:
5472# | * dlls/setupapi/setupcab.c, dlls/setupapi/tests/setupcab.c
5473# |
5474if test "$enable_setupapi_SPFILENOTIFY_FILEINCABINET" -eq 1; then
5475 patch_apply setupapi-SPFILENOTIFY_FILEINCABINET/0001-setupapi-tests-Add-more-tests-for-SPFILENOTIFY_FILEI.patch
5476 patch_apply setupapi-SPFILENOTIFY_FILEINCABINET/0002-setupapi-Fix-CabinetName-passed-to-SPFILENOTIFY_CABI.patch
5477 patch_apply setupapi-SPFILENOTIFY_FILEINCABINET/0003-setupapi-tests-Add-tests-for-cabinet-name-passed-to-.patch
5478 patch_apply setupapi-SPFILENOTIFY_FILEINCABINET/0004-setupapi-Fix-parameters-of-SPFILENOTIFY_FILEINCABINE.patch
5479 (
5480 printf '%s\n' '+ { "Dmitry Timoshkov", "setupapi/tests: Add more tests for SPFILENOTIFY_FILEINCABINET handler.", 1 },';
5481 printf '%s\n' '+ { "Sebastian Lackner", "setupapi: Fix CabinetName passed to SPFILENOTIFY_CABINETINFO handler.", 1 },';
5482 printf '%s\n' '+ { "Sebastian Lackner", "setupapi/tests: Add tests for cabinet name passed to SPFILENOTIFY_FILEEXTRACTED.", 1 },';
5483 printf '%s\n' '+ { "Dmitry Timoshkov", "setupapi: Fix parameters of SPFILENOTIFY_FILEINCABINET handler.", 1 },';
5484 ) >> "$patchlist"
5485fi
5486
5487# Patchset shdocvw-ParseURLFromOutsideSource_Tests
5488# |
5489# | Modified files:
5490# | * dlls/shdocvw/shdocvw_main.c, dlls/shdocvw/tests/shdocvw.c
5491# |
5492if test "$enable_shdocvw_ParseURLFromOutsideSource_Tests" -eq 1; then
5493 patch_apply shdocvw-ParseURLFromOutsideSource_Tests/0001-shdocvw-Check-precisely-ParseURLFromOutsideSourceX-r.patch
5494 (
5495 printf '%s\n' '+ { "Christian Costa", "shdocvw: Check precisely ParseURLFromOutsideSourceX returned values in tests and make code clearer about that.", 3 },';
5496 ) >> "$patchlist"
5497fi
5498
5499# Patchset shell32-SHFileOperation_Move
5500# |
5501# | This patchset fixes the following Wine bugs:
5502# | * [#25207] SHFileOperation with FO_MOVE should create new directory on Vista+
5503# |
5504# | Modified files:
5505# | * dlls/shell32/shlfileop.c, dlls/shell32/tests/shlfileop.c
5506# |
5507if test "$enable_shell32_SHFileOperation_Move" -eq 1; then
5508 patch_apply shell32-SHFileOperation_Move/0001-shell32-Fix-SHFileOperation-FO_MOVE-for-creating-sub.patch
5509 (
5510 printf '%s\n' '+ { "Zhenbo Li", "shell32: Fix SHFileOperation(FO_MOVE) for creating subdirectories.", 1 },';
5511 ) >> "$patchlist"
5512fi
5513
5514# Patchset shell32-Progress_Dialog
5515# |
5516# | This patchset has the following (direct or indirect) dependencies:
5517# | * ntdll-Junction_Points, server-File_Permissions, ntdll-FileDispositionInformation, kernel32-CopyFileEx,
5518# | shell32-SHFileOperation_Move
5519# |
5520# | Modified files:
5521# | * dlls/shell32/shell32.rc, dlls/shell32/shlfileop.c, dlls/shell32/shresdef.h
5522# |
5523if test "$enable_shell32_Progress_Dialog" -eq 1; then
5524 patch_apply shell32-Progress_Dialog/0001-shell32-Correct-indentation-in-shfileop.c.patch
5525 patch_apply shell32-Progress_Dialog/0002-shell32-Pass-FILE_INFORMATION-into-SHNotify-function.patch
5526 patch_apply shell32-Progress_Dialog/0003-shell32-Implement-file-operation-progress-dialog.patch
5527 patch_apply shell32-Progress_Dialog/0004-shell32-Show-animation-during-SHFileOperation.patch
5528 (
5529 printf '%s\n' '+ { "Michael Müller", "shell32: Correct indentation in shfileop.c.", 1 },';
5530 printf '%s\n' '+ { "Michael Müller", "shell32: Pass FILE_INFORMATION into SHNotify* functions.", 1 },';
5531 printf '%s\n' '+ { "Michael Müller", "shell32: Implement file operation progress dialog.", 1 },';
5532 printf '%s\n' '+ { "Michael Müller", "shell32: Show animation during SHFileOperation.", 1 },';
5533 ) >> "$patchlist"
5534fi
5535
5536# Patchset shell32-ACE_Viewer
5537# |
5538# | This patchset has the following (direct or indirect) dependencies:
5539# | * ntdll-Junction_Points, server-File_Permissions, ntdll-FileDispositionInformation, kernel32-CopyFileEx,
5540# | shell32-SHFileOperation_Move, shell32-Progress_Dialog
5541# |
5542# | Modified files:
5543# | * dlls/aclui/Makefile.in, dlls/aclui/aclui.rc, dlls/aclui/aclui_main.c, dlls/aclui/resource.h, dlls/aclui/user_icons.bmp,
5544# | dlls/shell32/Makefile.in, dlls/shell32/shell32.rc, dlls/shell32/shlview_cmenu.c, dlls/shell32/shresdef.h
5545# |
5546if test "$enable_shell32_ACE_Viewer" -eq 1; then
5547 patch_apply shell32-ACE_Viewer/0001-aclui-Add-basic-ACE-viewer.patch
5548 patch_apply shell32-ACE_Viewer/0002-shell32-Add-security-property-tab.patch
5549 (
5550 printf '%s\n' '+ { "Michael Müller", "aclui: Add basic ACE viewer.", 1 },';
5551 printf '%s\n' '+ { "Michael Müller", "shell32: Add security property tab.", 1 },';
5552 ) >> "$patchlist"
5553fi
5554
5555# Patchset shell32-Context_Menu
5556# |
5557# | This patchset fixes the following Wine bugs:
5558# | * [#34319] Add support for Paste in context menu
5559# | * [#34322] Fix implementation of Cut file operation
5560# | * [#34321] Fix Cut/Copy/Paste keyboard shortcuts in Total Commander
5561# |
5562# | Modified files:
5563# | * dlls/shell32/brsfolder.c, dlls/shell32/clipboard.c, dlls/shell32/dataobject.c, dlls/shell32/recyclebin.c,
5564# | dlls/shell32/shell32.rc, dlls/shell32/shell32_main.h, dlls/shell32/shellfolder.h, dlls/shell32/shfldr_fs.c,
5565# | dlls/shell32/shfldr_unixfs.c, dlls/shell32/shlview.c, dlls/shell32/shlview_cmenu.c
5566# |
5567if test "$enable_shell32_Context_Menu" -eq 1; then
5568 patch_apply shell32-Context_Menu/0001-shell32-Fix-copying-of-files-when-using-a-context-me.patch
5569 patch_apply shell32-Context_Menu/0002-shell32-Set-return-value-correctly-in-DoPaste.patch
5570 patch_apply shell32-Context_Menu/0003-shell32-Implement-insert-paste-for-item-context-menu.patch
5571 patch_apply shell32-Context_Menu/0005-shell32-Add-support-for-setting-getting-PREFERREDDRO.patch
5572 patch_apply shell32-Context_Menu/0006-shell32-Add-parameter-to-ISFHelper-DeleteItems-to-al.patch
5573 patch_apply shell32-Context_Menu/0007-shell32-Remove-source-files-when-using-cut-in-the-co.patch
5574 patch_apply shell32-Context_Menu/0008-shell32-Recognize-cut-copy-paste-string-verbs-in-ite.patch
5575 (
5576 printf '%s\n' '+ { "Michael Müller", "shell32: Fix copying of files when using a context menu.", 1 },';
5577 printf '%s\n' '+ { "Michael Müller", "shell32: Set return value correctly in DoPaste.", 1 },';
5578 printf '%s\n' '+ { "Michael Müller", "shell32: Implement insert/paste for item context menus.", 1 },';
5579 printf '%s\n' '+ { "Michael Müller", "shell32: Add support for setting/getting PREFERREDDROPEFFECT in IDataObject.", 1 },';
5580 printf '%s\n' '+ { "Michael Müller", "shell32: Add parameter to ISFHelper::DeleteItems to allow deleting files without confirmation.", 1 },';
5581 printf '%s\n' '+ { "Michael Müller", "shell32: Remove source files when using cut in the context menu.", 1 },';
5582 printf '%s\n' '+ { "Michael Müller", "shell32: Recognize cut/copy/paste string verbs in item menu context menu.", 1 },';
5583 ) >> "$patchlist"
5584fi
5585
5586# Patchset shell32-IconCache
5587# |
5588# | This patchset fixes the following Wine bugs:
5589# | * [#45696] shell32: Generate icons from available icons if required.
5590# |
5591# | Modified files:
5592# | * dlls/shell32/iconcache.c
5593# |
5594if test "$enable_shell32_IconCache" -eq 1; then
5595 patch_apply shell32-IconCache/0001-shell32-iconcache-Generate-icons-from-available-icons-.patch
5596 (
5597 printf '%s\n' '+ { "Gabriel Ivăncescu", "shell32/iconcache: Generate icons from available icons if some icon sizes failed to load.", 1 },';
5598 ) >> "$patchlist"
5599fi
5600
5601# Patchset shell32-NewMenu_Interface
5602# |
5603# | This patchset fixes the following Wine bugs:
5604# | * [#24812] Implement shell32 NewMenu class with new folder item
5605# |
5606# | Modified files:
5607# | * dlls/shell32/Makefile.in, dlls/shell32/shell32_classes.idl, dlls/shell32/shell32_main.h, dlls/shell32/shellnew.c,
5608# | dlls/shell32/shellole.c, dlls/shell32/tests/shlview.c
5609# |
5610if test "$enable_shell32_NewMenu_Interface" -eq 1; then
5611 patch_apply shell32-NewMenu_Interface/0001-shell32-Implement-NewMenu-with-new-folder-item.patch
5612 (
5613 printf '%s\n' '+ { "Michael Müller", "shell32: Implement NewMenu with new folder item.", 1 },';
5614 ) >> "$patchlist"
5615fi
5616
5617# Patchset shell32-SFGAO_HASSUBFOLDER
5618# |
5619# | This patchset fixes the following Wine bugs:
5620# | * [#24851] Only set SFGAO_HASSUBFOLDER when there are really subfolders
5621# |
5622# | Modified files:
5623# | * dlls/shell32/shfldr_unixfs.c, dlls/shell32/shlfolder.c
5624# |
5625if test "$enable_shell32_SFGAO_HASSUBFOLDER" -eq 1; then
5626 patch_apply shell32-SFGAO_HASSUBFOLDER/0001-shell32-Set-SFGAO_HASSUBFOLDER-correctly-for-unixfs.patch
5627 patch_apply shell32-SFGAO_HASSUBFOLDER/0002-shell32-Set-SFGAO_HASSUBFOLDER-correctly-for-normal-.patch
5628 (
5629 printf '%s\n' '+ { "Michael Müller", "shell32: Set SFGAO_HASSUBFOLDER correctly for unixfs.", 1 },';
5630 printf '%s\n' '+ { "Michael Müller", "shell32: Set SFGAO_HASSUBFOLDER correctly for normal shellfolders.", 1 },';
5631 ) >> "$patchlist"
5632fi
5633
5634# Patchset shell32-SHGetStockIconInfo
5635# |
5636# | This patchset fixes the following Wine bugs:
5637# | * [#45868] Improve semi-stub SHGetStockIconInfo
5638# |
5639# | Modified files:
5640# | * dlls/shell32/iconcache.c, dlls/shell32/tests/shelllink.c
5641# |
5642if test "$enable_shell32_SHGetStockIconInfo" -eq 1; then
5643 patch_apply shell32-SHGetStockIconInfo/0001-shell32-Improve-semi-stub-SHGetStockIconInfo-try-fin.patch
5644 (
5645 printf '%s\n' '+ { "Louis Lenders", "shell32: Improve semi-stub SHGetStockIconInfo, try find existing iconhandle.", 1 },';
5646 ) >> "$patchlist"
5647fi
5648
5649# Patchset shell32-Toolbar_Bitmaps
5650# |
5651# | This patchset fixes the following Wine bugs:
5652# | * [#40236] Add missing resources for IE6 buttons
5653# |
5654# | Modified files:
5655# | * dlls/shell32/Makefile.in, dlls/shell32/resources/ietoolbar.bmp, dlls/shell32/resources/ietoolbar.svg,
5656# | dlls/shell32/resources/ietoolbar_small.bmp, dlls/shell32/resources/ietoolbar_small.svg, dlls/shell32/shell32.rc
5657# |
5658if test "$enable_shell32_Toolbar_Bitmaps" -eq 1; then
5659 patch_apply shell32-Toolbar_Bitmaps/0001-shell32-Add-toolbar-bitmaps-compatible-with-IE6.patch
5660 patch_apply shell32-Toolbar_Bitmaps/0002-shell32-Add-more-Tango-icons-to-the-IE-toolbar.patch
5661 (
5662 printf '%s\n' '+ { "Dmitry Timoshkov", "shell32: Add toolbar bitmaps compatible with IE6.", 1 },';
5663 printf '%s\n' '+ { "Dmitry Timoshkov", "shell32: Add more Tango icons to the IE toolbar.", 1 },';
5664 ) >> "$patchlist"
5665fi
5666
5667# Patchset shell32-UnixFS
5668# |
5669# | This patchset fixes the following Wine bugs:
5670# | * [#43109] Do not use unixfs for devices without mountpoint
5671# |
5672# | Modified files:
5673# | * dlls/shell32/shfldr_desktop.c, dlls/shell32/tests/shlfolder.c
5674# |
5675if test "$enable_shell32_UnixFS" -eq 1; then
5676 patch_apply shell32-UnixFS/0001-shell32-Do-not-use-unixfs-for-devices-without-mountp.patch
5677 (
5678 printf '%s\n' '+ { "Michael Müller", "shell32: Do not use unixfs for devices without mountpoint.", 1 },';
5679 ) >> "$patchlist"
5680fi
5681
5682# Patchset shlwapi-AssocGetPerceivedType
5683# |
5684# | Modified files:
5685# | * dlls/shlwapi/assoc.c, dlls/shlwapi/tests/assoc.c
5686# |
5687if test "$enable_shlwapi_AssocGetPerceivedType" -eq 1; then
5688 patch_apply shlwapi-AssocGetPerceivedType/0001-shlwapi-tests-Add-tests-for-AssocGetPerceivedType.patch
5689 patch_apply shlwapi-AssocGetPerceivedType/0002-shlwapi-Implement-AssocGetPerceivedType.patch
5690 (
5691 printf '%s\n' '+ { "Mark Jansen", "shlwapi/tests: Add tests for AssocGetPerceivedType.", 1 },';
5692 printf '%s\n' '+ { "Mark Jansen", "shlwapi: Implement AssocGetPerceivedType.", 2 },';
5693 ) >> "$patchlist"
5694fi
5695
5696# Patchset shlwapi-SHAddDataBlock
5697# |
5698# | Modified files:
5699# | * dlls/shlwapi/clist.c, dlls/shlwapi/tests/clist.c
5700# |
5701if test "$enable_shlwapi_SHAddDataBlock" -eq 1; then
5702 patch_apply shlwapi-SHAddDataBlock/0001-shlwapi-Fix-the-return-value-of-SHAddDataBlock.patch
5703 (
5704 printf '%s\n' '+ { "Hermès BÉLUSCA-MAÏTO", "shlwapi: Fix the return value of SHAddDataBlock.", 1 },';
5705 ) >> "$patchlist"
5706fi
5707
5708# Patchset shlwapi-UrlCanonicalize
5709# |
5710# | This patchset fixes the following Wine bugs:
5711# | * [#23166] shlwapi: Support ./ in UrlCanonicalize.
5712# |
5713# | Modified files:
5714# | * dlls/kernelbase/path.c, dlls/shlwapi/tests/url.c
5715# |
5716if test "$enable_shlwapi_UrlCanonicalize" -eq 1; then
5717 patch_apply shlwapi-UrlCanonicalize/0001-shlwapi-Support-.-in-UrlCanonicalize.patch
5718 (
5719 printf '%s\n' '+ { "Alistair Leslie-Hughes", "shlwapi: Support ./ in UrlCanonicalize.", 1 },';
5720 ) >> "$patchlist"
5721fi
5722
5723# Patchset shlwapi-UrlCombine
5724# |
5725# | Modified files:
5726# | * dlls/kernelbase/path.c, dlls/shlwapi/tests/url.c
5727# |
5728if test "$enable_shlwapi_UrlCombine" -eq 1; then
5729 patch_apply shlwapi-UrlCombine/0001-shlwapi-tests-Add-additional-tests-for-UrlCombine-and-.patch
5730 patch_apply shlwapi-UrlCombine/0002-shlwapi-UrlCombineW-workaround-for-relative-paths.patch
5731 (
5732 printf '%s\n' '+ { "Sebastian Lackner", "shlwapi/tests: Add additional tests for UrlCombine and UrlCanonicalize.", 1 },';
5733 printf '%s\n' '+ { "Sebastian Lackner", "shlwapi: UrlCombineW workaround for relative paths.", 1 },';
5734 ) >> "$patchlist"
5735fi
5736
5737# Patchset stdole32.idl-Typelib
5738# |
5739# | Modified files:
5740# | * dlls/stdole32.tlb/std_ole_v1.idl, include/Makefile.in, include/stdole32.idl
5741# |
5742if test "$enable_stdole32_idl_Typelib" -eq 1; then
5743 patch_apply stdole32.idl-Typelib/0001-include-Make-stdole32.idl-a-public-component.patch
5744 (
5745 printf '%s\n' '+ { "Dmitry Timoshkov", "include: Make stdole32.idl a public component.", 1 },';
5746 ) >> "$patchlist"
5747fi
5748
5749# Patchset widl-SLTG_Typelib_Support
5750# |
5751# | Modified files:
5752# | * dlls/oleaut32/typelib.c, dlls/oleaut32/typelib.h, tools/widl/Makefile.in, tools/widl/register.c, tools/widl/typelib.h,
5753# | tools/widl/widl.c, tools/widl/widl.h, tools/widl/write_sltg.c
5754# |
5755if test "$enable_widl_SLTG_Typelib_Support" -eq 1; then
5756 patch_apply widl-SLTG_Typelib_Support/0001-widl-Add-initial-implementation-of-SLTG-typelib-gene.patch
5757 patch_apply widl-SLTG_Typelib_Support/0002-widl-Add-support-for-structures.patch
5758 patch_apply widl-SLTG_Typelib_Support/0003-widl-Properly-align-name-table-entries.patch
5759 patch_apply widl-SLTG_Typelib_Support/0004-widl-More-accurately-report-variable-descriptions-da.patch
5760 patch_apply widl-SLTG_Typelib_Support/0005-widl-Calculate-size-of-instance-for-structures.patch
5761 patch_apply widl-SLTG_Typelib_Support/0006-widl-Write-correct-typekind-to-the-SLTG-typeinfo-blo.patch
5762 patch_apply widl-SLTG_Typelib_Support/0007-widl-Write-SLTG-blocks-according-to-the-index-order.patch
5763 patch_apply widl-SLTG_Typelib_Support/0008-widl-Write-correct-syskind-by-SLTG-typelib-generator.patch
5764 patch_apply widl-SLTG_Typelib_Support/0009-widl-Add-support-for-VT_VOID-and-VT_VARIANT-to-SLTG-.patch
5765 patch_apply widl-SLTG_Typelib_Support/0010-widl-Add-support-for-VT_USERDEFINED-to-SLTG-typelib-.patch
5766 patch_apply widl-SLTG_Typelib_Support/0011-widl-Factor-out-SLTG-tail-initialization.patch
5767 patch_apply widl-SLTG_Typelib_Support/0012-widl-Add-support-for-recursive-type-references-to-SL.patch
5768 patch_apply widl-SLTG_Typelib_Support/0013-widl-Add-support-for-interfaces-to-SLTG-typelib-gene.patch
5769 patch_apply widl-SLTG_Typelib_Support/0014-widl-Add-support-for-inherited-interfaces-to-SLTG-ty.patch
5770 patch_apply widl-SLTG_Typelib_Support/0015-widl-Make-automatic-dispid-generation-scheme-better-.patch
5771 patch_apply widl-SLTG_Typelib_Support/0016-widl-Create-library-block-index-right-after-the-Comp.patch
5772 patch_apply widl-SLTG_Typelib_Support/0017-widl-Fix-generation-of-resources-containing-an-old-t.patch
5773 patch_apply widl-SLTG_Typelib_Support/0018-widl-Add-oldtlb-switch-in-usage-message.patch
5774 patch_apply widl-SLTG_Typelib_Support/0019-widl-Avoid-relying-on-side-effects-when-marking-func.patch
5775 patch_apply widl-SLTG_Typelib_Support/0020-widl-Set-the-lowest-bit-in-the-param-name-to-indicat.patch
5776 patch_apply widl-SLTG_Typelib_Support/0021-oleaut32-Fix-logic-for-deciding-whether-type-descrip.patch
5777 patch_apply widl-SLTG_Typelib_Support/0022-widl-Add-support-for-function-parameter-flags-to-SLT.patch
5778 patch_apply widl-SLTG_Typelib_Support/0023-oleaut32-Implement-decoding-of-SLTG-help-strings.patch
5779 patch_apply widl-SLTG_Typelib_Support/0024-oleaut32-Add-support-for-decoding-SLTG-function-help.patch
5780 patch_apply widl-SLTG_Typelib_Support/0025-oleaut32-Add-support-for-decoding-SLTG-variable-help.patch
5781 patch_apply widl-SLTG_Typelib_Support/0026-widl-Minor-cosmetic-clean-up.patch
5782 (
5783 printf '%s\n' '+ { "Dmitry Timoshkov", "widl: Add initial implementation of SLTG typelib generator.", 1 },';
5784 printf '%s\n' '+ { "Dmitry Timoshkov", "widl: Add support for structures.", 1 },';
5785 printf '%s\n' '+ { "Dmitry Timoshkov", "widl: Properly align name table entries.", 1 },';
5786 printf '%s\n' '+ { "Dmitry Timoshkov", "widl: More accurately report variable descriptions data size.", 1 },';
5787 printf '%s\n' '+ { "Dmitry Timoshkov", "widl: Calculate size of instance for structures.", 1 },';
5788 printf '%s\n' '+ { "Dmitry Timoshkov", "widl: Write correct typekind to the SLTG typeinfo block.", 1 },';
5789 printf '%s\n' '+ { "Dmitry Timoshkov", "widl: Write SLTG blocks according to the index order.", 1 },';
5790 printf '%s\n' '+ { "Dmitry Timoshkov", "widl: Write correct syskind by SLTG typelib generator.", 1 },';
5791 printf '%s\n' '+ { "Dmitry Timoshkov", "widl: Add support for VT_VOID and VT_VARIANT to SLTG typelib generator.", 1 },';
5792 printf '%s\n' '+ { "Dmitry Timoshkov", "widl: Add support for VT_USERDEFINED to SLTG typelib generator.", 1 },';
5793 printf '%s\n' '+ { "Dmitry Timoshkov", "widl: Factor out SLTG tail initialization.", 1 },';
5794 printf '%s\n' '+ { "Dmitry Timoshkov", "widl: Add support for recursive type references to SLTG typelib generator.", 1 },';
5795 printf '%s\n' '+ { "Dmitry Timoshkov", "widl: Add support for interfaces to SLTG typelib generator.", 1 },';
5796 printf '%s\n' '+ { "Dmitry Timoshkov", "widl: Add support for inherited interfaces to SLTG typelib generator.", 1 },';
5797 printf '%s\n' '+ { "Dmitry Timoshkov", "widl: Make automatic dispid generation scheme better match what midl does.", 1 },';
5798 printf '%s\n' '+ { "Dmitry Timoshkov", "widl: Create library block index right after the CompObj one.", 1 },';
5799 printf '%s\n' '+ { "Dmitry Timoshkov", "widl: Fix generation of resources containing an old typelib.", 1 },';
5800 printf '%s\n' '+ { "Sebastian Lackner", "widl: Add --oldtlb switch in usage message.", 1 },';
5801 printf '%s\n' '+ { "Dmitry Timoshkov", "widl: Avoid relying on side effects when marking function index as the last one.", 1 },';
5802 printf '%s\n' '+ { "Dmitry Timoshkov", "widl: Set the lowest bit in the param name to indicate whether type description follows the name.", 1 },';
5803 printf '%s\n' '+ { "Dmitry Timoshkov", "oleaut32: Fix logic for deciding whether type description follows the name.", 2 },';
5804 printf '%s\n' '+ { "Dmitry Timoshkov", "widl: Add support for function parameter flags to SLTG typelib generator.", 1 },';
5805 printf '%s\n' '+ { "Dmitry Timoshkov", "oleaut32: Implement decoding of SLTG help strings.", 1 },';
5806 printf '%s\n' '+ { "Dmitry Timoshkov", "oleaut32: Add support for decoding SLTG function help strings.", 1 },';
5807 printf '%s\n' '+ { "Dmitry Timoshkov", "oleaut32: Add support for decoding SLTG variable help strings.", 1 },';
5808 printf '%s\n' '+ { "Dmitry Timoshkov", "widl: Minor/cosmetic clean up.", 1 },';
5809 ) >> "$patchlist"
5810fi
5811
5812# Patchset stdole32.tlb-SLTG_Typelib
5813# |
5814# | This patchset has the following (direct or indirect) dependencies:
5815# | * widl-SLTG_Typelib_Support
5816# |
5817# | This patchset fixes the following Wine bugs:
5818# | * [#3689] Compile stdole32.tlb in SLTG typelib format
5819# |
5820# | Modified files:
5821# | * dlls/stdole32.tlb/Makefile.in
5822# |
5823if test "$enable_stdole32_tlb_SLTG_Typelib" -eq 1; then
5824 patch_apply stdole32.tlb-SLTG_Typelib/0020-stdole32.tlb-Compile-typelib-with-oldtlb.patch
5825 (
5826 printf '%s\n' '+ { "Sebastian Lackner", "stdole32.tlb: Compile typelib with --oldtlb.", 1 },';
5827 ) >> "$patchlist"
5828fi
5829
5830# Patchset user32-DM_SETDEFID
5831# |
5832# | This patchset fixes the following Wine bugs:
5833# | * [#22764] Use root dialog for DM_SETDEFID/DM_GETDEFID in DefDlgProc
5834# |
5835# | Modified files:
5836# | * dlls/user32/defdlg.c, dlls/user32/dialog.c, dlls/user32/tests/win.c
5837# |
5838if test "$enable_user32_DM_SETDEFID" -eq 1; then
5839 patch_apply user32-DM_SETDEFID/0001-user32-Do-not-initialize-dialog-info-for-every-windo.patch
5840 patch_apply user32-DM_SETDEFID/0002-user32-Use-root-dialog-for-DM_SETDEFID-DM_GETDEFID-i.patch
5841 patch_apply user32-DM_SETDEFID/0003-user32-tests-Add-a-bunch-of-tests-for-DM_SETDEFID-DM.patch
5842 (
5843 printf '%s\n' '+ { "Dmitry Timoshkov", "user32: Do not initialize dialog info for every window passed to DefDlgProc.", 1 },';
5844 printf '%s\n' '+ { "Dmitry Timoshkov", "user32: Use root dialog for DM_SETDEFID/DM_GETDEFID in DefDlgProc.", 1 },';
5845 printf '%s\n' '+ { "Dmitry Timoshkov", "user32/tests: Add a bunch of tests for DM_SETDEFID/DM_GETDEFID handling by a DefDlgProc.", 1 },';
5846 ) >> "$patchlist"
5847fi
5848
5849# Patchset user32-Dialog_Paint_Event
5850# |
5851# | This patchset fixes the following Wine bugs:
5852# | * [#35652] Send WM_PAINT event during dialog creation
5853# |
5854# | Modified files:
5855# | * dlls/user32/dialog.c
5856# |
5857if test "$enable_user32_Dialog_Paint_Event" -eq 1; then
5858 patch_apply user32-Dialog_Paint_Event/0001-user32-Call-UpdateWindow-during-DIALOG_CreateIndirec.patch
5859 (
5860 printf '%s\n' '+ { "Sebastian Lackner", "user32: Call UpdateWindow() during DIALOG_CreateIndirect.", 1 },';
5861 ) >> "$patchlist"
5862fi
5863
5864# Patchset user32-DrawTextExW
5865# |
5866# | This patchset fixes the following Wine bugs:
5867# | * [#22109] Fix handling of invert_y in DrawTextExW
5868# |
5869# | Modified files:
5870# | * dlls/user32/text.c
5871# |
5872if test "$enable_user32_DrawTextExW" -eq 1; then
5873 patch_apply user32-DrawTextExW/0001-user32-Fix-handling-of-invert_y-in-DrawTextExW.patch
5874 (
5875 printf '%s\n' '+ { "Sebastian Lackner", "user32: Fix handling of invert_y in DrawTextExW.", 1 },';
5876 ) >> "$patchlist"
5877fi
5878
5879# Patchset user32-FlashWindowEx
5880# |
5881# | This patchset fixes the following Wine bugs:
5882# | * [#43124] FlashWindowEx: WM_NCACTIVATE behavior is incorrect
5883# |
5884# | Modified files:
5885# | * dlls/user32/tests/win.c, dlls/user32/win.c
5886# |
5887if test "$enable_user32_FlashWindowEx" -eq 1; then
5888 patch_apply user32-FlashWindowEx/0001-user32-Improve-FlashWindowEx-message-and-return-valu.patch
5889 (
5890 printf '%s\n' '+ { "James Coonradt", "user32: Improve FlashWindowEx message and return value.", 1 },';
5891 ) >> "$patchlist"
5892fi
5893
5894# Patchset user32-GetSystemMetrics
5895# |
5896# | This patchset fixes the following Wine bugs:
5897# | * [#18732] Make it possible to change media center / tablet pc status
5898# |
5899# | Modified files:
5900# | * dlls/user32/sysparams.c
5901# |
5902if test "$enable_user32_GetSystemMetrics" -eq 1; then
5903 patch_apply user32-GetSystemMetrics/0001-user32-Allow-changing-the-tablet-media-center-status.patch
5904 (
5905 printf '%s\n' '+ { "Michael Müller", "user32: Allow changing the tablet / media center status via wine registry key.", 1 },';
5906 ) >> "$patchlist"
5907fi
5908
5909# Patchset user32-Implement-CascadeWindows
5910# |
5911# | This patchset fixes the following Wine bugs:
5912# | * [#45968] user32: Implement CascadeWindows
5913# | * [#46197] user32: Implement TileWindows
5914# |
5915# | Modified files:
5916# | * dlls/user32/mdi.c
5917# |
5918if test "$enable_user32_Implement_CascadeWindows" -eq 1; then
5919 patch_apply user32-Implement-CascadeWindows/0001-user32-Implement-CascadeWindows.patch
5920 patch_apply user32-Implement-CascadeWindows/0002-user32-Implement-TileWindows.patch
5921 (
5922 printf '%s\n' '+ { "katahiromz", "user32: Implement CascadeWindows.", 1 },';
5923 printf '%s\n' '+ { "Hirofumi Katayama", "user32: Implement TileWindows.", 1 },';
5924 ) >> "$patchlist"
5925fi
5926
5927# Patchset user32-InternalGetWindowIcon
5928# |
5929# | This patchset fixes the following Wine bugs:
5930# | * [#47915] user32: AddInternalGetWindowIcon stub.
5931# |
5932# | Modified files:
5933# | * dlls/user32/user32.spec, dlls/user32/win.c
5934# |
5935if test "$enable_user32_InternalGetWindowIcon" -eq 1; then
5936 patch_apply user32-InternalGetWindowIcon/0001-user32-AddInternalGetWindowIcon-stub.patch
5937 (
5938 printf '%s\n' '+ { "David Torok", "user32: AddInternalGetWindowIcon stub.", 1 },';
5939 ) >> "$patchlist"
5940fi
5941
5942# Patchset user32-LR_LOADFROMFILE
5943# |
5944# | This patchset fixes the following Wine bugs:
5945# | * [#24963] Workaround for Windows 3.1 apps which call LoadImage(LR_LOADFROMFILE) with a resource id
5946# |
5947# | Modified files:
5948# | * dlls/user32/cursoricon.c
5949# |
5950if test "$enable_user32_LR_LOADFROMFILE" -eq 1; then
5951 patch_apply user32-LR_LOADFROMFILE/0001-user32-Add-a-workaround-for-Windows-3.1-apps-which-c.patch
5952 (
5953 printf '%s\n' '+ { "Dmitry Timoshkov", "user32: Add a workaround for Windows 3.1 apps which call LoadImage(LR_LOADFROMFILE) with a resource id.", 2 },';
5954 ) >> "$patchlist"
5955fi
5956
5957# Patchset user32-ListBox_Size
5958# |
5959# | This patchset fixes the following Wine bugs:
5960# | * [#38142] Fix calculation of listbox size when horizontal scrollbar is present
5961# |
5962# | Modified files:
5963# | * dlls/user32/listbox.c
5964# |
5965if test "$enable_user32_ListBox_Size" -eq 1; then
5966 patch_apply user32-ListBox_Size/0001-user32-Fix-calculation-of-listbox-size-when-horizont.patch
5967 (
5968 printf '%s\n' '+ { "Michael Müller", "user32: Fix calculation of listbox size when horizontal scrollbar is present.", 1 },';
5969 ) >> "$patchlist"
5970fi
5971
5972# Patchset user32-LoadKeyboardLayoutEx
5973# |
5974# | This patchset fixes the following Wine bugs:
5975# | * [#28170] user32: Added LoadKeyboardLayoutEx stub.
5976# |
5977# | Modified files:
5978# | * dlls/user32/input.c, dlls/user32/user32.spec
5979# |
5980if test "$enable_user32_LoadKeyboardLayoutEx" -eq 1; then
5981 patch_apply user32-LoadKeyboardLayoutEx/0001-user32-Added-LoadKeyboardLayoutEx-stub.patch
5982 (
5983 printf '%s\n' '+ { "Austin English", "user32: Added LoadKeyboardLayoutEx stub.", 1 },';
5984 ) >> "$patchlist"
5985fi
5986
5987# Patchset user32-MessageBox_WS_EX_TOPMOST
5988# |
5989# | Modified files:
5990# | * dlls/user32/msgbox.c, dlls/user32/tests/dialog.c
5991# |
5992if test "$enable_user32_MessageBox_WS_EX_TOPMOST" -eq 1; then
5993 patch_apply user32-MessageBox_WS_EX_TOPMOST/0001-user32-tests-Add-some-tests-to-see-when-MessageBox-g.patch
5994 patch_apply user32-MessageBox_WS_EX_TOPMOST/0002-user32-MessageBox-should-be-topmost-when-MB_SYSTEMMO.patch
5995 (
5996 printf '%s\n' '+ { "Dmitry Timoshkov", "user32/tests: Add some tests to see when MessageBox gains WS_EX_TOPMOST style.", 1 },';
5997 printf '%s\n' '+ { "Dmitry Timoshkov", "user32: MessageBox should be topmost when MB_SYSTEMMODAL style is set.", 1 },';
5998 ) >> "$patchlist"
5999fi
6000
6001# Patchset user32-Mouse_Message_Hwnd
6002# |
6003# | This patchset fixes the following Wine bugs:
6004# | * [#22458] Fix issues with inserting symbols by clicking on center in Word 2007 & 2010
6005# | * [#12007] Fix issues with dragging layers between images in Adobe Photoshop 7.0
6006# | * [#9512] Make sure popups don't block access to objects underneath in DVDPro
6007# |
6008# | Modified files:
6009# | * dlls/user32/message.c, dlls/user32/tests/input.c, dlls/winex11.drv/bitblt.c, server/protocol.def, server/window.c
6010# |
6011if test "$enable_user32_Mouse_Message_Hwnd" -eq 1; then
6012 patch_apply user32-Mouse_Message_Hwnd/0001-user32-Try-harder-to-find-a-target-for-mouse-message.patch
6013 patch_apply user32-Mouse_Message_Hwnd/0002-user32-tests-Add-tests-for-clicking-through-layered-.patch
6014 patch_apply user32-Mouse_Message_Hwnd/0003-user32-tests-Add-tests-for-window-region-of-layered-.patch
6015 patch_apply user32-Mouse_Message_Hwnd/0004-user32-tests-Add-tests-for-DC-region.patch
6016 patch_apply user32-Mouse_Message_Hwnd/0005-server-Add-support-for-a-layered-window-region.-v2.patch
6017 (
6018 printf '%s\n' '+ { "Dmitry Timoshkov", "user32: Try harder to find a target for mouse messages.", 1 },';
6019 printf '%s\n' '+ { "Sebastian Lackner", "user32/tests: Add tests for clicking through layered window.", 1 },';
6020 printf '%s\n' '+ { "Sebastian Lackner", "user32/tests: Add tests for window region of layered windows.", 1 },';
6021 printf '%s\n' '+ { "Sebastian Lackner", "user32/tests: Add tests for DC region.", 1 },';
6022 printf '%s\n' '+ { "Dmitry Timoshkov", "server: Add support for a layered window region.", 3 },';
6023 ) >> "$patchlist"
6024fi
6025
6026# Patchset user32-Refresh_MDI_Menus
6027# |
6028# | This patchset fixes the following Wine bugs:
6029# | * [#21855] Refresh MDI menus when DefMDIChildProc(WM_SETTEXT) is called
6030# |
6031# | Modified files:
6032# | * dlls/user32/mdi.c
6033# |
6034if test "$enable_user32_Refresh_MDI_Menus" -eq 1; then
6035 patch_apply user32-Refresh_MDI_Menus/0001-user32-Refresh-MDI-menus-when-DefMDIChildProcW-WM_SE.patch
6036 (
6037 printf '%s\n' '+ { "Sebastian Lackner", "user32: Refresh MDI menus when DefMDIChildProc(WM_SETTEXT) is called.", 1 },';
6038 ) >> "$patchlist"
6039fi
6040
6041# Patchset user32-ScrollWindowEx
6042# |
6043# | This patchset fixes the following Wine bugs:
6044# | * [#37706] Fix return value of ScrollWindowEx for invisible windows
6045# |
6046# | Modified files:
6047# | * dlls/user32/painting.c
6048# |
6049if test "$enable_user32_ScrollWindowEx" -eq 1; then
6050 patch_apply user32-ScrollWindowEx/0001-user32-Fix-return-value-of-ScrollWindowEx-for-invisi.patch
6051 (
6052 printf '%s\n' '+ { "Dmitry Timoshkov", "user32: Fix return value of ScrollWindowEx for invisible windows.", 1 },';
6053 ) >> "$patchlist"
6054fi
6055
6056# Patchset user32-ShowWindow
6057# |
6058# | This patchset fixes the following Wine bugs:
6059# | * [#39731] Fix handling of ShowWindow when window is already visible
6060# |
6061# | Modified files:
6062# | * dlls/user32/winpos.c
6063# |
6064if test "$enable_user32_ShowWindow" -eq 1; then
6065 patch_apply user32-ShowWindow/0001-user32-ShowWindow-should-not-send-message-when-windo.patch
6066 (
6067 printf '%s\n' '+ { "Kimmo Myllyvirta", "user32: ShowWindow should not send message when window is already visible.", 1 },';
6068 ) >> "$patchlist"
6069fi
6070
6071# Patchset user32-msgbox-Support-WM_COPY-mesg
6072# |
6073# | This patchset fixes the following Wine bugs:
6074# | * [#17205] Support WM_COPY in MessageBox dialogs.
6075# |
6076# | Modified files:
6077# | * dlls/user32/msgbox.c, dlls/user32/tests/dialog.c
6078# |
6079if test "$enable_user32_msgbox_Support_WM_COPY_mesg" -eq 1; then
6080 patch_apply user32-msgbox-Support-WM_COPY-mesg/0001-user32-msgbox-Support-WM_COPY-Message.patch
6081 patch_apply user32-msgbox-Support-WM_COPY-mesg/0002-user32-msgbox-Use-a-windows-hook-to-trap-Ctrl-C.patch
6082 (
6083 printf '%s\n' '+ { "Alistair Leslie-Hughes", "user32/msgbox: Support WM_COPY Message.", 1 },';
6084 printf '%s\n' '+ { "Alistair Leslie-Hughes", "user32/msgbox: Use a windows hook to trap Ctrl+C.", 1 },';
6085 ) >> "$patchlist"
6086fi
6087
6088# Patchset winex11.drv-mouse-coorrds
6089# |
6090# | This patchset fixes the following Wine bugs:
6091# | * [#46309] winex11.drv: Use root-relative coordinates for events, if possible.
6092# |
6093# | Modified files:
6094# | * dlls/winex11.drv/mouse.c
6095# |
6096if test "$enable_winex11_drv_mouse_coorrds" -eq 1; then
6097 patch_apply winex11.drv-mouse-coorrds/0001-winex11.drv-mouse-Use-root-relative-coordinates-for-ev.patch
6098 (
6099 printf '%s\n' '+ { "Gabriel Ivăncescu", "winex11.drv/mouse: Use root-relative coordinates for events, if possible.", 1 },';
6100 ) >> "$patchlist"
6101fi
6102
6103# Patchset user32-rawinput-mouse
6104# |
6105# | This patchset has the following (direct or indirect) dependencies:
6106# | * winex11.drv-mouse-coorrds
6107# |
6108# | This patchset fixes the following Wine bugs:
6109# | * [#42631] Mouse drift, jump or don't react to small slow movements in Unity-engine games and Fallout 4 (partly fixed in
6110# | Unity games, have walkaround in Fallout4 )
6111# | * [#42675] Overwatch: Phantom mouse input / view pulled up to ceiling
6112# |
6113# | Modified files:
6114# | * dlls/dinput/device_private.h, dlls/dinput/dinput_main.c, dlls/dinput/mouse.c, dlls/dinput8/tests/device.c,
6115# | dlls/user32/input.c, dlls/user32/rawinput.c, dlls/user32/tests/input.c, dlls/user32/user32.spec,
6116# | dlls/wineandroid.drv/keyboard.c, dlls/wineandroid.drv/window.c, dlls/winemac.drv/ime.c, dlls/winemac.drv/keyboard.c,
6117# | dlls/winemac.drv/mouse.c, dlls/winex11.drv/event.c, dlls/winex11.drv/keyboard.c, dlls/winex11.drv/mouse.c,
6118# | dlls/winex11.drv/x11drv.h, dlls/winex11.drv/x11drv_main.c, include/winuser.h, server/protocol.def, server/queue.c
6119# |
6120if test "$enable_user32_rawinput_mouse" -eq 1; then
6121 patch_apply user32-rawinput-mouse/0001-user32-tests-Add-rawinput-test-for-ClipCursor-intera.patch
6122 patch_apply user32-rawinput-mouse/0002-user32-tests-Add-rawinput-test-for-cross-thread-inte.patch
6123 patch_apply user32-rawinput-mouse/0003-user32-tests-Add-rawinput-test-for-cross-process-int.patch
6124 patch_apply user32-rawinput-mouse/0004-server-Add-send_hardware_message-flags-for-rawinput-.patch
6125 patch_apply user32-rawinput-mouse/0005-server-Broadcast-rawinput-message-if-request-flag-is.patch
6126 patch_apply user32-rawinput-mouse/0006-user32-Add-__wine_send_input-flags-to-hint-raw-input.patch
6127 patch_apply user32-rawinput-mouse/0007-winex11.drv-Advertise-XInput2-version-2.1-support.patch
6128 patch_apply user32-rawinput-mouse/0008-winex11.drv-Keep-track-of-pointer-and-device-button-.patch
6129 patch_apply user32-rawinput-mouse/0009-winex11.drv-Listen-to-RawMotion-and-RawButton-events.patch
6130 patch_apply user32-rawinput-mouse/0010-user32-Implement-GetRegisteredRawInputDevices.patch
6131 patch_apply user32-rawinput-mouse/0011-dinput8-Add-support-for-dinput-devices-that-use-raw-.patch
6132 patch_apply user32-rawinput-mouse/0012-dinput8-Use-raw-input-interface-for-dinput8-mouse-de.patch
6133 (
6134 printf '%s\n' '+ { "Rémi Bernon", "user32/tests: Add rawinput test for ClipCursor interactions.", 1 },';
6135 printf '%s\n' '+ { "Rémi Bernon", "user32/tests: Add rawinput test for cross-thread interactions.", 1 },';
6136 printf '%s\n' '+ { "Rémi Bernon", "user32/tests: Add rawinput test for cross-process interactions.", 1 },';
6137 printf '%s\n' '+ { "Rémi Bernon", "server: Add send_hardware_message flags for rawinput translation.", 1 },';
6138 printf '%s\n' '+ { "Rémi Bernon", "server: Broadcast rawinput message if request flag is SEND_HWMSG_RAWINPUT.", 1 },';
6139 printf '%s\n' '+ { "Rémi Bernon", "user32: Add __wine_send_input flags to hint raw input translation.", 1 },';
6140 printf '%s\n' '+ { "Rémi Bernon", "winex11.drv: Advertise XInput2 version 2.1 support.", 1 },';
6141 printf '%s\n' '+ { "Rémi Bernon", "winex11.drv: Keep track of pointer and device button mappings.", 1 },';
6142 printf '%s\n' '+ { "Rémi Bernon", "winex11.drv: Listen to RawMotion and RawButton* events in the desktop thread.", 1 },';
6143 printf '%s\n' '+ { "Rémi Bernon", "user32: Implement GetRegisteredRawInputDevices.", 1 },';
6144 printf '%s\n' '+ { "Rémi Bernon", "dinput8: Add support for dinput devices that use raw input interface.", 1 },';
6145 printf '%s\n' '+ { "Rémi Bernon", "dinput8: Use raw input interface for dinput8 mouse device.", 1 },';
6146 ) >> "$patchlist"
6147fi
6148
6149# Patchset user32-rawinput-nolegacy
6150# |
6151# | This patchset has the following (direct or indirect) dependencies:
6152# | * winex11.drv-mouse-coorrds, user32-rawinput-mouse
6153# |
6154# | Modified files:
6155# | * dlls/dinput/dinput_main.c, dlls/dinput8/tests/device.c, dlls/user32/rawinput.c, server/queue.c
6156# |
6157if test "$enable_user32_rawinput_nolegacy" -eq 1; then
6158 patch_apply user32-rawinput-nolegacy/0001-dinput8-tests-Add-test-for-DISCL_EXCLUSIVE-flag-inte.patch
6159 patch_apply user32-rawinput-nolegacy/0002-user32-Add-support-for-RIDEV_NOLEGACY-flag-in-Regist.patch
6160 patch_apply user32-rawinput-nolegacy/0003-dinput-Set-RIDEV_INPUTSINK-flag-only-when-DISCL_BACK.patch
6161 patch_apply user32-rawinput-nolegacy/0004-dinput-Set-correct-rawinput-flags-for-DISCL_EXCLUSIV.patch
6162 patch_apply user32-rawinput-nolegacy/0005-server-Update-desktop-cursor-pos-even-if-RIDEV_NOLEG.patch
6163 (
6164 printf '%s\n' '+ { "Rémi Bernon", "dinput8/tests: Add test for DISCL_EXCLUSIVE flag interaction with rawinput.", 1 },';
6165 printf '%s\n' '+ { "Derek Lesho", "user32: Add support for RIDEV_NOLEGACY flag in RegisterRawInputDevices.", 1 },';
6166 printf '%s\n' '+ { "Rémi Bernon", "dinput: Set RIDEV_INPUTSINK flag only when DISCL_BACKGROUND is requested.", 1 },';
6167 printf '%s\n' '+ { "Rémi Bernon", "dinput: Set correct rawinput flags for DISCL_EXCLUSIVE.", 1 },';
6168 printf '%s\n' '+ { "Rémi Bernon", "server: Update desktop cursor pos even if RIDEV_NOLEGACY flag is set.", 1 },';
6169 ) >> "$patchlist"
6170fi
6171
6172# Patchset user32-rawinput-hid
6173# |
6174# | This patchset has the following (direct or indirect) dependencies:
6175# | * winex11.drv-mouse-coorrds, user32-rawinput-mouse, user32-rawinput-nolegacy
6176# |
6177# | Modified files:
6178# | * dlls/hidclass.sys/device.c, dlls/hidclass.sys/hid.h, dlls/hidclass.sys/pnp.c, dlls/user32/message.c,
6179# | dlls/user32/rawinput.c, dlls/user32/user_private.h, server/protocol.def, server/queue.c, server/trace.c
6180# |
6181if test "$enable_user32_rawinput_hid" -eq 1; then
6182 patch_apply user32-rawinput-hid/0001-server-Add-process-argument-to-find_rawinput_device.patch
6183 patch_apply user32-rawinput-hid/0002-server-Allow-extra-data-for-hardware_msg_data-messag.patch
6184 patch_apply user32-rawinput-hid/0003-server-Add-HID-input-message-type-to-send_hardware_m.patch
6185 patch_apply user32-rawinput-hid/0004-user32-Implement-WM_INPUT-RIM_TYPEHID-message-handli.patch
6186 patch_apply user32-rawinput-hid/0005-hidclass.sys-Send-input-message-to-server-when-HID-r.patch
6187 (
6188 printf '%s\n' '+ { "Rémi Bernon", "server: Add process argument to find_rawinput_device.", 1 },';
6189 printf '%s\n' '+ { "Rémi Bernon", "server: Allow extra data for hardware_msg_data message.", 1 },';
6190 printf '%s\n' '+ { "Rémi Bernon", "server: Add HID input message type to send_hardware_message request.", 1 },';
6191 printf '%s\n' '+ { "Rémi Bernon", "user32: Implement WM_INPUT/RIM_TYPEHID message handling.", 1 },';
6192 printf '%s\n' '+ { "Rémi Bernon", "hidclass.sys: Send input message to server when HID report is received.", 1 },';
6193 ) >> "$patchlist"
6194fi
6195
6196# Patchset user32-rawinput-mouse-experimental
6197# |
6198# | This patchset has the following (direct or indirect) dependencies:
6199# | * winex11.drv-mouse-coorrds, user32-rawinput-mouse, user32-rawinput-nolegacy
6200# |
6201# | This patchset fixes the following Wine bugs:
6202# | * [#45882] - Raw Input should use untransformed mouse values (affects Overwatch, several Source games).
6203# |
6204# | Modified files:
6205# | * dlls/user32/message.c, dlls/winex11.drv/mouse.c, dlls/winex11.drv/x11drv.h, dlls/winex11.drv/x11drv_main.c,
6206# | server/queue.c
6207# |
6208if test "$enable_user32_rawinput_mouse_experimental" -eq 1; then
6209 patch_apply user32-rawinput-mouse-experimental/0001-winex11.drv-Add-support-for-absolute-RawMotion-event.patch
6210 patch_apply user32-rawinput-mouse-experimental/0002-winex11.drv-Send-relative-RawMotion-events-unprocess.patch
6211 patch_apply user32-rawinput-mouse-experimental/0003-winex11.drv-Accumulate-mouse-movement-to-avoid-round.patch
6212 (
6213 printf '%s\n' '+ { "Derek Lesho", "winex11.drv: Add support for absolute RawMotion events.", 1 },';
6214 printf '%s\n' '+ { "Rémi Bernon", "winex11.drv: Send relative RawMotion events unprocessed.", 1 },';
6215 printf '%s\n' '+ { "Jordan Galby", "winex11.drv: Accumulate mouse movement to avoid rounding losses.", 1 },';
6216 ) >> "$patchlist"
6217fi
6218
6219# Patchset user32-recursive-activation
6220# |
6221# | This patchset fixes the following Wine bugs:
6222# | * [#46274] user32: Prevent a recursive loop with the activation messages.
6223# |
6224# | Modified files:
6225# | * dlls/user32/focus.c, dlls/user32/tests/msg.c, dlls/user32/win.h
6226# |
6227if test "$enable_user32_recursive_activation" -eq 1; then
6228 patch_apply user32-recursive-activation/0001-user32-focus-Prevent-a-recursive-loop-with-the-activ.patch
6229 patch_apply user32-recursive-activation/0002-user32-tests-Test-a-recursive-activation-loop-on-WM_.patch
6230 (
6231 printf '%s\n' '+ { "Gabriel Ivăncescu", "user32/focus: Prevent a recursive loop with the activation messages.", 1 },';
6232 printf '%s\n' '+ { "Gabriel Ivăncescu", "user32/tests: Test a recursive activation loop on WM_ACTIVATE.", 1 },';
6233 ) >> "$patchlist"
6234fi
6235
6236# Patchset user32-window-activation
6237# |
6238# | This patchset has the following (direct or indirect) dependencies:
6239# | * user32-recursive-activation
6240# |
6241# | This patchset fixes the following Wine bugs:
6242# | * [#47507] Send a WM_ACTIVATE message after restoring a minimized window.
6243# |
6244# | Modified files:
6245# | * dlls/user32/tests/msg.c, dlls/user32/winpos.c
6246# |
6247if test "$enable_user32_window_activation" -eq 1; then
6248 patch_apply user32-window-activation/0001-user32-Send-a-WM_ACTIVATE-message-after-restoring-a-.patch
6249 (
6250 printf '%s\n' '+ { "Zhiyi Zhang", "user32: Send a WM_ACTIVATE message after restoring a minimized window.", 1 },';
6251 ) >> "$patchlist"
6252fi
6253
6254# Patchset uxtheme-CloseThemeClass
6255# |
6256# | This patchset fixes the following Wine bugs:
6257# | * [#41729] Protect CloseThemeData() from invalid input
6258# |
6259# | Modified files:
6260# | * dlls/uxtheme/msstyles.c, dlls/uxtheme/msstyles.h, dlls/uxtheme/tests/system.c
6261# |
6262if test "$enable_uxtheme_CloseThemeClass" -eq 1; then
6263 patch_apply uxtheme-CloseThemeClass/0001-uxtheme-Protect-CloseThemeData-from-invalid-input.patch
6264 (
6265 printf '%s\n' '+ { "Dmitry Timoshkov", "uxtheme: Protect CloseThemeData() from invalid input.", 1 },';
6266 ) >> "$patchlist"
6267fi
6268
6269# Patchset uxtheme-GTK_Theming
6270# |
6271# | This patchset has the following (direct or indirect) dependencies:
6272# | * uxtheme-CloseThemeClass
6273# |
6274# | Modified files:
6275# | * configure.ac, dlls/uxtheme/Makefile.in, dlls/uxtheme/buffer.c, dlls/uxtheme/draw.c, dlls/uxtheme/gtk-button.c,
6276# | dlls/uxtheme/gtk-combobox.c, dlls/uxtheme/gtk-edit.c, dlls/uxtheme/gtk-header.c, dlls/uxtheme/gtk-listbox.c,
6277# | dlls/uxtheme/gtk-listview.c, dlls/uxtheme/gtk-menu.c, dlls/uxtheme/gtk-rebar.c, dlls/uxtheme/gtk-status.c, dlls/uxtheme
6278# | /gtk-tab.c, dlls/uxtheme/gtk-toolbar.c, dlls/uxtheme/gtk-trackbar.c, dlls/uxtheme/gtk-window.c, dlls/uxtheme/gtk.c,
6279# | dlls/uxtheme/main.c, dlls/uxtheme/metric.c, dlls/uxtheme/msstyles.c, dlls/uxtheme/property.c, dlls/uxtheme/stylemap.c,
6280# | dlls/uxtheme/system.c, dlls/uxtheme/uxini.c, dlls/uxtheme/uxthemedll.h, dlls/uxtheme/uxthemegtk.h, tools/makedep.c
6281# |
6282if test "$enable_uxtheme_GTK_Theming" -eq 1; then
6283 patch_apply uxtheme-GTK_Theming/0000-Revert-uxtheme-Build-with-msvcrt.patch
6284 patch_apply uxtheme-GTK_Theming/0001-uxtheme-Initial-implementation-of-GTK-backend.patch
6285 patch_apply uxtheme-GTK_Theming/0002-makefiles-Only-apply-non-include-path-EXTRAINCL-flag.patch
6286 patch_apply uxtheme-GTK_Theming/0003-uxtheme-Correctly-render-buttons-with-GTK-3.14.0.patch
6287 patch_apply uxtheme-GTK_Theming/0004-uxtheme-Reset-FPU-flags-before-calling-GTK3-function.patch
6288 patch_apply uxtheme-GTK_Theming/0005-uxtheme-Fix-some-incorrect-error-codes.patch
6289 (
6290 printf '%s\n' '+ { "Zebediah Figura", "Revert \"uxtheme: Build with msvcrt.\".", 1 },';
6291 printf '%s\n' '+ { "Ivan Akulinchev", "uxtheme: Initial implementation of GTK backend.", 1 },';
6292 printf '%s\n' '+ { "Zebediah Figura", "makefiles: Only apply non-include-path EXTRAINCL flags to C sources.", 1 },';
6293 printf '%s\n' '+ { "Sebastian Lackner", "uxtheme: Correctly render buttons with GTK >= 3.14.0.", 1 },';
6294 printf '%s\n' '+ { "Michael Müller", "uxtheme: Reset FPU flags before calling GTK3 functions.", 1 },';
6295 printf '%s\n' '+ { "Sebastian Lackner", "uxtheme: Fix some incorrect error codes.", 1 },';
6296 ) >> "$patchlist"
6297fi
6298
6299# Patchset version-VerQueryValue
6300# |
6301# | Modified files:
6302# | * dlls/version/tests/info.c
6303# |
6304if test "$enable_version_VerQueryValue" -eq 1; then
6305 patch_apply version-VerQueryValue/0001-version-Test-for-VerQueryValueA-try-2.patch
6306 (
6307 printf '%s\n' '+ { "Mark Jansen", "version: Test for VerQueryValueA.", 2 },';
6308 ) >> "$patchlist"
6309fi
6310
6311# Patchset windowscodecs-GIF_Encoder
6312# |
6313# | Modified files:
6314# | * dlls/gdiplus/tests/image.c, dlls/windowscodecs/clsfactory.c, dlls/windowscodecs/gifformat.c,
6315# | dlls/windowscodecs/regsvr.c, dlls/windowscodecs/tests/converter.c, dlls/windowscodecs/wincodecs_private.h,
6316# | dlls/windowscodecs/windowscodecs_wincodec.idl
6317# |
6318if test "$enable_windowscodecs_GIF_Encoder" -eq 1; then
6319 patch_apply windowscodecs-GIF_Encoder/0007-windowscodecs-tests-Add-IWICBitmapEncoderInfo-test.patch
6320 patch_apply windowscodecs-GIF_Encoder/0008-windowscodecs-Add-initial-implementation-of-the-GIF-.patch
6321 patch_apply windowscodecs-GIF_Encoder/0010-windowscodecs-Initialize-empty-property-bag-in-GIF-e.patch
6322 patch_apply windowscodecs-GIF_Encoder/0020-windowscodecs-Add-registration-of-the-GIF-encoder.patch
6323 patch_apply windowscodecs-GIF_Encoder/0021-windowscodecs-Fix-IWICBitmapDecoder-CopyPalette-for-.patch
6324 patch_apply windowscodecs-GIF_Encoder/0022-windowscodecs-Better-follow-the-GIF-spec-and-don-t-s.patch
6325 patch_apply windowscodecs-GIF_Encoder/0026-windowscodecs-tests-Add-the-tests-for-GIF-encoder-an.patch
6326 patch_apply windowscodecs-GIF_Encoder/0028-windowscodecs-Correctly-indicate-that-the-global-inf.patch
6327 (
6328 printf '%s\n' '+ { "Alistair Leslie-Hughes", "windowscodecs/tests: Add IWICBitmapEncoderInfo test.", 1 },';
6329 printf '%s\n' '+ { "Dmitry Timoshkov", "windowscodecs: Add initial implementation of the GIF encoder.", 1 },';
6330 printf '%s\n' '+ { "Dmitry Timoshkov", "windowscodecs: Initialize empty property bag in GIF encoder'\''s CreateNewFrame implementation.", 1 },';
6331 printf '%s\n' '+ { "Dmitry Timoshkov", "windowscodecs: Add registration of the GIF encoder.", 1 },';
6332 printf '%s\n' '+ { "Dmitry Timoshkov", "windowscodecs: Fix IWICBitmapDecoder::CopyPalette for a not initialized case in the GIF decoder.", 1 },';
6333 printf '%s\n' '+ { "Dmitry Timoshkov", "windowscodecs: Better follow the GIF spec and don'\''t specify the local color table size if there is no local palette.", 1 },';
6334 printf '%s\n' '+ { "Dmitry Timoshkov", "windowscodecs/tests: Add the tests for GIF encoder and decoder.", 1 },';
6335 printf '%s\n' '+ { "Dmitry Timoshkov", "windowscodecs: Correctly indicate that the global info was written even without the global palette.", 1 },';
6336 ) >> "$patchlist"
6337fi
6338
6339# Patchset windowscodecs-TIFF_Support
6340# |
6341# | This patchset has the following (direct or indirect) dependencies:
6342# | * windowscodecs-GIF_Encoder
6343# |
6344# | Modified files:
6345# | * dlls/gdiplus/image.c, dlls/gdiplus/tests/image.c, dlls/windowscodecs/metadatahandler.c, dlls/windowscodecs/regsvr.c,
6346# | dlls/windowscodecs/tests/tiffformat.c, dlls/windowscodecs/tiffformat.c, include/wincodec.idl
6347# |
6348if test "$enable_windowscodecs_TIFF_Support" -eq 1; then
6349 patch_apply windowscodecs-TIFF_Support/0006-windowscodecs-Add-support-for-16bppGray-and-32bppGra.patch
6350 patch_apply windowscodecs-TIFF_Support/0007-windowscodecs-Add-support-for-3bps-RGB-format-to-TIF.patch
6351 patch_apply windowscodecs-TIFF_Support/0008-windowscodecs-Add-support-for-12bpp-RGB-format-to-TI.patch
6352 patch_apply windowscodecs-TIFF_Support/0009-windowscodecs-Add-support-for-128bppRGBAFloat-format.patch
6353 patch_apply windowscodecs-TIFF_Support/0011-windowscodecs-Add-support-for-32bppCMYK-and-64bppCMY.patch
6354 patch_apply windowscodecs-TIFF_Support/0012-windowscodecs-Add-support-for-4bpp-RGBA-format-to-TI.patch
6355 patch_apply windowscodecs-TIFF_Support/0013-windowscodecs-Add-support-for-16bpp-RGBA-format-to-T.patch
6356 patch_apply windowscodecs-TIFF_Support/0014-windowscodecs-Add-some-tests-for-various-TIFF-color-.patch
6357 patch_apply windowscodecs-TIFF_Support/0015-windowscodecs-Tolerate-partial-reads-in-the-IFD-meta.patch
6358 patch_apply windowscodecs-TIFF_Support/0016-gdiplus-Add-support-for-more-image-color-formats.patch
6359 patch_apply windowscodecs-TIFF_Support/0017-gdiplus-tests-Add-some-tests-for-loading-TIFF-images.patch
6360 (
6361 printf '%s\n' '+ { "Dmitry Timoshkov", "windowscodecs: Add support for 16bppGray and 32bppGrayFloat formats to TIFF decoder.", 1 },';
6362 printf '%s\n' '+ { "Dmitry Timoshkov", "windowscodecs: Add support for 3bps RGB format to TIFF decoder.", 1 },';
6363 printf '%s\n' '+ { "Dmitry Timoshkov", "windowscodecs: Add support for 12bpp RGB format to TIFF decoder.", 1 },';
6364 printf '%s\n' '+ { "Dmitry Timoshkov", "windowscodecs: Add support for 128bppRGBAFloat format to TIFF decoder.", 1 },';
6365 printf '%s\n' '+ { "Dmitry Timoshkov", "windowscodecs: Add support for 32bppCMYK and 64bppCMYK formats to TIFF decoder.", 1 },';
6366 printf '%s\n' '+ { "Dmitry Timoshkov", "windowscodecs: Add support for 4bpp RGBA format to TIFF decoder.", 1 },';
6367 printf '%s\n' '+ { "Dmitry Timoshkov", "windowscodecs: Add support for 16bpp RGBA format to TIFF decoder.", 1 },';
6368 printf '%s\n' '+ { "Dmitry Timoshkov", "windowscodecs: Add some tests for various TIFF color formats.", 1 },';
6369 printf '%s\n' '+ { "Dmitry Timoshkov", "windowscodecs: Tolerate partial reads in the IFD metadata loader.", 1 },';
6370 printf '%s\n' '+ { "Dmitry Timoshkov", "gdiplus: Add support for more image color formats.", 1 },';
6371 printf '%s\n' '+ { "Dmitry Timoshkov", "gdiplus/tests: Add some tests for loading TIFF images in various color formats.", 1 },';
6372 ) >> "$patchlist"
6373fi
6374
6375# Patchset wine.inf-Directory_ContextMenuHandlers
6376# |
6377# | This patchset fixes the following Wine bugs:
6378# | * [#29523] Add 'New' context menu handler entry for directories
6379# |
6380# | Modified files:
6381# | * loader/wine.inf.in
6382# |
6383if test "$enable_wine_inf_Directory_ContextMenuHandlers" -eq 1; then
6384 patch_apply wine.inf-Directory_ContextMenuHandlers/0001-wine.inf-Add-New-context-menu-handler-entry-for-dire.patch
6385 (
6386 printf '%s\n' '+ { "Michael Müller", "wine.inf: Add '\''New'\'' context menu handler entry for directories.", 1 },';
6387 ) >> "$patchlist"
6388fi
6389
6390# Patchset wine.inf-Dummy_CA_Certificate
6391# |
6392# | Modified files:
6393# | * loader/wine.inf.in
6394# |
6395if test "$enable_wine_inf_Dummy_CA_Certificate" -eq 1; then
6396 patch_apply wine.inf-Dummy_CA_Certificate/0001-wine.inf.in-Add-invalid-dummy-certificate-to-CA-cert.patch
6397 (
6398 printf '%s\n' '+ { "Michael Müller", "wine.inf.in: Add invalid dummy certificate to CA certificate store.", 1 },';
6399 ) >> "$patchlist"
6400fi
6401
6402# Patchset wine.inf-Performance
6403# |
6404# | This patchset fixes the following Wine bugs:
6405# | * [#33661] Add performance library registry keys needed by MS SQL Server Management Studio Express 2008 R2
6406# | * [#33037] Visual Studio 6 can't be installed with WinVer >= Win2K (missing HKEY_PERFORMANCE_DATA 230, process object)
6407# |
6408# | Modified files:
6409# | * dlls/advapi32/tests/registry.c, loader/wine.inf.in
6410# |
6411if test "$enable_wine_inf_Performance" -eq 1; then
6412 patch_apply wine.inf-Performance/0001-wine.inf-Add-registry-keys-for-Windows-Performance-L.patch
6413 patch_apply wine.inf-Performance/0002-wine.inf-Add-Counters-to-the-perflib-key-as-an-alias.patch
6414 patch_apply wine.inf-Performance/0003-advapi32-tests-Add-test-for-perflib-registry-key.patch
6415 (
6416 printf '%s\n' '+ { "Daniel Jelinski", "wine.inf: Add registry keys for Windows Performance Library.", 1 },';
6417 printf '%s\n' '+ { "Dmitry Timoshkov", "wine.inf: Add '\''Counters'\'' to the perflib key as an alias for '\''Counter'\''.", 1 },';
6418 printf '%s\n' '+ { "Michael Müller", "advapi32/tests: Add test for perflib registry key.", 1 },';
6419 ) >> "$patchlist"
6420fi
6421
6422# Patchset wineboot-DriveSerial
6423# |
6424# | This patchset fixes the following Wine bugs:
6425# | * [#17823] Assign a drive serial number during prefix creation/update
6426# |
6427# | Modified files:
6428# | * programs/wineboot/wineboot.c
6429# |
6430if test "$enable_wineboot_DriveSerial" -eq 1; then
6431 patch_apply wineboot-DriveSerial/0001-wineboot-Assign-a-drive-serial-number-during-prefix-.patch
6432 (
6433 printf '%s\n' '+ { "Sebastian Lackner", "wineboot: Assign a drive serial number during prefix creation/update.", 1 },';
6434 ) >> "$patchlist"
6435fi
6436
6437# Patchset wineboot-HKEY_DYN_DATA
6438# |
6439# | This patchset fixes the following Wine bugs:
6440# | * [#7115] Need for Speed 3 installer requires devices in HKEY_DYN_DATA
6441# |
6442# | Modified files:
6443# | * programs/wineboot/wineboot.c
6444# |
6445if test "$enable_wineboot_HKEY_DYN_DATA" -eq 1; then
6446 patch_apply wineboot-HKEY_DYN_DATA/0001-wineboot-Add-some-generic-hardware-in-HKEY_DYN_DATA-.patch
6447 (
6448 printf '%s\n' '+ { "Michael Müller", "wineboot: Add some generic hardware in HKEY_DYN_DATA\\Config Manager\\Enum.", 1 },';
6449 ) >> "$patchlist"
6450fi
6451
6452# Patchset wineboot-drivers_etc_Stubs
6453# |
6454# | This patchset fixes the following Wine bugs:
6455# | * [#12076] Create stub files for system32/drivers/etc/{services,hosts,networks,protocol}
6456# |
6457# | Modified files:
6458# | * programs/wineboot/wineboot.c
6459# |
6460if test "$enable_wineboot_drivers_etc_Stubs" -eq 1; then
6461 patch_apply wineboot-drivers_etc_Stubs/0001-wineboot-Init-system32-drivers-etc-host-networks-pro.patch
6462 (
6463 printf '%s\n' '+ { "Sebastian Lackner", "wineboot: Init system32/drivers/etc/{host,networks,protocol,services}.", 1 },';
6464 ) >> "$patchlist"
6465fi
6466
6467# Patchset wineboot-ProxySettings
6468# |
6469# | This patchset has the following (direct or indirect) dependencies:
6470# | * wineboot-DriveSerial, wineboot-drivers_etc_Stubs
6471# |
6472# | This patchset fixes the following Wine bugs:
6473# | * [#42024] Create ProxyEnable key on wineprefix update
6474# |
6475# | Modified files:
6476# | * programs/wineboot/Makefile.in, programs/wineboot/wineboot.c
6477# |
6478if test "$enable_wineboot_ProxySettings" -eq 1; then
6479 patch_apply wineboot-ProxySettings/0001-wineboot-Initialize-proxy-settings-registry-key.patch
6480 (
6481 printf '%s\n' '+ { "Michael Müller", "wineboot: Initialize proxy settings registry key.", 1 },';
6482 ) >> "$patchlist"
6483fi
6484
6485# Patchset winecfg-Libraries
6486# |
6487# | Modified files:
6488# | * programs/winecfg/libraries.c
6489# |
6490if test "$enable_winecfg_Libraries" -eq 1; then
6491 patch_apply winecfg-Libraries/0001-winecfg-Double-click-in-dlls-list-to-edit-item-s-ove.patch
6492 (
6493 printf '%s\n' '+ { "Hao Peng", "winecfg: Double click in dlls list to edit item'\''s overides.", 3 },';
6494 ) >> "$patchlist"
6495fi
6496
6497# Patchset winecfg-Staging
6498# |
6499# | Modified files:
6500# | * programs/winecfg/Makefile.in, programs/winecfg/about.c, programs/winecfg/main.c, programs/winecfg/resource.h,
6501# | programs/winecfg/staging.c, programs/winecfg/winecfg.h, programs/winecfg/winecfg.rc
6502# |
6503if test "$enable_winecfg_Staging" -eq 1; then
6504 patch_apply winecfg-Staging/0001-winecfg-Add-staging-tab-for-CSMT.patch
6505 patch_apply winecfg-Staging/0002-winecfg-Add-checkbox-to-enable-disable-vaapi-GPU-dec.patch
6506 patch_apply winecfg-Staging/0003-winecfg-Add-checkbox-to-enable-disable-EAX-support.patch
6507 patch_apply winecfg-Staging/0004-winecfg-Add-checkbox-to-enable-disable-HideWineExpor.patch
6508 patch_apply winecfg-Staging/0005-winecfg-Add-option-to-enable-disable-GTK3-theming.patch
6509 (
6510 printf '%s\n' '+ { "Michael Müller", "winecfg: Add staging tab for CSMT.", 1 },';
6511 printf '%s\n' '+ { "Sebastian Lackner", "winecfg: Add checkbox to enable/disable vaapi GPU decoder.", 1 },';
6512 printf '%s\n' '+ { "Mark Harmstone", "winecfg: Add checkbox to enable/disable EAX support.", 1 },';
6513 printf '%s\n' '+ { "Sebastian Lackner", "winecfg: Add checkbox to enable/disable HideWineExports registry key.", 1 },';
6514 printf '%s\n' '+ { "Michael Müller", "winecfg: Add option to enable/disable GTK3 theming.", 1 },';
6515 ) >> "$patchlist"
6516fi
6517
6518# Patchset winecfg-Unmounted_Devices
6519# |
6520# | Modified files:
6521# | * programs/winecfg/drive.c, programs/winecfg/drivedetect.c, programs/winecfg/driveui.c
6522# |
6523if test "$enable_winecfg_Unmounted_Devices" -eq 1; then
6524 patch_apply winecfg-Unmounted_Devices/0001-winecfg-Show-unmounted-devices-and-allow-changing-th.patch
6525 (
6526 printf '%s\n' '+ { "Michael Müller", "winecfg: Show unmounted devices and allow changing the device value.", 1 },';
6527 ) >> "$patchlist"
6528fi
6529
6530# Patchset wined3d-Accounting
6531# |
6532# | Modified files:
6533# | * dlls/wined3d/adapter_gl.c, dlls/wined3d/device.c, dlls/wined3d/wined3d_gl.h
6534# |
6535if test "$enable_wined3d_Accounting" -eq 1; then
6536 patch_apply wined3d-Accounting/0001-wined3d-Use-real-values-for-memory-accounting-on-NVI.patch
6537 (
6538 printf '%s\n' '+ { "Michael Müller", "wined3d: Use real values for memory accounting on NVIDIA cards.", 1 },';
6539 ) >> "$patchlist"
6540fi
6541
6542# Patchset wined3d-CSMT_Main
6543# |
6544# | Modified files:
6545# | * dlls/wined3d/cs.c, dlls/wined3d/device.c, dlls/wined3d/wined3d_private.h
6546# |
6547if test "$enable_wined3d_CSMT_Main" -eq 1; then
6548 patch_apply wined3d-CSMT_Main/0045-wined3d-Improve-wined3d_cs_emit_update_sub_resource.patch
6549 (
6550 printf '%s\n' '+ { "Michael Müller", "wined3d: Improve wined3d_cs_emit_update_sub_resource.", 1 },';
6551 ) >> "$patchlist"
6552fi
6553
6554# Patchset wined3d-Dual_Source_Blending
6555# |
6556# | Modified files:
6557# | * dlls/d3d11/tests/d3d11.c, dlls/wined3d/adapter_gl.c, dlls/wined3d/context.c, dlls/wined3d/glsl_shader.c,
6558# | dlls/wined3d/shader.c, dlls/wined3d/state.c, dlls/wined3d/wined3d_private.h
6559# |
6560if test "$enable_wined3d_Dual_Source_Blending" -eq 1; then
6561 patch_apply wined3d-Dual_Source_Blending/0002-d3d11-tests-Add-basic-dual-source-blend-test.patch
6562 patch_apply wined3d-Dual_Source_Blending/0003-wined3d-Implement-dual-source-blending.patch
6563 (
6564 printf '%s\n' '+ { "Michael Müller", "d3d11/tests: Add basic dual source blend test.", 1 },';
6565 printf '%s\n' '+ { "Michael Müller", "wined3d: Implement dual source blending.", 1 },';
6566 ) >> "$patchlist"
6567fi
6568
6569# Patchset wined3d-SWVP-shaders
6570# |
6571# | This patchset fixes the following Wine bugs:
6572# | * [#8051] Sims 2 demo exits prematurely
6573# |
6574# | Modified files:
6575# | * dlls/d3d8/directx.c, dlls/d3d9/d3d9_private.h, dlls/d3d9/device.c, dlls/d3d9/directx.c, dlls/d3d9/tests/device.c,
6576# | dlls/d3d9/tests/visual.c, dlls/wined3d/adapter_gl.c, dlls/wined3d/device.c, dlls/wined3d/glsl_shader.c,
6577# | dlls/wined3d/shader.c, dlls/wined3d/shader_sm1.c, dlls/wined3d/state.c, dlls/wined3d/stateblock.c,
6578# | dlls/wined3d/wined3d_private.h, include/wine/wined3d.h
6579# |
6580if test "$enable_wined3d_SWVP_shaders" -eq 1; then
6581 patch_apply wined3d-SWVP-shaders/0001-wined3d-Use-UBO-for-vertex-shader-float-constants-if.patch
6582 patch_apply wined3d-SWVP-shaders/0002-d3d9-Support-SWVP-vertex-shader-float-constants-limi.patch
6583 patch_apply wined3d-SWVP-shaders/0003-wined3d-Report-actual-vertex-shader-float-constants-.patch
6584 patch_apply wined3d-SWVP-shaders/0004-wined3d-Support-SWVP-vertex-shader-constants-limit-i.patch
6585 patch_apply wined3d-SWVP-shaders/0005-wined3d-Support-SWVP-mode-vertex-shaders.patch
6586 (
6587 printf '%s\n' '+ { "Paul Gofman", "wined3d: Use UBO for vertex shader float constants if supported.", 1 },';
6588 printf '%s\n' '+ { "Paul Gofman", "d3d9: Support SWVP vertex shader float constants limits.", 1 },';
6589 printf '%s\n' '+ { "Paul Gofman", "wined3d: Report actual vertex shader float constants limit for SWVP device.", 1 },';
6590 printf '%s\n' '+ { "Paul Gofman", "wined3d: Support SWVP vertex shader constants limit in state tracking.", 1 },';
6591 printf '%s\n' '+ { "Paul Gofman", "wined3d: Support SWVP mode vertex shaders.", 1 },';
6592 ) >> "$patchlist"
6593fi
6594
6595# Patchset wined3d-Indexed_Vertex_Blending
6596# |
6597# | This patchset has the following (direct or indirect) dependencies:
6598# | * wined3d-SWVP-shaders
6599# |
6600# | This patchset fixes the following Wine bugs:
6601# | * [#39057] Support for Indexed Vertex Blending
6602# |
6603# | Modified files:
6604# | * dlls/d3d9/tests/visual.c, dlls/wined3d/adapter_gl.c, dlls/wined3d/cs.c, dlls/wined3d/device.c, dlls/wined3d/directx.c,
6605# | dlls/wined3d/glsl_shader.c, dlls/wined3d/state.c, dlls/wined3d/utils.c, dlls/wined3d/vertexdeclaration.c,
6606# | dlls/wined3d/wined3d_private.h
6607# |
6608if test "$enable_wined3d_Indexed_Vertex_Blending" -eq 1; then
6609 patch_apply wined3d-Indexed_Vertex_Blending/0001-d3d9-tests-Add-test-for-indexed-vertex-blending.patch
6610 patch_apply wined3d-Indexed_Vertex_Blending/0002-d3d9-tests-Test-normal-calculation-when-indexed-vert.patch
6611 patch_apply wined3d-Indexed_Vertex_Blending/0003-d3d9-tests-Check-MaxVertexBlendMatrixIndex-capabilit.patch
6612 patch_apply wined3d-Indexed_Vertex_Blending/0004-wined3d-Allow-higher-world-matrix-states.patch
6613 patch_apply wined3d-Indexed_Vertex_Blending/0005-wined3d-Support-indexed-vertex-blending.patch
6614 (
6615 printf '%s\n' '+ { "Paul Gofman", "d3d9/tests: Add test for indexed vertex blending.", 1 },';
6616 printf '%s\n' '+ { "Michael Müller", "d3d9/tests: Test normal calculation when indexed vertex blending is enabled.", 1 },';
6617 printf '%s\n' '+ { "Michael Müller", "d3d9/tests: Check MaxVertexBlendMatrixIndex capability.", 1 },';
6618 printf '%s\n' '+ { "Paul Gofman", "wined3d: Allow higher world matrix states.", 1 },';
6619 printf '%s\n' '+ { "Paul Gofman", "wined3d: Support indexed vertex blending.", 1 },';
6620 ) >> "$patchlist"
6621fi
6622
6623# Patchset wined3d-Silence_FIXMEs
6624# |
6625# | Modified files:
6626# | * dlls/wined3d/surface.c
6627# |
6628if test "$enable_wined3d_Silence_FIXMEs" -eq 1; then
6629 patch_apply wined3d-Silence_FIXMEs/0004-wined3d-Print-FIXME-only-once-in-surface_cpu_blt.patch
6630 (
6631 printf '%s\n' '+ { "Christian Costa", "wined3d: Print FIXME only once in surface_cpu_blt.", 1 },';
6632 ) >> "$patchlist"
6633fi
6634
6635# Patchset wined3d-WINED3DFMT_B8G8R8X8_UNORM
6636# |
6637# | This patchset fixes the following Wine bugs:
6638# | * [#44888] Implement WINED3DFMT_B8G8R8X8_UNORM to WINED3DFMT_L8_UNORM conversion
6639# |
6640# | Modified files:
6641# | * dlls/wined3d/surface.c
6642# |
6643if test "$enable_wined3d_WINED3DFMT_B8G8R8X8_UNORM" -eq 1; then
6644 patch_apply wined3d-WINED3DFMT_B8G8R8X8_UNORM/0001-wined3d-Implement-WINED3DFMT_B8G8R8X8_UNORM-to-WINED.patch
6645 (
6646 printf '%s\n' '+ { "Stanislav Zhukov", "wined3d: Implement WINED3DFMT_B8G8R8X8_UNORM to WINED3DFMT_L8_UNORM conversion.", 1 },';
6647 ) >> "$patchlist"
6648fi
6649
6650# Patchset wined3d-WINED3D_RS_COLORWRITEENABLE
6651# |
6652# | Modified files:
6653# | * dlls/d3d11/device.c, dlls/d3d11/state.c, dlls/wined3d/context.c, dlls/wined3d/device.c, dlls/wined3d/state.c,
6654# | dlls/wined3d/stateblock.c, dlls/wined3d/surface.c, dlls/wined3d/utils.c, dlls/wined3d/wined3d_private.h,
6655# | include/wine/wined3d.h
6656# |
6657if test "$enable_wined3d_WINED3D_RS_COLORWRITEENABLE" -eq 1; then
6658 patch_apply wined3d-WINED3D_RS_COLORWRITEENABLE/0001-wined3d-Implement-all-8-d3d11-color-write-masks.patch
6659 (
6660 printf '%s\n' '+ { "Michael Müller", "wined3d: Implement all 8 d3d11 color write masks.", 1 },';
6661 ) >> "$patchlist"
6662fi
6663
6664# Patchset wined3d-WINED3D_TEXF_ANISOTROPIC
6665# |
6666# | This patchset fixes the following Wine bugs:
6667# | * [#41929] wined3d: Multiple games need WINED3D_TEXF_ANISOTROPIC filter mode
6668# |
6669# | Modified files:
6670# | * dlls/wined3d/surface.c
6671# |
6672if test "$enable_wined3d_WINED3D_TEXF_ANISOTROPIC" -eq 1; then
6673 patch_apply wined3d-WINED3D_TEXF_ANISOTROPIC/0001-wined3d-Multiple-games-need-WINED3D_TEXF_ANISOTROPIC.patch
6674 (
6675 printf '%s\n' '+ { "Józef Kucia", "wined3d: Multiple games need WINED3D_TEXF_ANISOTROPIC filter mode.", 1 },';
6676 ) >> "$patchlist"
6677fi
6678
6679# Patchset wined3d-mesa_texture_download
6680# |
6681# | This patchset fixes the following Wine bugs:
6682# | * [#45901] Avoid GPU synchronization due to GPU-CPU transfer (Overwatch)
6683# |
6684# | Modified files:
6685# | * dlls/wined3d/texture.c
6686# |
6687if test "$enable_wined3d_mesa_texture_download" -eq 1; then
6688 patch_apply wined3d-mesa_texture_download/0001-wined3d-Use-glReadPixels-for-RT-texture-download.patch
6689 (
6690 printf '%s\n' '+ { "Andrew Wesie", "wined3d: Use glReadPixels for RT texture download.", 1 },';
6691 ) >> "$patchlist"
6692fi
6693
6694# Patchset wined3d-unset-flip-gdi
6695# |
6696# | This patchset fixes the following Wine bugs:
6697# | * [#47419] wined3d: Dont set DDSCAPS_FLIP for gdi renderer.
6698# |
6699# | Modified files:
6700# | * dlls/wined3d/adapter_gl.c, dlls/wined3d/adapter_vk.c, dlls/wined3d/directx.c
6701# |
6702if test "$enable_wined3d_unset_flip_gdi" -eq 1; then
6703 patch_apply wined3d-unset-flip-gdi/0001-wined3d-Dont-set-DDSCAPS_FLIP-for-gdi-renderer.patch
6704 (
6705 printf '%s\n' '+ { "Henri Verbeet", "wined3d: Dont set DDSCAPS_FLIP for gdi renderer.", 1 },';
6706 ) >> "$patchlist"
6707fi
6708
6709# Patchset wined3d-wined3d_guess_gl_vendor
6710# |
6711# | This patchset fixes the following Wine bugs:
6712# | * [#42538] Add check for GL_VENDOR = "Brian Paul" to detect Mesa
6713# |
6714# | Modified files:
6715# | * dlls/wined3d/adapter_gl.c
6716# |
6717if test "$enable_wined3d_wined3d_guess_gl_vendor" -eq 1; then
6718 patch_apply wined3d-wined3d_guess_gl_vendor/0001-wined3d-Also-check-for-Brian-Paul-to-detect-Mesa-gl_.patch
6719 (
6720 printf '%s\n' '+ { "Jarkko Korpi", "wined3d: Also check for '\''Brian Paul'\'' to detect Mesa gl_vendor.", 1 },';
6721 ) >> "$patchlist"
6722fi
6723
6724# Patchset wined3d-zero-inf-shaders
6725# |
6726# | This patchset fixes the following Wine bugs:
6727# | * [#34266] wined3d: Add a setting to workaround 0 * inf problem in shader models 1-3.
6728# | * [#45375] Halo Online: Weird black display problems.
6729# |
6730# | Modified files:
6731# | * dlls/wined3d/glsl_shader.c, dlls/wined3d/wined3d_main.c, dlls/wined3d/wined3d_private.h
6732# |
6733if test "$enable_wined3d_zero_inf_shaders" -eq 1; then
6734 patch_apply wined3d-zero-inf-shaders/0001-wined3d-Add-a-setting-to-workaround-0-inf-problem-in.patch
6735 (
6736 printf '%s\n' '+ { "Paul Gofman", "wined3d: Add a setting to workaround 0 * inf problem in shader models 1-3.", 1 },';
6737 ) >> "$patchlist"
6738fi
6739
6740# Patchset winedbg-Process_Arguments
6741# |
6742# | Modified files:
6743# | * programs/winedbg/info.c
6744# |
6745if test "$enable_winedbg_Process_Arguments" -eq 1; then
6746 patch_apply winedbg-Process_Arguments/0001-programs-winedbg-Print-process-arguments-in-info-thr.patch
6747 (
6748 printf '%s\n' '+ { "Michael Müller", "programs/winedbg: Print process arguments in info threads.", 1 },';
6749 ) >> "$patchlist"
6750fi
6751
6752# Patchset winedevice-Default_Drivers
6753# |
6754# | This patchset has the following (direct or indirect) dependencies:
6755# | * dxva2-Video_Decoder, ntoskrnl-Stubs
6756# |
6757# | Modified files:
6758# | * configure.ac, dlls/dxgkrnl.sys/Makefile.in, dlls/dxgkrnl.sys/dxgkrnl.sys.spec, dlls/dxgkrnl.sys/main.c,
6759# | dlls/dxgmms1.sys/Makefile.in, dlls/dxgmms1.sys/dxgmms1.sys.spec, dlls/dxgmms1.sys/main.c,
6760# | dlls/ntoskrnl.exe/tests/driver.c, dlls/win32k.sys/Makefile.in, dlls/win32k.sys/main.c, dlls/win32k.sys/win32k.sys.spec,
6761# | loader/wine.inf.in, programs/winedevice/device.c, tools/make_specfiles
6762# |
6763if test "$enable_winedevice_Default_Drivers" -eq 1; then
6764 patch_apply winedevice-Default_Drivers/0001-win32k.sys-Add-stub-driver.patch
6765 patch_apply winedevice-Default_Drivers/0002-dxgkrnl.sys-Add-stub-driver.patch
6766 patch_apply winedevice-Default_Drivers/0003-dxgmms1.sys-Add-stub-driver.patch
6767 patch_apply winedevice-Default_Drivers/0004-programs-winedevice-Load-some-common-drivers-and-fix.patch
6768 (
6769 printf '%s\n' '+ { "Michael Müller", "win32k.sys: Add stub driver.", 1 },';
6770 printf '%s\n' '+ { "Michael Müller", "dxgkrnl.sys: Add stub driver.", 1 },';
6771 printf '%s\n' '+ { "Michael Müller", "dxgmms1.sys: Add stub driver.", 1 },';
6772 printf '%s\n' '+ { "Michael Müller", "programs/winedevice: Load some common drivers and fix ldr order.", 1 },';
6773 ) >> "$patchlist"
6774fi
6775
6776# Patchset winemapi-user-xdg-mail
6777# |
6778# | This patchset fixes the following Wine bugs:
6779# | * [#11770] - use xdg-email if it's available.
6780# |
6781# | Modified files:
6782# | * dlls/winemapi/Makefile.in, dlls/winemapi/sendmail.c, dlls/winemapi/winemapi_private.h, dlls/winemapi/xdg-email.c
6783# |
6784if test "$enable_winemapi_user_xdg_mail" -eq 1; then
6785 patch_apply winemapi-user-xdg-mail/0001-winemapi-Directly-use-xdg-email-if-available-enablin.patch
6786 (
6787 printf '%s\n' '+ { "Jeremy White", "winemapi: Directly use xdg-email if available, enabling file attachments.", 1 },';
6788 ) >> "$patchlist"
6789fi
6790
6791# Patchset winemenubuilder-Desktop_Icon_Path
6792# |
6793# | Modified files:
6794# | * programs/winemenubuilder/Makefile.in, programs/winemenubuilder/winemenubuilder.c
6795# |
6796if test "$enable_winemenubuilder_Desktop_Icon_Path" -eq 1; then
6797 patch_apply winemenubuilder-Desktop_Icon_Path/0001-winemenubuilder-Create-desktop-shortcuts-with-absolu.patch
6798 (
6799 printf '%s\n' '+ { "Sebastian Lackner", "winemenubuilder: Create desktop shortcuts with absolute wine path.", 1 },';
6800 ) >> "$patchlist"
6801fi
6802
6803# Patchset wineps.drv-PostScript_Fixes
6804# |
6805# | This patchset fixes the following Wine bugs:
6806# | * [#4836] Various improvements for wineps.drv for Adobe PageMaker compatibility
6807# |
6808# | Modified files:
6809# | * dlls/wineps.drv/download.c, dlls/wineps.drv/escape.c, dlls/wineps.drv/psdrv.h
6810# |
6811if test "$enable_wineps_drv_PostScript_Fixes" -eq 1; then
6812 patch_apply wineps.drv-PostScript_Fixes/0004-wineps.drv-Add-support-for-GETFACENAME-and-DOWNLOADF.patch
6813 (
6814 printf '%s\n' '+ { "Dmitry Timoshkov", "wineps.drv: Add support for GETFACENAME and DOWNLOADFACE escapes.", 1 },';
6815 ) >> "$patchlist"
6816fi
6817
6818# Patchset winepulse-PulseAudio_Support
6819# |
6820# | This patchset fixes the following Wine bugs:
6821# | * [#37042] Implement exclusive mode in PulseAudio backend
6822# | * [#28282] Sound constantly crackling in a lot of games
6823# |
6824# | Modified files:
6825# | * dlls/winepulse.drv/Makefile.in, dlls/winepulse.drv/mmdevdrv.c
6826# |
6827if test "$enable_winepulse_PulseAudio_Support" -eq 1; then
6828 patch_apply winepulse-PulseAudio_Support/0001-winepulse.drv-Use-a-separate-mainloop-and-ctx-for-pu.patch
6829 patch_apply winepulse-PulseAudio_Support/0002-winepulse-Don-t-rely-on-pulseaudio-callbacks-for-tim.patch
6830 patch_apply winepulse-PulseAudio_Support/0003-winepulse-expose-audio-devices-directly-to-programs.patch
6831 patch_apply winepulse-PulseAudio_Support/0004-winepulse-fix-segfault-in-pulse_rd_loop.patch
6832 patch_apply winepulse-PulseAudio_Support/0005-winepulse-implement-GetPropValue.patch
6833 patch_apply winepulse-PulseAudio_Support/0006-winepulse-fetch-actual-program-name-if-possible.patch
6834 patch_apply winepulse-PulseAudio_Support/0007-winepulse-return-PKEY_AudioEndpoint_PhysicalSpeakers.patch
6835 patch_apply winepulse-PulseAudio_Support/0008-winepulse-Fix-up-recording.patch
6836 patch_apply winepulse-PulseAudio_Support/0009-winepulse.drv-Fix-getting-the-same-timing-info.patch
6837 patch_apply winepulse-PulseAudio_Support/0010-winepulse-Update-last-time-on-underrun.patch
6838 patch_apply winepulse-PulseAudio_Support/0011-winepulse-account-for-PA-devices-that-fall-way-behin.patch
6839 patch_apply winepulse-PulseAudio_Support/0012-winepulse-Fix-local-buffer-offset-wrapping.patch
6840 patch_apply winepulse-PulseAudio_Support/0013-winepulse-Don-t-fake-being-one-period-behind-in-GetP.patch
6841 (
6842 printf '%s\n' '+ { "Sebastian Lackner", "winepulse.drv: Use a separate mainloop and ctx for pulse_test_connect.", 1 },';
6843 printf '%s\n' '+ { "Andrew Eikum", "winepulse: Don'\''t rely on pulseaudio callbacks for timing.", 1 },';
6844 printf '%s\n' '+ { "Mark Harmstone", "winepulse: Expose audio devices directly to programs.", 1 },';
6845 printf '%s\n' '+ { "Mark Harmstone", "winepulse: Fix segfault in pulse_rd_loop.", 1 },';
6846 printf '%s\n' '+ { "Mark Harmstone", "winepulse: Implement GetPropValue.", 1 },';
6847 printf '%s\n' '+ { "Mark Harmstone", "winepulse: Fetch actual program name if possible.", 1 },';
6848 printf '%s\n' '+ { "Mark Harmstone", "winepulse: Return PKEY_AudioEndpoint_PhysicalSpeakers device prop.", 1 },';
6849 printf '%s\n' '+ { "Andrew Eikum", "winepulse: Fix up recording.", 1 },';
6850 printf '%s\n' '+ { "Zhiyi Zhang", "winepulse.drv: Fix getting the same timing info.", 1 },';
6851 printf '%s\n' '+ { "Andrew Eikum", "winepulse: Update last time on underrun.", 1 },';
6852 printf '%s\n' '+ { "Andrew Eikum", "winepulse: Account for PA devices that fall way behind.", 1 },';
6853 printf '%s\n' '+ { "Andrew Eikum", "winepulse: Fix local buffer offset wrapping.", 1 },';
6854 printf '%s\n' '+ { "Andrew Eikum", "winepulse: Don'\''t fake being one period behind in GetPosition.", 1 },';
6855 ) >> "$patchlist"
6856fi
6857
6858# Patchset winex11-CandidateWindowPos
6859# |
6860# | This patchset fixes the following Wine bugs:
6861# | * [#30938] Update a XIM candidate position when cursor location changes
6862# |
6863# | Modified files:
6864# | * dlls/user32/caret.c, dlls/user32/driver.c, dlls/user32/user_private.h, dlls/winex11.drv/winex11.drv.spec,
6865# | dlls/winex11.drv/xim.c
6866# |
6867if test "$enable_winex11_CandidateWindowPos" -eq 1; then
6868 patch_apply winex11-CandidateWindowPos/0001-winex11.drv-Update-a-candidate-window-s-position-wit.patch
6869 (
6870 printf '%s\n' '+ { "Felix Yan", "winex11.drv: Update a candidate window'\''s position with over-the-spot style.", 2 },';
6871 ) >> "$patchlist"
6872fi
6873
6874# Patchset winex11-DefaultDisplayFrequency
6875# |
6876# | Modified files:
6877# | * dlls/winex11.drv/settings.c, dlls/winex11.drv/x11drv.h, dlls/winex11.drv/x11drv_main.c
6878# |
6879if test "$enable_winex11_DefaultDisplayFrequency" -eq 1; then
6880 patch_apply winex11-DefaultDisplayFrequency/0001-winex11.drv-Allow-to-select-default-display-frequenc.patch
6881 (
6882 printf '%s\n' '+ { "Michael Müller", "winex11.drv: Allow to select default display frequency in registry key.", 1 },';
6883 ) >> "$patchlist"
6884fi
6885
6886# Patchset winex11-MWM_Decorations
6887# |
6888# | This patchset fixes the following Wine bugs:
6889# | * [#42117] Avoid double captions observed under some WMs
6890# |
6891# | Modified files:
6892# | * dlls/winex11.drv/window.c
6893# |
6894if test "$enable_winex11_MWM_Decorations" -eq 1; then
6895 patch_apply winex11-MWM_Decorations/0001-winex11.drv-Don-t-use-MWM_DECOR_RESIZEH-window-resiz.patch
6896 patch_apply winex11-MWM_Decorations/0002-winex11.drv-Don-t-add-MWM_DECOR_BORDER-to-windows-wi.patch
6897 (
6898 printf '%s\n' '+ { "Dmitry Timoshkov", "winex11.drv: Don'\''t use MWM_DECOR_RESIZEH, window resizing is controlled by MWM_FUNC_RESIZE.", 1 },';
6899 printf '%s\n' '+ { "Dmitry Timoshkov", "winex11.drv: Don'\''t add MWM_DECOR_BORDER to windows without a caption.", 1 },';
6900 ) >> "$patchlist"
6901fi
6902
6903# Patchset winex11-UpdateLayeredWindow
6904# |
6905# | This patchset fixes the following Wine bugs:
6906# | * [#33943] Fix alpha blending in X11DRV_UpdateLayeredWindow
6907# |
6908# | Modified files:
6909# | * dlls/winex11.drv/window.c
6910# |
6911if test "$enable_winex11_UpdateLayeredWindow" -eq 1; then
6912 patch_apply winex11-UpdateLayeredWindow/0001-winex11-Fix-alpha-blending-in-X11DRV_UpdateLayeredWi.patch
6913 (
6914 printf '%s\n' '+ { "Sebastian Lackner", "winex11: Fix alpha blending in X11DRV_UpdateLayeredWindow.", 1 },';
6915 ) >> "$patchlist"
6916fi
6917
6918# Patchset winex11-Vulkan_support
6919# |
6920# | This patchset fixes the following Wine bugs:
6921# | * [#44775] Allow vulkan support to be detected at runtime.
6922# |
6923# | Modified files:
6924# | * dlls/winex11.drv/vulkan.c
6925# |
6926if test "$enable_winex11_Vulkan_support" -eq 1; then
6927 patch_apply winex11-Vulkan_support/0001-winex11-Specify-a-default-vulkan-driver-if-one-not-f.patch
6928 (
6929 printf '%s\n' '+ { "Alistair Leslie-Hughes", "winex11: Specify a default vulkan driver if one not found at build time.", 1 },';
6930 ) >> "$patchlist"
6931fi
6932
6933# Patchset winex11-_NET_ACTIVE_WINDOW
6934# |
6935# | This patchset fixes the following Wine bugs:
6936# | * [#2155] Forward activate window requests to WM using _NET_ACTIVE_WINDOW
6937# |
6938# | Modified files:
6939# | * dlls/user32/driver.c, dlls/user32/focus.c, dlls/user32/user_private.h, dlls/winex11.drv/event.c,
6940# | dlls/winex11.drv/window.c, dlls/winex11.drv/winex11.drv.spec, dlls/winex11.drv/x11drv.h, dlls/winex11.drv/x11drv_main.c
6941# |
6942if test "$enable_winex11__NET_ACTIVE_WINDOW" -eq 1; then
6943 patch_apply winex11-_NET_ACTIVE_WINDOW/0001-winex11.drv-Add-support-for-_NET_ACTIVE_WINDOW.patch
6944 patch_apply winex11-_NET_ACTIVE_WINDOW/0002-user32-Before-asking-a-WM-to-activate-a-window-make-.patch
6945 (
6946 printf '%s\n' '+ { "Dmitry Timoshkov", "winex11.drv: Add support for _NET_ACTIVE_WINDOW.", 2 },';
6947 printf '%s\n' '+ { "Dmitry Timoshkov", "user32: Before asking a WM to activate a window make sure that the window is in foreground and not minimized.", 1 },';
6948 ) >> "$patchlist"
6949fi
6950
6951# Patchset winex11-WM_WINDOWPOSCHANGING
6952# |
6953# | This patchset has the following (direct or indirect) dependencies:
6954# | * winex11-_NET_ACTIVE_WINDOW
6955# |
6956# | This patchset fixes the following Wine bugs:
6957# | * [#34594] Fix handling of WM_WINDOWPOS{CHANGING,CHANGED} for deactivated topmost window
6958# |
6959# | Modified files:
6960# | * dlls/winex11.drv/event.c
6961# |
6962if test "$enable_winex11_WM_WINDOWPOSCHANGING" -eq 1; then
6963 patch_apply winex11-WM_WINDOWPOSCHANGING/0001-winex11.drv-Send-WM_WINDOWPOSCHANGING-WM_WINDOWPOSCH.patch
6964 (
6965 printf '%s\n' '+ { "Dmitry Timoshkov", "winex11.drv: Send WM_WINDOWPOSCHANGING/WM_WINDOWPOSCHANGED messages to a being deactivated topmost window.", 1 },';
6966 ) >> "$patchlist"
6967fi
6968
6969# Patchset winex11-Window_Style
6970# |
6971# | This patchset fixes the following Wine bugs:
6972# | * [#37876] Fix handling of window attributes for WS_EX_LAYERED | WS_EX_COMPOSITED
6973# |
6974# | Modified files:
6975# | * dlls/winex11.drv/window.c
6976# |
6977if test "$enable_winex11_Window_Style" -eq 1; then
6978 patch_apply winex11-Window_Style/0001-winex11-Fix-handling-of-window-attributes-for-WS_EX_.patch
6979 (
6980 printf '%s\n' '+ { "Dmitry Timoshkov", "winex11: Fix handling of window attributes for WS_EX_LAYERED | WS_EX_COMPOSITED.", 1 },';
6981 ) >> "$patchlist"
6982fi
6983
6984# Patchset winex11-XEMBED
6985# |
6986# | Modified files:
6987# | * dlls/winex11.drv/event.c
6988# |
6989if test "$enable_winex11_XEMBED" -eq 1; then
6990 patch_apply winex11-XEMBED/0001-winex11-Enable-disable-windows-when-they-are-un-mapped.patch
6991 (
6992 printf '%s\n' '+ { "Sebastian Lackner", "winex11: Enable/disable windows when they are (un)mapped by foreign applications.", 1 },';
6993 ) >> "$patchlist"
6994fi
6995
6996# Patchset winex11-ime-check-thread-data
6997# |
6998# | This patchset fixes the following Wine bugs:
6999# | * [#46263] Final Fantasy XI crashes after accepting EULA when using Ashita
7000# | * [#28861] Final Fantasy XI hangs after character selection
7001# |
7002# | Modified files:
7003# | * dlls/winex11.drv/window.c
7004# |
7005if test "$enable_winex11_ime_check_thread_data" -eq 1; then
7006 patch_apply winex11-ime-check-thread-data/0001-winex11.drv-handle-missing-thread-data-in-X11DRV_get_ic.patch
7007 (
7008 printf '%s\n' '+ { "Enrico Horn", "winex11.drv: Handle missing thread data in X11DRV_get_ic.", 1 },';
7009 ) >> "$patchlist"
7010fi
7011
7012# Patchset winex11-key_translation
7013# |
7014# | This patchset fixes the following Wine bugs:
7015# | * [#30984] Improve key translation.
7016# | * [#45605] Letter keys doesn't work in DirectX aplications
7017# |
7018# | Modified files:
7019# | * dlls/winex11.drv/keyboard.c
7020# |
7021if test "$enable_winex11_key_translation" -eq 1; then
7022 patch_apply winex11-key_translation/0001-winex11-Match-keyboard-in-Unicode.patch
7023 patch_apply winex11-key_translation/0002-winex11-Fix-more-key-translation.patch
7024 patch_apply winex11-key_translation/0003-winex11.drv-Fix-main-Russian-keyboard-layout.patch
7025 (
7026 printf '%s\n' '+ { "Ken Thomases", "winex11: Match keyboard in Unicode.", 1 },';
7027 printf '%s\n' '+ { "Philippe Valembois", "winex11: Fix more key translation.", 1 },';
7028 printf '%s\n' '+ { "Ondrej Kraus", "winex11.drv: Fix main Russian keyboard layout.", 1 },';
7029 ) >> "$patchlist"
7030fi
7031
7032# Patchset winex11-wglShareLists
7033# |
7034# | This patchset fixes the following Wine bugs:
7035# | * [#11436] Do not fail when a used context is passed to wglShareLists
7036# | * [#25419] Fix broken textures in XIII Century: Death or Glory
7037# |
7038# | Modified files:
7039# | * dlls/opengl32/tests/opengl.c, dlls/winex11.drv/opengl.c
7040# |
7041if test "$enable_winex11_wglShareLists" -eq 1; then
7042 patch_apply winex11-wglShareLists/0001-winex11.drv-Only-warn-about-used-contexts-in-wglShar.patch
7043 (
7044 printf '%s\n' '+ { "Michael Müller", "winex11.drv: Only warn about used contexts in wglShareLists.", 1 },';
7045 ) >> "$patchlist"
7046fi
7047
7048# Patchset winex11.drv-Query_server_position
7049# |
7050# | This patchset fixes the following Wine bugs:
7051# | * [#15346] winex11.drv: Query the X server for the actual rect of the window before unmapping it
7052# |
7053# | Modified files:
7054# | * dlls/winex11.drv/window.c
7055# |
7056if test "$enable_winex11_drv_Query_server_position" -eq 1; then
7057 patch_apply winex11.drv-Query_server_position/0001-winex11.drv-window-Query-the-X-server-for-the-actual.patch
7058 (
7059 printf '%s\n' '+ { "Gabriel Ivăncescu", "winex11.drv/window: Query the X server for the actual rect of the window before unmapping it.", 1 },';
7060 ) >> "$patchlist"
7061fi
7062
7063# Patchset wininet-Cleanup
7064# |
7065# | Modified files:
7066# | * dlls/wininet/http.c, dlls/wininet/tests/http.c
7067# |
7068if test "$enable_wininet_Cleanup" -eq 1; then
7069 patch_apply wininet-Cleanup/0001-wininet-tests-Add-more-tests-for-cookies.patch
7070 patch_apply wininet-Cleanup/0002-wininet-tests-Test-auth-credential-reusage-with-host.patch
7071 patch_apply wininet-Cleanup/0003-wininet-tests-Check-cookie-behaviour-when-overriding.patch
7072 patch_apply wininet-Cleanup/0004-wininet-Strip-filename-if-no-path-is-set-in-cookie.patch
7073 patch_apply wininet-Cleanup/0005-wininet-Replacing-header-fields-should-fail-if-they-.patch
7074 (
7075 printf '%s\n' '+ { "Michael Müller", "wininet/tests: Add more tests for cookies.", 1 },';
7076 printf '%s\n' '+ { "Michael Müller", "wininet/tests: Test auth credential reusage with host override.", 1 },';
7077 printf '%s\n' '+ { "Michael Müller", "wininet/tests: Check cookie behaviour when overriding host.", 1 },';
7078 printf '%s\n' '+ { "Michael Müller", "wininet: Strip filename if no path is set in cookie.", 1 },';
7079 printf '%s\n' '+ { "Michael Müller", "wininet: Replacing header fields should fail if they do not exist yet.", 1 },';
7080 ) >> "$patchlist"
7081fi
7082
7083# Patchset winmm-Delay_Import_Depends
7084# |
7085# | This patchset fixes the following Wine bugs:
7086# | * [#37983] Jedi Knight: Dark Forces II crashes with winmm set to native
7087# |
7088# | Modified files:
7089# | * dlls/winmm/Makefile.in
7090# |
7091if test "$enable_winmm_Delay_Import_Depends" -eq 1; then
7092 patch_apply winmm-Delay_Import_Depends/0001-winmm-Delay-import-ole32-msacm32-to-workaround-bug-w.patch
7093 (
7094 printf '%s\n' '+ { "Michael Müller", "winmm: Delay import ole32 msacm32 to workaround bug when loading multiple winmm versions.", 1 },';
7095 ) >> "$patchlist"
7096fi
7097
7098# Patchset winmm-mciSendCommandA
7099# |
7100# | Modified files:
7101# | * dlls/winmm/mci.c
7102# |
7103if test "$enable_winmm_mciSendCommandA" -eq 1; then
7104 patch_apply winmm-mciSendCommandA/0001-winmm-Do-not-crash-in-Win-9X-mode-when-an-invalid-de.patch
7105 (
7106 printf '%s\n' '+ { "Michael Müller", "winmm: Do not crash in Win 9X mode when an invalid device ptr is passed to MCI_OPEN.", 1 },';
7107 ) >> "$patchlist"
7108fi
7109
7110# Patchset wintab32-improvements
7111# |
7112# | This patchset fixes the following Wine bugs:
7113# | * [#11846] Improve pressure sensitivity.
7114# | * [#15443] Improve Wacom Bambo drawing support
7115# | * [#18517] Improve eraser from working.
7116# |
7117# | Modified files:
7118# | * dlls/winex11.drv/wintab.c, dlls/wintab32/context.c
7119# |
7120if test "$enable_wintab32_improvements" -eq 1; then
7121 patch_apply wintab32-improvements/0002-wintab32-Set-lcSysExtX-Y-for-the-first-index-of-WTI_.patch
7122 patch_apply wintab32-improvements/0003-winex11-Handle-negative-orAltitude-values.patch
7123 patch_apply wintab32-improvements/0004-winex11.drv-Support-multiplex-categories-WTI_DSCTXS-.patch
7124 patch_apply wintab32-improvements/0005-winex11-Support-WTI_STATUS-in-WTInfo.patch
7125 (
7126 printf '%s\n' '+ { "Alistair Leslie-Hughes", "wintab32: Set lcSysExtX/Y for the first index of WTI_DDCTXS.", 1 },';
7127 printf '%s\n' '+ { "Alistair Leslie-Hughes", "winex11: Handle negative orAltitude values.", 1 },';
7128 printf '%s\n' '+ { "Alistair Leslie-Hughes", "winex11.drv: Support multiplex categories WTI_DSCTXS and WTI_DDCTXS.", 1 },';
7129 printf '%s\n' '+ { "Alistair Leslie-Hughes", "winex11: Support WTI_STATUS in WTInfo.", 1 },';
7130 ) >> "$patchlist"
7131fi
7132
7133# Patchset wintrust-WTHelperGetProvCertFromChain
7134# |
7135# | This patchset fixes the following Wine bugs:
7136# | * [#44061] Check Parameter in WTHelperGetProvCertFromChain
7137# |
7138# | Modified files:
7139# | * dlls/wintrust/tests/softpub.c, dlls/wintrust/wintrust_main.c
7140# |
7141if test "$enable_wintrust_WTHelperGetProvCertFromChain" -eq 1; then
7142 patch_apply wintrust-WTHelperGetProvCertFromChain/0001-wintrust-Add-parameter-check-in-WTHelperGetProvCertF.patch
7143 (
7144 printf '%s\n' '+ { "Alistair Leslie-Hughes", "wintrust: Add parameter check in WTHelperGetProvCertFromChain.", 1 },';
7145 ) >> "$patchlist"
7146fi
7147
7148# Patchset wow64cpu-Wow64Transition
7149# |
7150# | This patchset has the following (direct or indirect) dependencies:
7151# | * Staging, advapi32-CreateRestrictedToken, advapi32-Token_Integrity_Level
7152# |
7153# | This patchset fixes the following Wine bugs:
7154# | * [#45567] League of Legends 8.12+ fails to start a game (anticheat engine, validation of WoW64 syscall dispatcher)
7155# |
7156# | Modified files:
7157# | * configure, configure.ac, dlls/ntdll/loader.c, dlls/ntdll/ntdll.spec, dlls/wow64cpu/Makefile.in,
7158# | dlls/wow64cpu/wow64cpu.spec, dlls/wow64cpu/wow64cpu_main.c
7159# |
7160if test "$enable_wow64cpu_Wow64Transition" -eq 1; then
7161 patch_apply wow64cpu-Wow64Transition/0001-wow64cpu-Add-stub-dll.patch
7162 patch_apply wow64cpu-Wow64Transition/0002-ntdll-Add-a-stub-implementation-of-Wow64Transition.patch
7163 (
7164 printf '%s\n' '+ { "Zebediah Figura", "wow64cpu: Add stub dll.", 1 },';
7165 printf '%s\n' '+ { "Zebediah Figura", "ntdll: Add a stub implementation of Wow64Transition.", 1 },';
7166 ) >> "$patchlist"
7167fi
7168
7169# Patchset wpcap-Dynamic_Linking
7170# |
7171# | Modified files:
7172# | * configure.ac, dlls/wpcap/Makefile.in, dlls/wpcap/wpcap.c
7173# |
7174if test "$enable_wpcap_Dynamic_Linking" -eq 1; then
7175 patch_apply wpcap-Dynamic_Linking/0001-wpcap-Load-libpcap-dynamically.patch
7176 (
7177 printf '%s\n' '+ { "André Hentschel", "wpcap: Load libpcap dynamically.", 1 },';
7178 ) >> "$patchlist"
7179fi
7180
7181# Patchset ws2_32-APC_Performance
7182# |
7183# | Modified files:
7184# | * dlls/ws2_32/socket.c
7185# |
7186if test "$enable_ws2_32_APC_Performance" -eq 1; then
7187 patch_apply ws2_32-APC_Performance/0001-ws2_32-Reuse-old-async-ws2_async_io-structures-if-po.patch
7188 (
7189 printf '%s\n' '+ { "Sebastian Lackner", "ws2_32: Reuse old async ws2_async_io structures if possible.", 1 },';
7190 ) >> "$patchlist"
7191fi
7192
7193# Patchset ws2_32-Connect_Time
7194# |
7195# | Modified files:
7196# | * dlls/ws2_32/socket.c, dlls/ws2_32/tests/sock.c, server/protocol.def, server/sock.c
7197# |
7198if test "$enable_ws2_32_Connect_Time" -eq 1; then
7199 patch_apply ws2_32-Connect_Time/0001-ws2_32-Implement-returning-the-proper-time-with-SO_C.patch
7200 (
7201 printf '%s\n' '+ { "Sebastian Lackner", "ws2_32: Implement returning the proper time with SO_CONNECT_TIME.", 1 },';
7202 ) >> "$patchlist"
7203fi
7204
7205# Patchset ws2_32-TransmitFile
7206# |
7207# | This patchset has the following (direct or indirect) dependencies:
7208# | * Staging, advapi32-CreateRestrictedToken, advapi32-Token_Integrity_Level, kernel32-K32GetPerformanceInfo, ntdll-
7209# | Junction_Points, ntdll-ThreadTime, ntdll-Hide_Wine_Exports, ntdll-User_Shared_Data, winebuild-Fake_Dlls, ntdll-
7210# | RtlCreateUserThread, ntdll-Exception, ntdll-SystemRoot_Symlink, server-Realtime_Priority, ntdll-Threading, server-
7211# | Key_State, server-PeekMessage, server-Signal_Thread, server-Shared_Memory, ws2_32-WSACleanup, eventfd_synchronization,
7212# | server-Desktop_Refcount
7213# |
7214# | Modified files:
7215# | * dlls/ws2_32/socket.c, dlls/ws2_32/tests/sock.c, include/winsock.h, server/protocol.def, server/sock.c
7216# |
7217if test "$enable_ws2_32_TransmitFile" -eq 1; then
7218 patch_apply ws2_32-TransmitFile/0001-ws2_32-Add-support-for-TF_DISCONNECT-to-TransmitFile.patch
7219 patch_apply ws2_32-TransmitFile/0002-ws2_32-Add-support-for-TF_REUSE_SOCKET-to-TransmitFi.patch
7220 (
7221 printf '%s\n' '+ { "Erich E. Hoover", "ws2_32: Add support for TF_DISCONNECT to TransmitFile.", 1 },';
7222 printf '%s\n' '+ { "Erich E. Hoover", "ws2_32: Add support for TF_REUSE_SOCKET to TransmitFile.", 1 },';
7223 ) >> "$patchlist"
7224fi
7225
7226# Patchset ws2_32-getaddrinfo
7227# |
7228# | Modified files:
7229# | * dlls/ws2_32/socket.c
7230# |
7231if test "$enable_ws2_32_getaddrinfo" -eq 1; then
7232 patch_apply ws2_32-getaddrinfo/0001-ws2_32-Fix-handling-of-empty-string-in-WS_getaddrinf.patch
7233 (
7234 printf '%s\n' '+ { "Sebastian Lackner", "ws2_32: Fix handling of empty string in WS_getaddrinfo.", 1 },';
7235 ) >> "$patchlist"
7236fi
7237
7238# Patchset ws2_32-getsockopt
7239# |
7240# | This patchset fixes the following Wine bugs:
7241# | * [#8606] Divide values returned by SO_RCVBUF and SO_SNDBUF getsockopt options by two
7242# |
7243# | Modified files:
7244# | * dlls/ws2_32/socket.c, dlls/ws2_32/tests/sock.c
7245# |
7246if test "$enable_ws2_32_getsockopt" -eq 1; then
7247 patch_apply ws2_32-getsockopt/0001-ws2_32-Divide-values-returned-by-SO_RCVBUF-and-SO_SN.patch
7248 (
7249 printf '%s\n' '+ { "Sebastian Lackner", "ws2_32: Divide values returned by SO_RCVBUF and SO_SNDBUF getsockopt options by two.", 1 },';
7250 ) >> "$patchlist"
7251fi
7252
7253# Patchset wtsapi32-EnumerateProcesses
7254# |
7255# | This patchset fixes the following Wine bugs:
7256# | * [#29903] Support for WTSEnumerateProcessesW
7257# |
7258# | Modified files:
7259# | * dlls/wtsapi32/tests/wtsapi.c, dlls/wtsapi32/wtsapi32.c
7260# |
7261if test "$enable_wtsapi32_EnumerateProcesses" -eq 1; then
7262 patch_apply wtsapi32-EnumerateProcesses/0001-wtsapi32-Partial-implementation-of-WTSEnumerateProce.patch
7263 (
7264 printf '%s\n' '+ { "Sebastian Lackner", "wtsapi32: Partial implementation of WTSEnumerateProcessesW.", 1 },';
7265 ) >> "$patchlist"
7266fi
7267
7268
7269if test "$enable_patchlist" -eq 1; then
7270
7271 # Generate a temporary patch containing the patchlist and apply it
7272 patch_data=$(cat "$patchlist" | sort)
7273 if test ! -z "$patch_data"; then
7274 patch_lines=$(printf '%s\n' "$patch_data" | wc -l)
7275 patch_lines=$((${patch_lines}+21))
7276 cat > "$patchlist" <<EOF
7277From: Wine Staging Team <webmaster@fds-team.de>
7278Subject: Autogenerated patch list.
7279
7280diff --git a/libs/wine/config.c b/libs/wine/config.c
7281index 5262c76..0a3182f 100644
7282--- a/libs/wine/config.c
7283+++ b/libs/wine/config.c
7284@@ -478,10 +478,${patch_lines} @@ const char *wine_get_version(void)
7285 return PACKAGE_VERSION;
7286 }
7287
7288+static const struct
7289+{
7290+ const char *author;
7291+ const char *subject;
7292+ int revision;
7293+}
7294+wine_patch_data[] =
7295+{
7296${patch_data}
7297+ { NULL, NULL, 0 }
7298+};
7299+
7300 /* return the applied non-standard patches */
7301 const void *wine_get_patches(void)
7302 {
7303- return NULL;
7304+ return &wine_patch_data[0];
7305 }
7306
7307 /* return the build id string */
7308EOF
7309 patch_apply_file "$patchlist"
7310 fi
7311 rm "$patchlist"
7312fi
7313
7314if test "$enable_autoconf" -eq 1; then
7315 if ! update_configure; then
7316 abort "'autoreconf -f' failed."
7317 fi
7318 if ! update_protocol; then
7319 abort "'./tools/make_requests' failed."
7320 fi
7321fi
7322# Success
7323exit 0