mirror of
https://gitlab.winehq.org/wine/wine-staging.git
synced 2024-11-21 16:46:54 -08:00
e8ba49a434
These test are what remains of the origial patchset, and they are very unlikly to upstreamed.
8384 lines
363 KiB
Bash
Executable File
8384 lines
363 KiB
Bash
Executable File
#!/bin/sh
|
|
#
|
|
# Script to automatically install all Wine Staging patches
|
|
#
|
|
# Copyright (C) 2015-2017 Sebastian Lackner
|
|
#
|
|
# This library is free software; you can redistribute it and/or
|
|
# modify it under the terms of the GNU Lesser General Public
|
|
# License as published by the Free Software Foundation; either
|
|
# version 2.1 of the License, or (at your option) any later version.
|
|
#
|
|
# This library is distributed in the hope that it will be useful,
|
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
# Lesser General Public License for more details.
|
|
#
|
|
# You should have received a copy of the GNU Lesser General Public
|
|
# License along with this library; if not, write to the Free Software
|
|
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
|
|
#
|
|
|
|
# Show usage information
|
|
usage()
|
|
{
|
|
echo ""
|
|
echo "Usage: ./patchinstall.sh [DESTDIR=path] [--all] [-W patchset] [patchset ...]"
|
|
echo ""
|
|
echo "Autogenerated script to apply all Wine Staging patches on your Wine"
|
|
echo "source tree."
|
|
echo ""
|
|
echo "Configuration:"
|
|
echo " DESTDIR=path Specify the path to the wine source tree"
|
|
echo " --all Select all patches"
|
|
echo " --force-autoconf Run autoreconf and tools/make_requests after each patch"
|
|
echo " --help Display this help and exit"
|
|
echo " --no-autoconf Do not run autoreconf and tools/make_requests"
|
|
echo " --no-patchlist Do not apply patchlist (needed for 'wine --patches')"
|
|
echo " --upstream-commit Print the upstream Wine commit SHA1 and exit"
|
|
echo " --version Show version information and exit"
|
|
echo " -W patchset Exclude a specific patchset"
|
|
echo ""
|
|
echo "Backends:"
|
|
echo " --backend=patch Use regular 'patch' utility to apply patches (default)"
|
|
echo " --backend=eapply Use 'eapply' to apply patches (Gentoo only)"
|
|
echo " --backend=epatch Use 'epatch' to apply patches (Gentoo only, deprecated)"
|
|
echo " --backend=git-am Use 'git am' to apply patches"
|
|
echo " --backend=git-apply Use 'git apply' to apply patches"
|
|
echo " --backend=stg Import the patches using stacked git"
|
|
echo ""
|
|
}
|
|
|
|
# Get the upstream commit sha
|
|
upstream_commit()
|
|
{
|
|
echo "70fbfa2cb8198f86efa19eda91cf769056b7da2c"
|
|
}
|
|
|
|
# Show version information
|
|
version()
|
|
{
|
|
echo "Wine Staging 3.14"
|
|
echo "Copyright (C) 2014-2018 the Wine Staging project authors."
|
|
echo "Copyright (C) 2018 Alistair Leslie-Hughes"
|
|
echo ""
|
|
echo "Patchset to be applied on upstream Wine:"
|
|
echo " commit $(upstream_commit)"
|
|
echo ""
|
|
}
|
|
|
|
# Critical error, abort
|
|
abort()
|
|
{
|
|
printf '%s\n' "ERROR: $1" >&2
|
|
exit 1
|
|
}
|
|
|
|
# Show a warning
|
|
warning()
|
|
{
|
|
printf '%s\n' "WARNING: $1" >&2
|
|
}
|
|
|
|
# Enable or disable all patchsets
|
|
patch_enable_all ()
|
|
{
|
|
enable_Compiler_Warnings="$1"
|
|
enable_Pipelight="$1"
|
|
enable_Staging="$1"
|
|
enable_advapi32_CreateRestrictedToken="$1"
|
|
enable_advapi32_LsaLookupPrivilegeName="$1"
|
|
enable_advapi32_LsaLookupSids="$1"
|
|
enable_advapi32_SetSecurityInfo="$1"
|
|
enable_advapi32_Token_Integrity_Level="$1"
|
|
enable_advapi32_WinBuiltinAnyPackageSid="$1"
|
|
enable_api_ms_win_Stub_DLLs="$1"
|
|
enable_avifil32_IGetFrame_fnSetFormat="$1"
|
|
enable_avifile_dll16_AVIStreamGetFrame="$1"
|
|
enable_bcrypt_BCryptDeriveKeyPBKDF2="$1"
|
|
enable_bcrypt_BCryptGenerateKeyPair="$1"
|
|
enable_browseui_Progress_Dialog="$1"
|
|
enable_comctl32_Listview_DrawItem="$1"
|
|
enable_comdlg32_lpstrFileTitle="$1"
|
|
enable_configure_Absolute_RPATH="$1"
|
|
enable_crypt32_CMS_Certificates="$1"
|
|
enable_crypt32_CryptUnprotectMemory="$1"
|
|
enable_crypt32_MS_Root_Certs="$1"
|
|
enable_d2d1_ID2D1Factory1="$1"
|
|
enable_d3d11_Deferred_Context="$1"
|
|
enable_d3d11_Depth_Bias="$1"
|
|
enable_d3d8_ValidateShader="$1"
|
|
enable_d3d9_DesktopWindow="$1"
|
|
enable_d3d9_Tests="$1"
|
|
enable_d3dx9_36_32bpp_Alpha_Channel="$1"
|
|
enable_d3dx9_36_BumpLuminance="$1"
|
|
enable_d3dx9_36_CloneEffect="$1"
|
|
enable_d3dx9_36_D3DXDisassembleShader="$1"
|
|
enable_d3dx9_36_D3DXOptimizeVertices="$1"
|
|
enable_d3dx9_36_D3DXStubs="$1"
|
|
enable_d3dx9_36_DDS="$1"
|
|
enable_d3dx9_36_DXTn="$1"
|
|
enable_d3dx9_36_DrawText="$1"
|
|
enable_d3dx9_36_Dummy_Skininfo="$1"
|
|
enable_d3dx9_36_Filter_Warnings="$1"
|
|
enable_d3dx9_36_Optimize_Inplace="$1"
|
|
enable_d3dx9_36_Texture_Align="$1"
|
|
enable_d3dx9_36_UpdateSkinnedMesh="$1"
|
|
enable_dbghelp_Debug_Symbols="$1"
|
|
enable_ddraw_D3DFINDDEVICERESULT="$1"
|
|
enable_ddraw_Device_Caps="$1"
|
|
enable_ddraw_EnumSurfaces="$1"
|
|
enable_ddraw_Fix_Typos="$1"
|
|
enable_ddraw_FlipToGDISurface="$1"
|
|
enable_ddraw_IDirect3DTexture2_Load="$1"
|
|
enable_ddraw_Prevent_viewport_crash="$1"
|
|
enable_ddraw_Rendering_Targets="$1"
|
|
enable_ddraw_Silence_FIXMEs="$1"
|
|
enable_ddraw_Write_Vtable="$1"
|
|
enable_dinput_Deadlock="$1"
|
|
enable_dinput_Initialize="$1"
|
|
enable_dsound_EAX="$1"
|
|
enable_dsound_Fast_Mixer="$1"
|
|
enable_dsound_Revert_Cleanup="$1"
|
|
enable_dwrite_FontFallback="$1"
|
|
enable_dxdiagn_Enumerate_DirectSound="$1"
|
|
enable_dxdiagn_GetChildContainer_Leaf_Nodes="$1"
|
|
enable_dxgi_GammaRamp="$1"
|
|
enable_dxgi_MakeWindowAssociation="$1"
|
|
enable_dxva2_Video_Decoder="$1"
|
|
enable_explorer_Video_Registry_Key="$1"
|
|
enable_fonts_Missing_Fonts="$1"
|
|
enable_fsutil_Stub_Program="$1"
|
|
enable_gdi32_Lazy_Font_Initialization="$1"
|
|
enable_gdi32_MultiMonitor="$1"
|
|
enable_gdi32_Path_Metafile="$1"
|
|
enable_gdi32_Symbol_Truetype_Font="$1"
|
|
enable_gdiplus_Performance_Improvements="$1"
|
|
enable_imagehlp_BindImageEx="$1"
|
|
enable_imagehlp_Cleanup="$1"
|
|
enable_imagehlp_ImageLoad="$1"
|
|
enable_include_winsock="$1"
|
|
enable_inseng_Implementation="$1"
|
|
enable_iphlpapi_System_Ping="$1"
|
|
enable_iphlpapi_TCP_Table="$1"
|
|
enable_kernel32_COMSPEC="$1"
|
|
enable_kernel32_CopyFileEx="$1"
|
|
enable_kernel32_Cwd_Startup_Info="$1"
|
|
enable_kernel32_Debugger="$1"
|
|
enable_kernel32_FindFirstFile="$1"
|
|
enable_kernel32_GetShortPathName="$1"
|
|
enable_kernel32_Job_Tests="$1"
|
|
enable_kernel32_K32GetPerformanceInfo="$1"
|
|
enable_kernel32_MoveFile="$1"
|
|
enable_kernel32_NeedCurrentDirectoryForExePath="$1"
|
|
enable_kernel32_PE_Loader_Fixes="$1"
|
|
enable_kernel32_Processor_Group="$1"
|
|
enable_kernel32_Profile="$1"
|
|
enable_kernel32_SCSI_Sysfs="$1"
|
|
enable_kernel32_SetFileCompletionNotificationModes="$1"
|
|
enable_kernelbase_PathCchCombineEx="$1"
|
|
enable_krnl386_exe16_GDT_LDT_Emulation="$1"
|
|
enable_krnl386_exe16_Invalid_Console_Handles="$1"
|
|
enable_krnl386_exe16__lclose16="$1"
|
|
enable_libs_Debug_Channel="$1"
|
|
enable_libs_Unicode_Collation="$1"
|
|
enable_loader_OSX_Preloader="$1"
|
|
enable_mmsystem_dll16_MIDIHDR_Refcount="$1"
|
|
enable_mountmgr_DosDevices="$1"
|
|
enable_mscoree_CorValidateImage="$1"
|
|
enable_mshtml_HTMLLocation_put_hash="$1"
|
|
enable_msi_MsiGetDatabaseState="$1"
|
|
enable_msi_msi_vcl_get_cost="$1"
|
|
enable_msidb_Implementation="$1"
|
|
enable_msvcrt_Math_Precision="$1"
|
|
enable_msvfw32_ICGetDisplayFormat="$1"
|
|
enable_ntdll_APC_Performance="$1"
|
|
enable_ntdll_Activation_Context="$1"
|
|
enable_ntdll_ApiSetMap="$1"
|
|
enable_ntdll_ApiSetQueryApiSetPresence="$1"
|
|
enable_ntdll_Builtin_Prot="$1"
|
|
enable_ntdll_CriticalSection="$1"
|
|
enable_ntdll_DOS_Attributes="$1"
|
|
enable_ntdll_Dealloc_Thread_Stack="$1"
|
|
enable_ntdll_DeviceType_Systemroot="$1"
|
|
enable_ntdll_DllOverrides_WOW64="$1"
|
|
enable_ntdll_DllRedirects="$1"
|
|
enable_ntdll_Exception="$1"
|
|
enable_ntdll_FileDispositionInformation="$1"
|
|
enable_ntdll_FileFsFullSizeInformation="$1"
|
|
enable_ntdll_FileFsVolumeInformation="$1"
|
|
enable_ntdll_Fix_Alignment="$1"
|
|
enable_ntdll_HashLinks="$1"
|
|
enable_ntdll_Heap_Improvements="$1"
|
|
enable_ntdll_Hide_Wine_Exports="$1"
|
|
enable_ntdll_Interrupt_0x2e="$1"
|
|
enable_ntdll_Junction_Points="$1"
|
|
enable_ntdll_LDR_MODULE="$1"
|
|
enable_ntdll_LdrGetDllHandle="$1"
|
|
enable_ntdll_LdrInitializeThunk="$1"
|
|
enable_ntdll_Loader_Machine_Type="$1"
|
|
enable_ntdll_NtAccessCheck="$1"
|
|
enable_ntdll_NtContinue="$1"
|
|
enable_ntdll_NtDevicePath="$1"
|
|
enable_ntdll_NtQueryEaFile="$1"
|
|
enable_ntdll_NtQueryInformationProcess_ProcessCookie="$1"
|
|
enable_ntdll_NtQuerySection="$1"
|
|
enable_ntdll_NtQueryVirtualMemory="$1"
|
|
enable_ntdll_NtSetLdtEntries="$1"
|
|
enable_ntdll_NtSuspendProcess="$1"
|
|
enable_ntdll_Pipe_SpecialCharacters="$1"
|
|
enable_ntdll_ProcessQuotaLimits="$1"
|
|
enable_ntdll_Purist_Mode="$1"
|
|
enable_ntdll_RtlCaptureStackBackTrace="$1"
|
|
enable_ntdll_RtlCreateUserThread="$1"
|
|
enable_ntdll_RtlGetUnloadEventTraceEx="$1"
|
|
enable_ntdll_RtlQueryPackageIdentity="$1"
|
|
enable_ntdll_RtlSetUnhandledExceptionFilter="$1"
|
|
enable_ntdll_Serial_Port_Detection="$1"
|
|
enable_ntdll_Signal_Handler="$1"
|
|
enable_ntdll_Stack_Guard_Page="$1"
|
|
enable_ntdll_Stack_Overflow="$1"
|
|
enable_ntdll_Status_Mapping="$1"
|
|
enable_ntdll_SystemInterruptInformation="$1"
|
|
enable_ntdll_SystemModuleInformation="$1"
|
|
enable_ntdll_SystemRoot_Symlink="$1"
|
|
enable_ntdll_ThreadTime="$1"
|
|
enable_ntdll_Threading="$1"
|
|
enable_ntdll_User_Shared_Data="$1"
|
|
enable_ntdll_WRITECOPY="$1"
|
|
enable_ntdll_Wait_User_APC="$1"
|
|
enable_ntdll_Zero_mod_name="$1"
|
|
enable_ntdll_futex_condition_var="$1"
|
|
enable_ntdll_set_full_cpu_context="$1"
|
|
enable_ntoskrnl_Stubs="$1"
|
|
enable_nvapi_Stub_DLL="$1"
|
|
enable_nvcuda_CUDA_Support="$1"
|
|
enable_nvcuvid_CUDA_Video_Support="$1"
|
|
enable_nvencodeapi_Video_Encoder="$1"
|
|
enable_ole32_HGLOBALStream="$1"
|
|
enable_ole32_STGPROP="$1"
|
|
enable_oleaut32_CreateTypeLib="$1"
|
|
enable_oleaut32_DispCallFunc="$1"
|
|
enable_oleaut32_ITypeInfo_fnInvoke="$1"
|
|
enable_oleaut32_Load_Save_EMF="$1"
|
|
enable_oleaut32_OLEPictureImpl_SaveAsFile="$1"
|
|
enable_oleaut32_OleLoadPicture="$1"
|
|
enable_oleaut32_OleLoadPictureFile="$1"
|
|
enable_oleaut32_TKIND_COCLASS="$1"
|
|
enable_oleaut32_x86_64_Marshaller="$1"
|
|
enable_opengl32_Revert_Disable_Ext="$1"
|
|
enable_opengl32_glDebugMessageCallback="$1"
|
|
enable_opengl32_wglChoosePixelFormat="$1"
|
|
enable_packager_DllMain="$1"
|
|
enable_quartz_MediaSeeking_Positions="$1"
|
|
enable_quartz_Silence_FIXMEs="$1"
|
|
enable_riched20_Class_Tests="$1"
|
|
enable_riched20_IText_Interface="$1"
|
|
enable_server_ClipCursor="$1"
|
|
enable_server_CreateProcess_ACLs="$1"
|
|
enable_server_Desktop_Refcount="$1"
|
|
enable_server_FileEndOfFileInformation="$1"
|
|
enable_server_File_Permissions="$1"
|
|
enable_server_Inherited_ACLs="$1"
|
|
enable_server_Key_State="$1"
|
|
enable_server_Misc_ACL="$1"
|
|
enable_server_Object_Types="$1"
|
|
enable_server_PeekMessage="$1"
|
|
enable_server_Realtime_Priority="$1"
|
|
enable_server_Registry_Notifications="$1"
|
|
enable_server_Shared_Memory="$1"
|
|
enable_server_Signal_Thread="$1"
|
|
enable_server_Stored_ACLs="$1"
|
|
enable_server_Timestamp_Compat="$1"
|
|
enable_server_device_manager_destroy="$1"
|
|
enable_server_send_hardware_message="$1"
|
|
enable_setupapi_DiskSpaceList="$1"
|
|
enable_setupapi_Display_Device="$1"
|
|
enable_setupapi_HSPFILEQ_Check_Type="$1"
|
|
enable_setupapi_SPFILENOTIFY_FILEINCABINET="$1"
|
|
enable_setupapi_SP_COPY_IN_USE_NEEDS_REBOOT="$1"
|
|
enable_setupapi_SetupDiGetDeviceInterfaceDetail="$1"
|
|
enable_setupapi_SetupPromptForDisk="$1"
|
|
enable_shdocvw_ParseURLFromOutsideSource_Tests="$1"
|
|
enable_shell32_ACE_Viewer="$1"
|
|
enable_shell32_Context_Menu="$1"
|
|
enable_shell32_NewMenu_Interface="$1"
|
|
enable_shell32_Progress_Dialog="$1"
|
|
enable_shell32_SFGAO_HASSUBFOLDER="$1"
|
|
enable_shell32_SHELL_execute="$1"
|
|
enable_shell32_SHFileOperation_Move="$1"
|
|
enable_shell32_Toolbar_Bitmaps="$1"
|
|
enable_shell32_UnixFS="$1"
|
|
enable_shlwapi_AssocGetPerceivedType="$1"
|
|
enable_shlwapi_SHAddDataBlock="$1"
|
|
enable_shlwapi_SHMapHandle="$1"
|
|
enable_shlwapi_UrlCombine="$1"
|
|
enable_stdole32_idl_Typelib="$1"
|
|
enable_stdole32_tlb_SLTG_Typelib="$1"
|
|
enable_taskmgr_Memory_Usage="$1"
|
|
enable_uianimation_stubs="$1"
|
|
enable_user32_Auto_Radio_Button="$1"
|
|
enable_user32_Combobox_WM_SIZE="$1"
|
|
enable_user32_DM_SETDEFID="$1"
|
|
enable_user32_Dialog_Focus="$1"
|
|
enable_user32_Dialog_Paint_Event="$1"
|
|
enable_user32_DrawMenuItem="$1"
|
|
enable_user32_DrawTextExW="$1"
|
|
enable_user32_FlashWindowEx="$1"
|
|
enable_user32_GetSystemMetrics="$1"
|
|
enable_user32_LR_LOADFROMFILE="$1"
|
|
enable_user32_ListBox_Size="$1"
|
|
enable_user32_MessageBox_WS_EX_TOPMOST="$1"
|
|
enable_user32_Mouse_Message_Hwnd="$1"
|
|
enable_user32_Refresh_MDI_Menus="$1"
|
|
enable_user32_ScrollWindowEx="$1"
|
|
enable_user32_ShowWindow="$1"
|
|
enable_user32_lpCreateParams="$1"
|
|
enable_uxtheme_CloseThemeClass="$1"
|
|
enable_uxtheme_GTK_Theming="$1"
|
|
enable_version_VerFindFileA="$1"
|
|
enable_version_VerQueryValue="$1"
|
|
enable_virtdisk_GetStorageDependencyInformation="$1"
|
|
enable_widl_SLTG_Typelib_Support="$1"
|
|
enable_windowscodecs_32bppPRGBA="$1"
|
|
enable_windowscodecs_GIF_Encoder="$1"
|
|
enable_windowscodecs_IMILBitmapSource="$1"
|
|
enable_windowscodecs_IWICPalette_InitializeFromBitmap="$1"
|
|
enable_windowscodecs_JPEG_Decoder="$1"
|
|
enable_windowscodecs_Palette_Images="$1"
|
|
enable_windowscodecs_TIFF_Support="$1"
|
|
enable_wine_inf_Directory_ContextMenuHandlers="$1"
|
|
enable_wine_inf_Dummy_CA_Certificate="$1"
|
|
enable_wine_inf_Performance="$1"
|
|
enable_wine_inf_ProfileList_UserSID="$1"
|
|
enable_wine_inf_WMP_12="$1"
|
|
enable_wineboot_DriveSerial="$1"
|
|
enable_wineboot_HKEY_DYN_DATA="$1"
|
|
enable_wineboot_ProxySettings="$1"
|
|
enable_wineboot_drivers_etc_Stubs="$1"
|
|
enable_winebuild_Fake_Dlls="$1"
|
|
enable_winecfg_Libraries="$1"
|
|
enable_winecfg_Staging="$1"
|
|
enable_winecfg_Unmounted_Devices="$1"
|
|
enable_wined3d_Accounting="$1"
|
|
enable_wined3d_CSMT_Main="$1"
|
|
enable_wined3d_DXTn="$1"
|
|
enable_wined3d_Dual_Source_Blending="$1"
|
|
enable_wined3d_Indexed_Vertex_Blending="$1"
|
|
enable_wined3d_QUERY_Stubs="$1"
|
|
enable_wined3d_Silence_FIXMEs="$1"
|
|
enable_wined3d_UAV_Counters="$1"
|
|
enable_wined3d_WINED3DFMT_B8G8R8X8_UNORM="$1"
|
|
enable_wined3d_WINED3D_RS_COLORWRITEENABLE="$1"
|
|
enable_wined3d_wined3d_guess_gl_vendor="$1"
|
|
enable_winedbg_Process_Arguments="$1"
|
|
enable_winedevice_Default_Drivers="$1"
|
|
enable_winedevice_Fix_Relocation="$1"
|
|
enable_winemapi_user_xdg_mail="$1"
|
|
enable_winemenubuilder_Desktop_Icon_Path="$1"
|
|
enable_winemp3_acm_MPEG3_StreamOpen="$1"
|
|
enable_wineps_drv_PostScript_Fixes="$1"
|
|
enable_winepulse_PulseAudio_Support="$1"
|
|
enable_winex11_CandidateWindowPos="$1"
|
|
enable_winex11_ClipCursor="$1"
|
|
enable_winex11_DefaultDisplayFrequency="$1"
|
|
enable_winex11_MWM_Decorations="$1"
|
|
enable_winex11_UpdateLayeredWindow="$1"
|
|
enable_winex11_Vulkan_support="$1"
|
|
enable_winex11_WM_WINDOWPOSCHANGING="$1"
|
|
enable_winex11_Window_Style="$1"
|
|
enable_winex11_XEMBED="$1"
|
|
enable_winex11__NET_ACTIVE_WINDOW="$1"
|
|
enable_winex11_wglShareLists="$1"
|
|
enable_winhttp_Accept_Headers="$1"
|
|
enable_winhttp_System_Proxy_Autoconfig="$1"
|
|
enable_wininet_Cleanup="$1"
|
|
enable_wininet_Http_Decoding="$1"
|
|
enable_wininet_InternetCrackUrlW="$1"
|
|
enable_winmm_Delay_Import_Depends="$1"
|
|
enable_winmm_mciSendCommandA="$1"
|
|
enable_wintab32_improvements="$1"
|
|
enable_wintrust_WTHelperGetProvCertFromChain="$1"
|
|
enable_wintrust_WinVerifyTrust="$1"
|
|
enable_wow64cpu_Wow64Transition="$1"
|
|
enable_wpcap_Dynamic_Linking="$1"
|
|
enable_ws2_32_APC_Performance="$1"
|
|
enable_ws2_32_Connect_Time="$1"
|
|
enable_ws2_32_Tests="$1"
|
|
enable_ws2_32_TransmitFile="$1"
|
|
enable_ws2_32_WSACleanup="$1"
|
|
enable_ws2_32_getaddrinfo="$1"
|
|
enable_ws2_32_getsockopt="$1"
|
|
enable_wtsapi32_EnumerateProcesses="$1"
|
|
enable_wtsapi32_WTSQueryUserToken="$1"
|
|
enable_wuauserv_Dummy_Service="$1"
|
|
enable_wusa_MSU_Package_Installer="$1"
|
|
enable_xaudio2_7_OnVoiceProcessingPassStart="$1"
|
|
enable_xaudio2_7_WMA_support="$1"
|
|
enable_xaudio2_CommitChanges="$1"
|
|
}
|
|
|
|
# Enable or disable a specific patchset
|
|
patch_enable ()
|
|
{
|
|
case "$1" in
|
|
Compiler_Warnings)
|
|
enable_Compiler_Warnings="$2"
|
|
;;
|
|
Pipelight)
|
|
enable_Pipelight="$2"
|
|
;;
|
|
Staging)
|
|
enable_Staging="$2"
|
|
;;
|
|
advapi32-CreateRestrictedToken)
|
|
enable_advapi32_CreateRestrictedToken="$2"
|
|
;;
|
|
advapi32-LsaLookupPrivilegeName)
|
|
enable_advapi32_LsaLookupPrivilegeName="$2"
|
|
;;
|
|
advapi32-LsaLookupSids)
|
|
enable_advapi32_LsaLookupSids="$2"
|
|
;;
|
|
advapi32-SetSecurityInfo)
|
|
enable_advapi32_SetSecurityInfo="$2"
|
|
;;
|
|
advapi32-Token_Integrity_Level)
|
|
enable_advapi32_Token_Integrity_Level="$2"
|
|
;;
|
|
advapi32-WinBuiltinAnyPackageSid)
|
|
enable_advapi32_WinBuiltinAnyPackageSid="$2"
|
|
;;
|
|
api-ms-win-Stub_DLLs)
|
|
enable_api_ms_win_Stub_DLLs="$2"
|
|
;;
|
|
avifil32-IGetFrame_fnSetFormat)
|
|
enable_avifil32_IGetFrame_fnSetFormat="$2"
|
|
;;
|
|
avifile.dll16-AVIStreamGetFrame)
|
|
enable_avifile_dll16_AVIStreamGetFrame="$2"
|
|
;;
|
|
bcrypt-BCryptDeriveKeyPBKDF2)
|
|
enable_bcrypt_BCryptDeriveKeyPBKDF2="$2"
|
|
;;
|
|
bcrypt-BCryptGenerateKeyPair)
|
|
enable_bcrypt_BCryptGenerateKeyPair="$2"
|
|
;;
|
|
browseui-Progress_Dialog)
|
|
enable_browseui_Progress_Dialog="$2"
|
|
;;
|
|
comctl32-Listview_DrawItem)
|
|
enable_comctl32_Listview_DrawItem="$2"
|
|
;;
|
|
comdlg32-lpstrFileTitle)
|
|
enable_comdlg32_lpstrFileTitle="$2"
|
|
;;
|
|
configure-Absolute_RPATH)
|
|
enable_configure_Absolute_RPATH="$2"
|
|
;;
|
|
crypt32-CMS_Certificates)
|
|
enable_crypt32_CMS_Certificates="$2"
|
|
;;
|
|
crypt32-CryptUnprotectMemory)
|
|
enable_crypt32_CryptUnprotectMemory="$2"
|
|
;;
|
|
crypt32-MS_Root_Certs)
|
|
enable_crypt32_MS_Root_Certs="$2"
|
|
;;
|
|
d2d1-ID2D1Factory1)
|
|
enable_d2d1_ID2D1Factory1="$2"
|
|
;;
|
|
d3d11-Deferred_Context)
|
|
enable_d3d11_Deferred_Context="$2"
|
|
;;
|
|
d3d11-Depth_Bias)
|
|
enable_d3d11_Depth_Bias="$2"
|
|
;;
|
|
d3d8-ValidateShader)
|
|
enable_d3d8_ValidateShader="$2"
|
|
;;
|
|
d3d9-DesktopWindow)
|
|
enable_d3d9_DesktopWindow="$2"
|
|
;;
|
|
d3d9-Tests)
|
|
enable_d3d9_Tests="$2"
|
|
;;
|
|
d3dx9_36-32bpp_Alpha_Channel)
|
|
enable_d3dx9_36_32bpp_Alpha_Channel="$2"
|
|
;;
|
|
d3dx9_36-BumpLuminance)
|
|
enable_d3dx9_36_BumpLuminance="$2"
|
|
;;
|
|
d3dx9_36-CloneEffect)
|
|
enable_d3dx9_36_CloneEffect="$2"
|
|
;;
|
|
d3dx9_36-D3DXDisassembleShader)
|
|
enable_d3dx9_36_D3DXDisassembleShader="$2"
|
|
;;
|
|
d3dx9_36-D3DXOptimizeVertices)
|
|
enable_d3dx9_36_D3DXOptimizeVertices="$2"
|
|
;;
|
|
d3dx9_36-D3DXStubs)
|
|
enable_d3dx9_36_D3DXStubs="$2"
|
|
;;
|
|
d3dx9_36-DDS)
|
|
enable_d3dx9_36_DDS="$2"
|
|
;;
|
|
d3dx9_36-DXTn)
|
|
enable_d3dx9_36_DXTn="$2"
|
|
;;
|
|
d3dx9_36-DrawText)
|
|
enable_d3dx9_36_DrawText="$2"
|
|
;;
|
|
d3dx9_36-Dummy_Skininfo)
|
|
enable_d3dx9_36_Dummy_Skininfo="$2"
|
|
;;
|
|
d3dx9_36-Filter_Warnings)
|
|
enable_d3dx9_36_Filter_Warnings="$2"
|
|
;;
|
|
d3dx9_36-Optimize_Inplace)
|
|
enable_d3dx9_36_Optimize_Inplace="$2"
|
|
;;
|
|
d3dx9_36-Texture_Align)
|
|
enable_d3dx9_36_Texture_Align="$2"
|
|
;;
|
|
d3dx9_36-UpdateSkinnedMesh)
|
|
enable_d3dx9_36_UpdateSkinnedMesh="$2"
|
|
;;
|
|
dbghelp-Debug_Symbols)
|
|
enable_dbghelp_Debug_Symbols="$2"
|
|
;;
|
|
ddraw-D3DFINDDEVICERESULT)
|
|
enable_ddraw_D3DFINDDEVICERESULT="$2"
|
|
;;
|
|
ddraw-Device_Caps)
|
|
enable_ddraw_Device_Caps="$2"
|
|
;;
|
|
ddraw-EnumSurfaces)
|
|
enable_ddraw_EnumSurfaces="$2"
|
|
;;
|
|
ddraw-Fix_Typos)
|
|
enable_ddraw_Fix_Typos="$2"
|
|
;;
|
|
ddraw-FlipToGDISurface)
|
|
enable_ddraw_FlipToGDISurface="$2"
|
|
;;
|
|
ddraw-IDirect3DTexture2_Load)
|
|
enable_ddraw_IDirect3DTexture2_Load="$2"
|
|
;;
|
|
ddraw-Prevent_viewport_crash)
|
|
enable_ddraw_Prevent_viewport_crash="$2"
|
|
;;
|
|
ddraw-Rendering_Targets)
|
|
enable_ddraw_Rendering_Targets="$2"
|
|
;;
|
|
ddraw-Silence_FIXMEs)
|
|
enable_ddraw_Silence_FIXMEs="$2"
|
|
;;
|
|
ddraw-Write_Vtable)
|
|
enable_ddraw_Write_Vtable="$2"
|
|
;;
|
|
dinput-Deadlock)
|
|
enable_dinput_Deadlock="$2"
|
|
;;
|
|
dinput-Initialize)
|
|
enable_dinput_Initialize="$2"
|
|
;;
|
|
dsound-EAX)
|
|
enable_dsound_EAX="$2"
|
|
;;
|
|
dsound-Fast_Mixer)
|
|
enable_dsound_Fast_Mixer="$2"
|
|
;;
|
|
dsound-Revert_Cleanup)
|
|
enable_dsound_Revert_Cleanup="$2"
|
|
;;
|
|
dwrite-FontFallback)
|
|
enable_dwrite_FontFallback="$2"
|
|
;;
|
|
dxdiagn-Enumerate_DirectSound)
|
|
enable_dxdiagn_Enumerate_DirectSound="$2"
|
|
;;
|
|
dxdiagn-GetChildContainer_Leaf_Nodes)
|
|
enable_dxdiagn_GetChildContainer_Leaf_Nodes="$2"
|
|
;;
|
|
dxgi-GammaRamp)
|
|
enable_dxgi_GammaRamp="$2"
|
|
;;
|
|
dxgi-MakeWindowAssociation)
|
|
enable_dxgi_MakeWindowAssociation="$2"
|
|
;;
|
|
dxva2-Video_Decoder)
|
|
enable_dxva2_Video_Decoder="$2"
|
|
;;
|
|
explorer-Video_Registry_Key)
|
|
enable_explorer_Video_Registry_Key="$2"
|
|
;;
|
|
fonts-Missing_Fonts)
|
|
enable_fonts_Missing_Fonts="$2"
|
|
;;
|
|
fsutil-Stub_Program)
|
|
enable_fsutil_Stub_Program="$2"
|
|
;;
|
|
gdi32-Lazy_Font_Initialization)
|
|
enable_gdi32_Lazy_Font_Initialization="$2"
|
|
;;
|
|
gdi32-MultiMonitor)
|
|
enable_gdi32_MultiMonitor="$2"
|
|
;;
|
|
gdi32-Path_Metafile)
|
|
enable_gdi32_Path_Metafile="$2"
|
|
;;
|
|
gdi32-Symbol_Truetype_Font)
|
|
enable_gdi32_Symbol_Truetype_Font="$2"
|
|
;;
|
|
gdiplus-Performance-Improvements)
|
|
enable_gdiplus_Performance_Improvements="$2"
|
|
;;
|
|
imagehlp-BindImageEx)
|
|
enable_imagehlp_BindImageEx="$2"
|
|
;;
|
|
imagehlp-Cleanup)
|
|
enable_imagehlp_Cleanup="$2"
|
|
;;
|
|
imagehlp-ImageLoad)
|
|
enable_imagehlp_ImageLoad="$2"
|
|
;;
|
|
include-winsock)
|
|
enable_include_winsock="$2"
|
|
;;
|
|
inseng-Implementation)
|
|
enable_inseng_Implementation="$2"
|
|
;;
|
|
iphlpapi-System_Ping)
|
|
enable_iphlpapi_System_Ping="$2"
|
|
;;
|
|
iphlpapi-TCP_Table)
|
|
enable_iphlpapi_TCP_Table="$2"
|
|
;;
|
|
kernel32-COMSPEC)
|
|
enable_kernel32_COMSPEC="$2"
|
|
;;
|
|
kernel32-CopyFileEx)
|
|
enable_kernel32_CopyFileEx="$2"
|
|
;;
|
|
kernel32-Cwd_Startup_Info)
|
|
enable_kernel32_Cwd_Startup_Info="$2"
|
|
;;
|
|
kernel32-Debugger)
|
|
enable_kernel32_Debugger="$2"
|
|
;;
|
|
kernel32-FindFirstFile)
|
|
enable_kernel32_FindFirstFile="$2"
|
|
;;
|
|
kernel32-GetShortPathName)
|
|
enable_kernel32_GetShortPathName="$2"
|
|
;;
|
|
kernel32-Job_Tests)
|
|
enable_kernel32_Job_Tests="$2"
|
|
;;
|
|
kernel32-K32GetPerformanceInfo)
|
|
enable_kernel32_K32GetPerformanceInfo="$2"
|
|
;;
|
|
kernel32-MoveFile)
|
|
enable_kernel32_MoveFile="$2"
|
|
;;
|
|
kernel32-NeedCurrentDirectoryForExePath)
|
|
enable_kernel32_NeedCurrentDirectoryForExePath="$2"
|
|
;;
|
|
kernel32-PE_Loader_Fixes)
|
|
enable_kernel32_PE_Loader_Fixes="$2"
|
|
;;
|
|
kernel32-Processor_Group)
|
|
enable_kernel32_Processor_Group="$2"
|
|
;;
|
|
kernel32-Profile)
|
|
enable_kernel32_Profile="$2"
|
|
;;
|
|
kernel32-SCSI_Sysfs)
|
|
enable_kernel32_SCSI_Sysfs="$2"
|
|
;;
|
|
kernel32-SetFileCompletionNotificationModes)
|
|
enable_kernel32_SetFileCompletionNotificationModes="$2"
|
|
;;
|
|
kernelbase-PathCchCombineEx)
|
|
enable_kernelbase_PathCchCombineEx="$2"
|
|
;;
|
|
krnl386.exe16-GDT_LDT_Emulation)
|
|
enable_krnl386_exe16_GDT_LDT_Emulation="$2"
|
|
;;
|
|
krnl386.exe16-Invalid_Console_Handles)
|
|
enable_krnl386_exe16_Invalid_Console_Handles="$2"
|
|
;;
|
|
krnl386.exe16-_lclose16)
|
|
enable_krnl386_exe16__lclose16="$2"
|
|
;;
|
|
libs-Debug_Channel)
|
|
enable_libs_Debug_Channel="$2"
|
|
;;
|
|
libs-Unicode_Collation)
|
|
enable_libs_Unicode_Collation="$2"
|
|
;;
|
|
loader-OSX_Preloader)
|
|
enable_loader_OSX_Preloader="$2"
|
|
;;
|
|
mmsystem.dll16-MIDIHDR_Refcount)
|
|
enable_mmsystem_dll16_MIDIHDR_Refcount="$2"
|
|
;;
|
|
mountmgr-DosDevices)
|
|
enable_mountmgr_DosDevices="$2"
|
|
;;
|
|
mscoree-CorValidateImage)
|
|
enable_mscoree_CorValidateImage="$2"
|
|
;;
|
|
mshtml-HTMLLocation_put_hash)
|
|
enable_mshtml_HTMLLocation_put_hash="$2"
|
|
;;
|
|
msi-MsiGetDatabaseState)
|
|
enable_msi_MsiGetDatabaseState="$2"
|
|
;;
|
|
msi-msi_vcl_get_cost)
|
|
enable_msi_msi_vcl_get_cost="$2"
|
|
;;
|
|
msidb-Implementation)
|
|
enable_msidb_Implementation="$2"
|
|
;;
|
|
msvcrt-Math_Precision)
|
|
enable_msvcrt_Math_Precision="$2"
|
|
;;
|
|
msvfw32-ICGetDisplayFormat)
|
|
enable_msvfw32_ICGetDisplayFormat="$2"
|
|
;;
|
|
ntdll-APC_Performance)
|
|
enable_ntdll_APC_Performance="$2"
|
|
;;
|
|
ntdll-Activation_Context)
|
|
enable_ntdll_Activation_Context="$2"
|
|
;;
|
|
ntdll-ApiSetMap)
|
|
enable_ntdll_ApiSetMap="$2"
|
|
;;
|
|
ntdll-ApiSetQueryApiSetPresence)
|
|
enable_ntdll_ApiSetQueryApiSetPresence="$2"
|
|
;;
|
|
ntdll-Builtin_Prot)
|
|
enable_ntdll_Builtin_Prot="$2"
|
|
;;
|
|
ntdll-CriticalSection)
|
|
enable_ntdll_CriticalSection="$2"
|
|
;;
|
|
ntdll-DOS_Attributes)
|
|
enable_ntdll_DOS_Attributes="$2"
|
|
;;
|
|
ntdll-Dealloc_Thread_Stack)
|
|
enable_ntdll_Dealloc_Thread_Stack="$2"
|
|
;;
|
|
ntdll-DeviceType_Systemroot)
|
|
enable_ntdll_DeviceType_Systemroot="$2"
|
|
;;
|
|
ntdll-DllOverrides_WOW64)
|
|
enable_ntdll_DllOverrides_WOW64="$2"
|
|
;;
|
|
ntdll-DllRedirects)
|
|
enable_ntdll_DllRedirects="$2"
|
|
;;
|
|
ntdll-Exception)
|
|
enable_ntdll_Exception="$2"
|
|
;;
|
|
ntdll-FileDispositionInformation)
|
|
enable_ntdll_FileDispositionInformation="$2"
|
|
;;
|
|
ntdll-FileFsFullSizeInformation)
|
|
enable_ntdll_FileFsFullSizeInformation="$2"
|
|
;;
|
|
ntdll-FileFsVolumeInformation)
|
|
enable_ntdll_FileFsVolumeInformation="$2"
|
|
;;
|
|
ntdll-Fix_Alignment)
|
|
enable_ntdll_Fix_Alignment="$2"
|
|
;;
|
|
ntdll-HashLinks)
|
|
enable_ntdll_HashLinks="$2"
|
|
;;
|
|
ntdll-Heap_Improvements)
|
|
enable_ntdll_Heap_Improvements="$2"
|
|
;;
|
|
ntdll-Hide_Wine_Exports)
|
|
enable_ntdll_Hide_Wine_Exports="$2"
|
|
;;
|
|
ntdll-Interrupt-0x2e)
|
|
enable_ntdll_Interrupt_0x2e="$2"
|
|
;;
|
|
ntdll-Junction_Points)
|
|
enable_ntdll_Junction_Points="$2"
|
|
;;
|
|
ntdll-LDR_MODULE)
|
|
enable_ntdll_LDR_MODULE="$2"
|
|
;;
|
|
ntdll-LdrGetDllHandle)
|
|
enable_ntdll_LdrGetDllHandle="$2"
|
|
;;
|
|
ntdll-LdrInitializeThunk)
|
|
enable_ntdll_LdrInitializeThunk="$2"
|
|
;;
|
|
ntdll-Loader_Machine_Type)
|
|
enable_ntdll_Loader_Machine_Type="$2"
|
|
;;
|
|
ntdll-NtAccessCheck)
|
|
enable_ntdll_NtAccessCheck="$2"
|
|
;;
|
|
ntdll-NtContinue)
|
|
enable_ntdll_NtContinue="$2"
|
|
;;
|
|
ntdll-NtDevicePath)
|
|
enable_ntdll_NtDevicePath="$2"
|
|
;;
|
|
ntdll-NtQueryEaFile)
|
|
enable_ntdll_NtQueryEaFile="$2"
|
|
;;
|
|
ntdll-NtQueryInformationProcess-ProcessCookie)
|
|
enable_ntdll_NtQueryInformationProcess_ProcessCookie="$2"
|
|
;;
|
|
ntdll-NtQuerySection)
|
|
enable_ntdll_NtQuerySection="$2"
|
|
;;
|
|
ntdll-NtQueryVirtualMemory)
|
|
enable_ntdll_NtQueryVirtualMemory="$2"
|
|
;;
|
|
ntdll-NtSetLdtEntries)
|
|
enable_ntdll_NtSetLdtEntries="$2"
|
|
;;
|
|
ntdll-NtSuspendProcess)
|
|
enable_ntdll_NtSuspendProcess="$2"
|
|
;;
|
|
ntdll-Pipe_SpecialCharacters)
|
|
enable_ntdll_Pipe_SpecialCharacters="$2"
|
|
;;
|
|
ntdll-ProcessQuotaLimits)
|
|
enable_ntdll_ProcessQuotaLimits="$2"
|
|
;;
|
|
ntdll-Purist_Mode)
|
|
enable_ntdll_Purist_Mode="$2"
|
|
;;
|
|
ntdll-RtlCaptureStackBackTrace)
|
|
enable_ntdll_RtlCaptureStackBackTrace="$2"
|
|
;;
|
|
ntdll-RtlCreateUserThread)
|
|
enable_ntdll_RtlCreateUserThread="$2"
|
|
;;
|
|
ntdll-RtlGetUnloadEventTraceEx)
|
|
enable_ntdll_RtlGetUnloadEventTraceEx="$2"
|
|
;;
|
|
ntdll-RtlQueryPackageIdentity)
|
|
enable_ntdll_RtlQueryPackageIdentity="$2"
|
|
;;
|
|
ntdll-RtlSetUnhandledExceptionFilter)
|
|
enable_ntdll_RtlSetUnhandledExceptionFilter="$2"
|
|
;;
|
|
ntdll-Serial_Port_Detection)
|
|
enable_ntdll_Serial_Port_Detection="$2"
|
|
;;
|
|
ntdll-Signal_Handler)
|
|
enable_ntdll_Signal_Handler="$2"
|
|
;;
|
|
ntdll-Stack_Guard_Page)
|
|
enable_ntdll_Stack_Guard_Page="$2"
|
|
;;
|
|
ntdll-Stack_Overflow)
|
|
enable_ntdll_Stack_Overflow="$2"
|
|
;;
|
|
ntdll-Status_Mapping)
|
|
enable_ntdll_Status_Mapping="$2"
|
|
;;
|
|
ntdll-SystemInterruptInformation)
|
|
enable_ntdll_SystemInterruptInformation="$2"
|
|
;;
|
|
ntdll-SystemModuleInformation)
|
|
enable_ntdll_SystemModuleInformation="$2"
|
|
;;
|
|
ntdll-SystemRoot_Symlink)
|
|
enable_ntdll_SystemRoot_Symlink="$2"
|
|
;;
|
|
ntdll-ThreadTime)
|
|
enable_ntdll_ThreadTime="$2"
|
|
;;
|
|
ntdll-Threading)
|
|
enable_ntdll_Threading="$2"
|
|
;;
|
|
ntdll-User_Shared_Data)
|
|
enable_ntdll_User_Shared_Data="$2"
|
|
;;
|
|
ntdll-WRITECOPY)
|
|
enable_ntdll_WRITECOPY="$2"
|
|
;;
|
|
ntdll-Wait_User_APC)
|
|
enable_ntdll_Wait_User_APC="$2"
|
|
;;
|
|
ntdll-Zero_mod_name)
|
|
enable_ntdll_Zero_mod_name="$2"
|
|
;;
|
|
ntdll-futex-condition-var)
|
|
enable_ntdll_futex_condition_var="$2"
|
|
;;
|
|
ntdll-set_full_cpu_context)
|
|
enable_ntdll_set_full_cpu_context="$2"
|
|
;;
|
|
ntoskrnl-Stubs)
|
|
enable_ntoskrnl_Stubs="$2"
|
|
;;
|
|
nvapi-Stub_DLL)
|
|
enable_nvapi_Stub_DLL="$2"
|
|
;;
|
|
nvcuda-CUDA_Support)
|
|
enable_nvcuda_CUDA_Support="$2"
|
|
;;
|
|
nvcuvid-CUDA_Video_Support)
|
|
enable_nvcuvid_CUDA_Video_Support="$2"
|
|
;;
|
|
nvencodeapi-Video_Encoder)
|
|
enable_nvencodeapi_Video_Encoder="$2"
|
|
;;
|
|
ole32-HGLOBALStream)
|
|
enable_ole32_HGLOBALStream="$2"
|
|
;;
|
|
ole32-STGPROP)
|
|
enable_ole32_STGPROP="$2"
|
|
;;
|
|
oleaut32-CreateTypeLib)
|
|
enable_oleaut32_CreateTypeLib="$2"
|
|
;;
|
|
oleaut32-DispCallFunc)
|
|
enable_oleaut32_DispCallFunc="$2"
|
|
;;
|
|
oleaut32-ITypeInfo_fnInvoke)
|
|
enable_oleaut32_ITypeInfo_fnInvoke="$2"
|
|
;;
|
|
oleaut32-Load_Save_EMF)
|
|
enable_oleaut32_Load_Save_EMF="$2"
|
|
;;
|
|
oleaut32-OLEPictureImpl_SaveAsFile)
|
|
enable_oleaut32_OLEPictureImpl_SaveAsFile="$2"
|
|
;;
|
|
oleaut32-OleLoadPicture)
|
|
enable_oleaut32_OleLoadPicture="$2"
|
|
;;
|
|
oleaut32-OleLoadPictureFile)
|
|
enable_oleaut32_OleLoadPictureFile="$2"
|
|
;;
|
|
oleaut32-TKIND_COCLASS)
|
|
enable_oleaut32_TKIND_COCLASS="$2"
|
|
;;
|
|
oleaut32-x86_64_Marshaller)
|
|
enable_oleaut32_x86_64_Marshaller="$2"
|
|
;;
|
|
opengl32-Revert_Disable_Ext)
|
|
enable_opengl32_Revert_Disable_Ext="$2"
|
|
;;
|
|
opengl32-glDebugMessageCallback)
|
|
enable_opengl32_glDebugMessageCallback="$2"
|
|
;;
|
|
opengl32-wglChoosePixelFormat)
|
|
enable_opengl32_wglChoosePixelFormat="$2"
|
|
;;
|
|
packager-DllMain)
|
|
enable_packager_DllMain="$2"
|
|
;;
|
|
quartz-MediaSeeking_Positions)
|
|
enable_quartz_MediaSeeking_Positions="$2"
|
|
;;
|
|
quartz-Silence_FIXMEs)
|
|
enable_quartz_Silence_FIXMEs="$2"
|
|
;;
|
|
riched20-Class_Tests)
|
|
enable_riched20_Class_Tests="$2"
|
|
;;
|
|
riched20-IText_Interface)
|
|
enable_riched20_IText_Interface="$2"
|
|
;;
|
|
server-ClipCursor)
|
|
enable_server_ClipCursor="$2"
|
|
;;
|
|
server-CreateProcess_ACLs)
|
|
enable_server_CreateProcess_ACLs="$2"
|
|
;;
|
|
server-Desktop_Refcount)
|
|
enable_server_Desktop_Refcount="$2"
|
|
;;
|
|
server-FileEndOfFileInformation)
|
|
enable_server_FileEndOfFileInformation="$2"
|
|
;;
|
|
server-File_Permissions)
|
|
enable_server_File_Permissions="$2"
|
|
;;
|
|
server-Inherited_ACLs)
|
|
enable_server_Inherited_ACLs="$2"
|
|
;;
|
|
server-Key_State)
|
|
enable_server_Key_State="$2"
|
|
;;
|
|
server-Misc_ACL)
|
|
enable_server_Misc_ACL="$2"
|
|
;;
|
|
server-Object_Types)
|
|
enable_server_Object_Types="$2"
|
|
;;
|
|
server-PeekMessage)
|
|
enable_server_PeekMessage="$2"
|
|
;;
|
|
server-Realtime_Priority)
|
|
enable_server_Realtime_Priority="$2"
|
|
;;
|
|
server-Registry_Notifications)
|
|
enable_server_Registry_Notifications="$2"
|
|
;;
|
|
server-Shared_Memory)
|
|
enable_server_Shared_Memory="$2"
|
|
;;
|
|
server-Signal_Thread)
|
|
enable_server_Signal_Thread="$2"
|
|
;;
|
|
server-Stored_ACLs)
|
|
enable_server_Stored_ACLs="$2"
|
|
;;
|
|
server-Timestamp_Compat)
|
|
enable_server_Timestamp_Compat="$2"
|
|
;;
|
|
server-device_manager_destroy)
|
|
enable_server_device_manager_destroy="$2"
|
|
;;
|
|
server-send_hardware_message)
|
|
enable_server_send_hardware_message="$2"
|
|
;;
|
|
setupapi-DiskSpaceList)
|
|
enable_setupapi_DiskSpaceList="$2"
|
|
;;
|
|
setupapi-Display_Device)
|
|
enable_setupapi_Display_Device="$2"
|
|
;;
|
|
setupapi-HSPFILEQ_Check_Type)
|
|
enable_setupapi_HSPFILEQ_Check_Type="$2"
|
|
;;
|
|
setupapi-SPFILENOTIFY_FILEINCABINET)
|
|
enable_setupapi_SPFILENOTIFY_FILEINCABINET="$2"
|
|
;;
|
|
setupapi-SP_COPY_IN_USE_NEEDS_REBOOT)
|
|
enable_setupapi_SP_COPY_IN_USE_NEEDS_REBOOT="$2"
|
|
;;
|
|
setupapi-SetupDiGetDeviceInterfaceDetail)
|
|
enable_setupapi_SetupDiGetDeviceInterfaceDetail="$2"
|
|
;;
|
|
setupapi-SetupPromptForDisk)
|
|
enable_setupapi_SetupPromptForDisk="$2"
|
|
;;
|
|
shdocvw-ParseURLFromOutsideSource_Tests)
|
|
enable_shdocvw_ParseURLFromOutsideSource_Tests="$2"
|
|
;;
|
|
shell32-ACE_Viewer)
|
|
enable_shell32_ACE_Viewer="$2"
|
|
;;
|
|
shell32-Context_Menu)
|
|
enable_shell32_Context_Menu="$2"
|
|
;;
|
|
shell32-NewMenu_Interface)
|
|
enable_shell32_NewMenu_Interface="$2"
|
|
;;
|
|
shell32-Progress_Dialog)
|
|
enable_shell32_Progress_Dialog="$2"
|
|
;;
|
|
shell32-SFGAO_HASSUBFOLDER)
|
|
enable_shell32_SFGAO_HASSUBFOLDER="$2"
|
|
;;
|
|
shell32-SHELL_execute)
|
|
enable_shell32_SHELL_execute="$2"
|
|
;;
|
|
shell32-SHFileOperation_Move)
|
|
enable_shell32_SHFileOperation_Move="$2"
|
|
;;
|
|
shell32-Toolbar_Bitmaps)
|
|
enable_shell32_Toolbar_Bitmaps="$2"
|
|
;;
|
|
shell32-UnixFS)
|
|
enable_shell32_UnixFS="$2"
|
|
;;
|
|
shlwapi-AssocGetPerceivedType)
|
|
enable_shlwapi_AssocGetPerceivedType="$2"
|
|
;;
|
|
shlwapi-SHAddDataBlock)
|
|
enable_shlwapi_SHAddDataBlock="$2"
|
|
;;
|
|
shlwapi-SHMapHandle)
|
|
enable_shlwapi_SHMapHandle="$2"
|
|
;;
|
|
shlwapi-UrlCombine)
|
|
enable_shlwapi_UrlCombine="$2"
|
|
;;
|
|
stdole32.idl-Typelib)
|
|
enable_stdole32_idl_Typelib="$2"
|
|
;;
|
|
stdole32.tlb-SLTG_Typelib)
|
|
enable_stdole32_tlb_SLTG_Typelib="$2"
|
|
;;
|
|
taskmgr-Memory_Usage)
|
|
enable_taskmgr_Memory_Usage="$2"
|
|
;;
|
|
uianimation-stubs)
|
|
enable_uianimation_stubs="$2"
|
|
;;
|
|
user32-Auto_Radio_Button)
|
|
enable_user32_Auto_Radio_Button="$2"
|
|
;;
|
|
user32-Combobox_WM_SIZE)
|
|
enable_user32_Combobox_WM_SIZE="$2"
|
|
;;
|
|
user32-DM_SETDEFID)
|
|
enable_user32_DM_SETDEFID="$2"
|
|
;;
|
|
user32-Dialog_Focus)
|
|
enable_user32_Dialog_Focus="$2"
|
|
;;
|
|
user32-Dialog_Paint_Event)
|
|
enable_user32_Dialog_Paint_Event="$2"
|
|
;;
|
|
user32-DrawMenuItem)
|
|
enable_user32_DrawMenuItem="$2"
|
|
;;
|
|
user32-DrawTextExW)
|
|
enable_user32_DrawTextExW="$2"
|
|
;;
|
|
user32-FlashWindowEx)
|
|
enable_user32_FlashWindowEx="$2"
|
|
;;
|
|
user32-GetSystemMetrics)
|
|
enable_user32_GetSystemMetrics="$2"
|
|
;;
|
|
user32-LR_LOADFROMFILE)
|
|
enable_user32_LR_LOADFROMFILE="$2"
|
|
;;
|
|
user32-ListBox_Size)
|
|
enable_user32_ListBox_Size="$2"
|
|
;;
|
|
user32-MessageBox_WS_EX_TOPMOST)
|
|
enable_user32_MessageBox_WS_EX_TOPMOST="$2"
|
|
;;
|
|
user32-Mouse_Message_Hwnd)
|
|
enable_user32_Mouse_Message_Hwnd="$2"
|
|
;;
|
|
user32-Refresh_MDI_Menus)
|
|
enable_user32_Refresh_MDI_Menus="$2"
|
|
;;
|
|
user32-ScrollWindowEx)
|
|
enable_user32_ScrollWindowEx="$2"
|
|
;;
|
|
user32-ShowWindow)
|
|
enable_user32_ShowWindow="$2"
|
|
;;
|
|
user32-lpCreateParams)
|
|
enable_user32_lpCreateParams="$2"
|
|
;;
|
|
uxtheme-CloseThemeClass)
|
|
enable_uxtheme_CloseThemeClass="$2"
|
|
;;
|
|
uxtheme-GTK_Theming)
|
|
enable_uxtheme_GTK_Theming="$2"
|
|
;;
|
|
version-VerFindFileA)
|
|
enable_version_VerFindFileA="$2"
|
|
;;
|
|
version-VerQueryValue)
|
|
enable_version_VerQueryValue="$2"
|
|
;;
|
|
virtdisk-GetStorageDependencyInformation)
|
|
enable_virtdisk_GetStorageDependencyInformation="$2"
|
|
;;
|
|
widl-SLTG_Typelib_Support)
|
|
enable_widl_SLTG_Typelib_Support="$2"
|
|
;;
|
|
windowscodecs-32bppPRGBA)
|
|
enable_windowscodecs_32bppPRGBA="$2"
|
|
;;
|
|
windowscodecs-GIF_Encoder)
|
|
enable_windowscodecs_GIF_Encoder="$2"
|
|
;;
|
|
windowscodecs-IMILBitmapSource)
|
|
enable_windowscodecs_IMILBitmapSource="$2"
|
|
;;
|
|
windowscodecs-IWICPalette_InitializeFromBitmap)
|
|
enable_windowscodecs_IWICPalette_InitializeFromBitmap="$2"
|
|
;;
|
|
windowscodecs-JPEG_Decoder)
|
|
enable_windowscodecs_JPEG_Decoder="$2"
|
|
;;
|
|
windowscodecs-Palette_Images)
|
|
enable_windowscodecs_Palette_Images="$2"
|
|
;;
|
|
windowscodecs-TIFF_Support)
|
|
enable_windowscodecs_TIFF_Support="$2"
|
|
;;
|
|
wine.inf-Directory_ContextMenuHandlers)
|
|
enable_wine_inf_Directory_ContextMenuHandlers="$2"
|
|
;;
|
|
wine.inf-Dummy_CA_Certificate)
|
|
enable_wine_inf_Dummy_CA_Certificate="$2"
|
|
;;
|
|
wine.inf-Performance)
|
|
enable_wine_inf_Performance="$2"
|
|
;;
|
|
wine.inf-ProfileList_UserSID)
|
|
enable_wine_inf_ProfileList_UserSID="$2"
|
|
;;
|
|
wine.inf-WMP_12)
|
|
enable_wine_inf_WMP_12="$2"
|
|
;;
|
|
wineboot-DriveSerial)
|
|
enable_wineboot_DriveSerial="$2"
|
|
;;
|
|
wineboot-HKEY_DYN_DATA)
|
|
enable_wineboot_HKEY_DYN_DATA="$2"
|
|
;;
|
|
wineboot-ProxySettings)
|
|
enable_wineboot_ProxySettings="$2"
|
|
;;
|
|
wineboot-drivers_etc_Stubs)
|
|
enable_wineboot_drivers_etc_Stubs="$2"
|
|
;;
|
|
winebuild-Fake_Dlls)
|
|
enable_winebuild_Fake_Dlls="$2"
|
|
;;
|
|
winecfg-Libraries)
|
|
enable_winecfg_Libraries="$2"
|
|
;;
|
|
winecfg-Staging)
|
|
enable_winecfg_Staging="$2"
|
|
;;
|
|
winecfg-Unmounted_Devices)
|
|
enable_winecfg_Unmounted_Devices="$2"
|
|
;;
|
|
wined3d-Accounting)
|
|
enable_wined3d_Accounting="$2"
|
|
;;
|
|
wined3d-CSMT_Main)
|
|
enable_wined3d_CSMT_Main="$2"
|
|
;;
|
|
wined3d-DXTn)
|
|
enable_wined3d_DXTn="$2"
|
|
;;
|
|
wined3d-Dual_Source_Blending)
|
|
enable_wined3d_Dual_Source_Blending="$2"
|
|
;;
|
|
wined3d-Indexed_Vertex_Blending)
|
|
enable_wined3d_Indexed_Vertex_Blending="$2"
|
|
;;
|
|
wined3d-QUERY_Stubs)
|
|
enable_wined3d_QUERY_Stubs="$2"
|
|
;;
|
|
wined3d-Silence_FIXMEs)
|
|
enable_wined3d_Silence_FIXMEs="$2"
|
|
;;
|
|
wined3d-UAV_Counters)
|
|
enable_wined3d_UAV_Counters="$2"
|
|
;;
|
|
wined3d-WINED3DFMT_B8G8R8X8_UNORM)
|
|
enable_wined3d_WINED3DFMT_B8G8R8X8_UNORM="$2"
|
|
;;
|
|
wined3d-WINED3D_RS_COLORWRITEENABLE)
|
|
enable_wined3d_WINED3D_RS_COLORWRITEENABLE="$2"
|
|
;;
|
|
wined3d-wined3d_guess_gl_vendor)
|
|
enable_wined3d_wined3d_guess_gl_vendor="$2"
|
|
;;
|
|
winedbg-Process_Arguments)
|
|
enable_winedbg_Process_Arguments="$2"
|
|
;;
|
|
winedevice-Default_Drivers)
|
|
enable_winedevice_Default_Drivers="$2"
|
|
;;
|
|
winedevice-Fix_Relocation)
|
|
enable_winedevice_Fix_Relocation="$2"
|
|
;;
|
|
winemapi-user-xdg-mail)
|
|
enable_winemapi_user_xdg_mail="$2"
|
|
;;
|
|
winemenubuilder-Desktop_Icon_Path)
|
|
enable_winemenubuilder_Desktop_Icon_Path="$2"
|
|
;;
|
|
winemp3.acm-MPEG3_StreamOpen)
|
|
enable_winemp3_acm_MPEG3_StreamOpen="$2"
|
|
;;
|
|
wineps.drv-PostScript_Fixes)
|
|
enable_wineps_drv_PostScript_Fixes="$2"
|
|
;;
|
|
winepulse-PulseAudio_Support)
|
|
enable_winepulse_PulseAudio_Support="$2"
|
|
;;
|
|
winex11-CandidateWindowPos)
|
|
enable_winex11_CandidateWindowPos="$2"
|
|
;;
|
|
winex11-ClipCursor)
|
|
enable_winex11_ClipCursor="$2"
|
|
;;
|
|
winex11-DefaultDisplayFrequency)
|
|
enable_winex11_DefaultDisplayFrequency="$2"
|
|
;;
|
|
winex11-MWM_Decorations)
|
|
enable_winex11_MWM_Decorations="$2"
|
|
;;
|
|
winex11-UpdateLayeredWindow)
|
|
enable_winex11_UpdateLayeredWindow="$2"
|
|
;;
|
|
winex11-Vulkan_support)
|
|
enable_winex11_Vulkan_support="$2"
|
|
;;
|
|
winex11-WM_WINDOWPOSCHANGING)
|
|
enable_winex11_WM_WINDOWPOSCHANGING="$2"
|
|
;;
|
|
winex11-Window_Style)
|
|
enable_winex11_Window_Style="$2"
|
|
;;
|
|
winex11-XEMBED)
|
|
enable_winex11_XEMBED="$2"
|
|
;;
|
|
winex11-_NET_ACTIVE_WINDOW)
|
|
enable_winex11__NET_ACTIVE_WINDOW="$2"
|
|
;;
|
|
winex11-wglShareLists)
|
|
enable_winex11_wglShareLists="$2"
|
|
;;
|
|
winhttp-Accept_Headers)
|
|
enable_winhttp_Accept_Headers="$2"
|
|
;;
|
|
winhttp-System_Proxy_Autoconfig)
|
|
enable_winhttp_System_Proxy_Autoconfig="$2"
|
|
;;
|
|
wininet-Cleanup)
|
|
enable_wininet_Cleanup="$2"
|
|
;;
|
|
wininet-Http_Decoding)
|
|
enable_wininet_Http_Decoding="$2"
|
|
;;
|
|
wininet-InternetCrackUrlW)
|
|
enable_wininet_InternetCrackUrlW="$2"
|
|
;;
|
|
winmm-Delay_Import_Depends)
|
|
enable_winmm_Delay_Import_Depends="$2"
|
|
;;
|
|
winmm-mciSendCommandA)
|
|
enable_winmm_mciSendCommandA="$2"
|
|
;;
|
|
wintab32-improvements)
|
|
enable_wintab32_improvements="$2"
|
|
;;
|
|
wintrust-WTHelperGetProvCertFromChain)
|
|
enable_wintrust_WTHelperGetProvCertFromChain="$2"
|
|
;;
|
|
wintrust-WinVerifyTrust)
|
|
enable_wintrust_WinVerifyTrust="$2"
|
|
;;
|
|
wow64cpu-Wow64Transition)
|
|
enable_wow64cpu_Wow64Transition="$2"
|
|
;;
|
|
wpcap-Dynamic_Linking)
|
|
enable_wpcap_Dynamic_Linking="$2"
|
|
;;
|
|
ws2_32-APC_Performance)
|
|
enable_ws2_32_APC_Performance="$2"
|
|
;;
|
|
ws2_32-Connect_Time)
|
|
enable_ws2_32_Connect_Time="$2"
|
|
;;
|
|
ws2_32-Tests)
|
|
enable_ws2_32_Tests="$2"
|
|
;;
|
|
ws2_32-TransmitFile)
|
|
enable_ws2_32_TransmitFile="$2"
|
|
;;
|
|
ws2_32-WSACleanup)
|
|
enable_ws2_32_WSACleanup="$2"
|
|
;;
|
|
ws2_32-getaddrinfo)
|
|
enable_ws2_32_getaddrinfo="$2"
|
|
;;
|
|
ws2_32-getsockopt)
|
|
enable_ws2_32_getsockopt="$2"
|
|
;;
|
|
wtsapi32-EnumerateProcesses)
|
|
enable_wtsapi32_EnumerateProcesses="$2"
|
|
;;
|
|
wtsapi32-WTSQueryUserToken)
|
|
enable_wtsapi32_WTSQueryUserToken="$2"
|
|
;;
|
|
wuauserv-Dummy_Service)
|
|
enable_wuauserv_Dummy_Service="$2"
|
|
;;
|
|
wusa-MSU_Package_Installer)
|
|
enable_wusa_MSU_Package_Installer="$2"
|
|
;;
|
|
xaudio2_7-OnVoiceProcessingPassStart)
|
|
enable_xaudio2_7_OnVoiceProcessingPassStart="$2"
|
|
;;
|
|
xaudio2_7-WMA_support)
|
|
enable_xaudio2_7_WMA_support="$2"
|
|
;;
|
|
xaudio2_CommitChanges)
|
|
enable_xaudio2_CommitChanges="$2"
|
|
;;
|
|
*)
|
|
return 1
|
|
;;
|
|
esac
|
|
return 0
|
|
}
|
|
|
|
# Default settings
|
|
patch_enable_all 0
|
|
enable_patchlist=1
|
|
enable_autoconf=1
|
|
patchlist="/dev/null"
|
|
backend="patch"
|
|
|
|
# Find location of patches
|
|
patchdir="$(cd "$(dirname "$0")" && pwd)"
|
|
if test ! -f "$patchdir/patchinstall.sh"; then
|
|
if test -f ./patchinstall.sh; then
|
|
patchdir="$(pwd)"
|
|
else
|
|
abort "Failed to find patch directory."
|
|
fi
|
|
fi
|
|
|
|
# Parse commandline arguments
|
|
if test "$#" -eq 0; then
|
|
abort "No commandline arguments given, don't know what to do."
|
|
fi
|
|
|
|
while test "$#" -gt 0; do
|
|
case "$1" in
|
|
DESTDIR=*)
|
|
DESTDIR="${1#*=}"
|
|
shift
|
|
;;
|
|
|
|
--all)
|
|
patch_enable_all 1
|
|
shift
|
|
;;
|
|
|
|
--backend=*)
|
|
backend="${1#*=}"
|
|
shift
|
|
;;
|
|
|
|
--force-autoconf)
|
|
enable_autoconf=2
|
|
shift
|
|
;;
|
|
|
|
--help)
|
|
usage
|
|
exit 0
|
|
;;
|
|
|
|
--no-patchlist)
|
|
enable_patchlist=0
|
|
shift
|
|
;;
|
|
|
|
--no-autoconf)
|
|
enable_autoconf=0
|
|
shift
|
|
;;
|
|
|
|
--upstream-commit)
|
|
upstream_commit
|
|
exit 0
|
|
;;
|
|
|
|
--version)
|
|
version
|
|
exit 0
|
|
;;
|
|
|
|
-W)
|
|
# Disable patchset
|
|
if ! patch_enable "$2" 2; then
|
|
abort "Wrong usage of -W commandline argument, expected patchname."
|
|
fi
|
|
shift
|
|
shift
|
|
;;
|
|
|
|
*)
|
|
# Enable patchset
|
|
if ! patch_enable "$1" 1; then
|
|
abort "Unknown commandline argument $1."
|
|
fi
|
|
shift
|
|
;;
|
|
esac
|
|
done
|
|
|
|
# Determine DESTDIR if not explicitly specified
|
|
if test -z "$DESTDIR" -a -f ./tools/make_requests; then
|
|
DESTDIR="$(pwd)"
|
|
|
|
elif test ! -f "$DESTDIR/tools/make_requests"; then
|
|
abort "DESTDIR does not point to the Wine source tree."
|
|
fi
|
|
|
|
# Change directory to DESTDIR, eapply/epatch depends on that
|
|
if ! cd "$DESTDIR"; then
|
|
abort "Unable to change directory to $DESTDIR."
|
|
fi
|
|
|
|
# Helper to update configure / the wineserver protocol if required
|
|
if ! command -v diff >/dev/null 2>&1 ||
|
|
! command -v grep >/dev/null 2>&1 ||
|
|
! command -v cmp >/dev/null 2>&1; then
|
|
|
|
update_configure()
|
|
{
|
|
autoreconf -f
|
|
}
|
|
|
|
update_protocol()
|
|
{
|
|
./tools/make_requests
|
|
}
|
|
|
|
else
|
|
|
|
update_configure()
|
|
{
|
|
_file="./configure"
|
|
|
|
if ! cp -a "$_file" "$_file.old"; then
|
|
abort "failed to create $_file.old"
|
|
fi
|
|
|
|
if ! autoreconf -f; then
|
|
rm "$_file.old"
|
|
unset _file
|
|
return 1
|
|
fi
|
|
|
|
# Shifting by 62 bits is undefined behaviour when off_t is 32-bit, see also
|
|
# https://launchpad.net/ubuntu/+source/autoconf/2.69-6 - the bug is still
|
|
# present in some other distros (including Archlinux).
|
|
_large_off_old="^#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))\$"
|
|
_large_off_new="#define LARGE_OFF_T ((((off_t) 1 << 31) << 31) - 1 + (((off_t) 1 << 31) << 31))"
|
|
sed -i'' -e "s|$_large_off_old|$_large_off_new|g" "$_file"
|
|
unset _large_off_old _large_off_new
|
|
|
|
# Restore original timestamp when nothing changed
|
|
if ! cmp "$_file.old" "$_file" >/dev/null; then
|
|
rm "$_file.old"
|
|
else
|
|
mv "$_file.old" "$_file"
|
|
fi
|
|
|
|
unset _file
|
|
return 0
|
|
}
|
|
|
|
update_protocol()
|
|
{
|
|
_file="./include/wine/server_protocol.h"
|
|
|
|
if ! cp -a "$_file" "$_file.old"; then
|
|
abort "failed to create $_file.old"
|
|
fi
|
|
|
|
if ! ./tools/make_requests; then
|
|
rm "$_file.old"
|
|
unset _file
|
|
return 1
|
|
fi
|
|
|
|
# Restore original timestamp when nothing changed
|
|
if diff -u "$_file.old" "$_file" |
|
|
grep -v "^[+-]#define SERVER_PROTOCOL_VERSION" |
|
|
grep -v "^\(+++\|---\)" | grep -q "^[+-]"; then
|
|
rm "$_file.old"
|
|
else
|
|
mv "$_file.old" "$_file"
|
|
fi
|
|
|
|
unset _file
|
|
return 0
|
|
}
|
|
fi
|
|
|
|
|
|
# Most backends will try to use git, either directly or indirectly.
|
|
# Unfortunately this does not work when "$DESTDIR" points to a
|
|
# subdirectory of a git tree, which has the effect that no patches
|
|
# are applied, but the exitcode is zero. To avoid broken builds we
|
|
# will workaround this issue or abort.
|
|
test ! -d ".git" && git rev-parse --git-dir >/dev/null 2>&1
|
|
workaround_git_bug="$?"
|
|
|
|
# Apply the patches using gitapply.sh, a small wrapper around 'patch'
|
|
if test "$backend" = "patch"; then
|
|
|
|
if test "$workaround_git_bug" -eq 0; then
|
|
gitapply_args="--nogit"
|
|
else
|
|
gitapply_args=""
|
|
fi
|
|
|
|
if test "$enable_autoconf" -gt 1; then
|
|
warning "Ignoring commandline argument --force-autoconf."
|
|
enable_autoconf=1
|
|
fi
|
|
|
|
patch_apply_file()
|
|
{
|
|
printf '%s\n' "Applying $1"
|
|
if ! "$patchdir/gitapply.sh" $gitapply_args < "$1"; then
|
|
abort "Failed to apply patch, aborting!"
|
|
fi
|
|
}
|
|
|
|
# 'eapply/epatch' backend - used on Gentoo
|
|
elif test "$backend" = "eapply" -o "$backend" = "epatch"; then
|
|
|
|
if test "$workaround_git_bug" -eq 0; then
|
|
gitapply_args="--nogit"
|
|
else
|
|
gitapply_args=""
|
|
fi
|
|
|
|
if ! command -v "$backend" >/dev/null 2>&1 || \
|
|
! command -v ebegin >/dev/null 2>&1 || \
|
|
! command -v eend >/dev/null 2>&1 || \
|
|
! command -v nonfatal >/dev/null 2>&1; then
|
|
abort "Shell functions $backend/ebegin/eend/nonfatal not found. You have to source this script from your ebuild."
|
|
fi
|
|
|
|
if test "$enable_autoconf" -gt 1; then
|
|
warning "Ignoring commandline argument --force-autoconf."
|
|
enable_autoconf=1
|
|
fi
|
|
|
|
patch_apply_file()
|
|
{
|
|
_shortname="$(basename "$1")"
|
|
if grep -q "^GIT binary patch" "$1"; then
|
|
ebegin "Applying $_shortname"
|
|
"$patchdir/gitapply.sh" $gitapply_args < "$1"
|
|
if ! eend $?; then
|
|
exit 1
|
|
fi
|
|
else
|
|
# we are run from a subshell, so we can't call die
|
|
if ! nonfatal "$backend" "$1"; then
|
|
exit 1
|
|
fi
|
|
fi
|
|
unset _shortname
|
|
}
|
|
|
|
# GIT backend - apply patches using 'git am'
|
|
elif test "$backend" = "git" -o "$backend" = "git-am"; then
|
|
|
|
if test "$workaround_git_bug" -eq 0; then
|
|
abort "Backend 'git-am' not possible when DESTDIR points to a git subdirectory."
|
|
fi
|
|
|
|
patch_apply_file()
|
|
{
|
|
printf '%s\n' "Applying $1"
|
|
if ! git am "$1"; then
|
|
abort "Failed to apply patch, aborting!"
|
|
fi
|
|
if test "$enable_autoconf" -gt 1; then
|
|
_do_commit=0
|
|
|
|
# Run 'autoreconf -f' if required
|
|
if git show --pretty=format: --name-only | grep -q "^\(configure.ac\|aclocal.m4\)$"; then
|
|
if ! update_configure; then
|
|
abort "'autoreconf -f' failed."
|
|
fi
|
|
git add ./configure
|
|
git add ./include/config.h.in
|
|
_do_commit=1
|
|
fi
|
|
|
|
# Run './tools/make_requests' if required
|
|
if git show --pretty=format: --name-only | grep -q "^server/"; then
|
|
if ! update_protocol; then
|
|
abort "'./tools/make_requests' failed."
|
|
fi
|
|
git add ./include/wine/server_protocol.h
|
|
git add ./server/trace.c
|
|
git add ./server/request.h
|
|
_do_commit=1
|
|
fi
|
|
|
|
if test "$_do_commit" -ne 0; then
|
|
if ! git commit --amend --reuse-message HEAD; then
|
|
abort "Failed to include autogenerated changes in commit."
|
|
fi
|
|
fi
|
|
|
|
unset _do_commit
|
|
fi
|
|
}
|
|
|
|
# Git apply backend
|
|
elif test "$backend" = "git-apply"; then
|
|
|
|
if test "$workaround_git_bug" -eq 0; then
|
|
abort "Backend 'git-apply' not possible when DESTDIR points to a git subdirectory."
|
|
fi
|
|
|
|
if test "$enable_autoconf" -gt 1; then
|
|
warning "Ignoring commandline argument --force-autoconf."
|
|
enable_autoconf=1
|
|
fi
|
|
|
|
patch_apply_file()
|
|
{
|
|
printf '%s\n' "Applying $1"
|
|
if ! git apply "$1"; then
|
|
abort "Failed to apply patch, aborting!"
|
|
fi
|
|
}
|
|
|
|
# Stacked GIT backend - import the patches (mainly for developers)
|
|
elif test "$backend" = "stg"; then
|
|
|
|
if test "$workaround_git_bug" -eq 0; then
|
|
abort "Backend 'stg' not possible when DESTDIR points to a git subdirectory."
|
|
fi
|
|
|
|
# Only import the regular patches, no autogenerated ones -
|
|
# moreover, don't run autoreconf or ./tools/make_requests.
|
|
enable_patchlist=0
|
|
enable_autoconf=0
|
|
|
|
patch_apply_file()
|
|
{
|
|
printf '%s\n' "Applying $1"
|
|
_shortname="$(basename "$1")"
|
|
if ! printf '%s\n' "staging/$_shortname" | cat - "$1" | stg import; then
|
|
abort "Failed to apply patch, aborting!"
|
|
fi
|
|
unset _shortname
|
|
}
|
|
|
|
else
|
|
abort "Selected backend $backend not supported."
|
|
fi
|
|
|
|
patch_apply()
|
|
{
|
|
patch_apply_file "$patchdir/$1"
|
|
}
|
|
|
|
|
|
if test "$enable_xaudio2_7_WMA_support" -eq 1; then
|
|
if test "$enable_xaudio2_7_OnVoiceProcessingPassStart" -gt 1; then
|
|
abort "Patchset xaudio2_7-OnVoiceProcessingPassStart disabled, but xaudio2_7-WMA_support depends on that."
|
|
fi
|
|
enable_xaudio2_7_OnVoiceProcessingPassStart=1
|
|
fi
|
|
|
|
if test "$enable_ws2_32_WSACleanup" -eq 1; then
|
|
if test "$enable_server_Desktop_Refcount" -gt 1; then
|
|
abort "Patchset server-Desktop_Refcount disabled, but ws2_32-WSACleanup depends on that."
|
|
fi
|
|
enable_server_Desktop_Refcount=1
|
|
fi
|
|
|
|
if test "$enable_ws2_32_TransmitFile" -eq 1; then
|
|
if test "$enable_server_Desktop_Refcount" -gt 1; then
|
|
abort "Patchset server-Desktop_Refcount disabled, but ws2_32-TransmitFile depends on that."
|
|
fi
|
|
enable_server_Desktop_Refcount=1
|
|
fi
|
|
|
|
if test "$enable_wintrust_WTHelperGetProvCertFromChain" -eq 1; then
|
|
if test "$enable_wintrust_WinVerifyTrust" -gt 1; then
|
|
abort "Patchset wintrust-WinVerifyTrust disabled, but wintrust-WTHelperGetProvCertFromChain depends on that."
|
|
fi
|
|
enable_wintrust_WinVerifyTrust=1
|
|
fi
|
|
|
|
if test "$enable_winex11_WM_WINDOWPOSCHANGING" -eq 1; then
|
|
if test "$enable_winex11__NET_ACTIVE_WINDOW" -gt 1; then
|
|
abort "Patchset winex11-_NET_ACTIVE_WINDOW disabled, but winex11-WM_WINDOWPOSCHANGING depends on that."
|
|
fi
|
|
enable_winex11__NET_ACTIVE_WINDOW=1
|
|
fi
|
|
|
|
if test "$enable_winedevice_Default_Drivers" -eq 1; then
|
|
if test "$enable_dxva2_Video_Decoder" -gt 1; then
|
|
abort "Patchset dxva2-Video_Decoder disabled, but winedevice-Default_Drivers depends on that."
|
|
fi
|
|
if test "$enable_ntoskrnl_Stubs" -gt 1; then
|
|
abort "Patchset ntoskrnl-Stubs disabled, but winedevice-Default_Drivers depends on that."
|
|
fi
|
|
enable_dxva2_Video_Decoder=1
|
|
enable_ntoskrnl_Stubs=1
|
|
fi
|
|
|
|
if test "$enable_wined3d_Indexed_Vertex_Blending" -eq 1; then
|
|
if test "$enable_wined3d_WINED3D_RS_COLORWRITEENABLE" -gt 1; then
|
|
abort "Patchset wined3d-WINED3D_RS_COLORWRITEENABLE disabled, but wined3d-Indexed_Vertex_Blending depends on that."
|
|
fi
|
|
enable_wined3d_WINED3D_RS_COLORWRITEENABLE=1
|
|
fi
|
|
|
|
if test "$enable_wined3d_WINED3D_RS_COLORWRITEENABLE" -eq 1; then
|
|
if test "$enable_d3d11_Depth_Bias" -gt 1; then
|
|
abort "Patchset d3d11-Depth_Bias disabled, but wined3d-WINED3D_RS_COLORWRITEENABLE depends on that."
|
|
fi
|
|
enable_d3d11_Depth_Bias=1
|
|
fi
|
|
|
|
if test "$enable_wined3d_CSMT_Main" -eq 1; then
|
|
if test "$enable_d3d11_Deferred_Context" -gt 1; then
|
|
abort "Patchset d3d11-Deferred_Context disabled, but wined3d-CSMT_Main depends on that."
|
|
fi
|
|
if test "$enable_d3d9_Tests" -gt 1; then
|
|
abort "Patchset d3d9-Tests disabled, but wined3d-CSMT_Main depends on that."
|
|
fi
|
|
if test "$enable_wined3d_Accounting" -gt 1; then
|
|
abort "Patchset wined3d-Accounting disabled, but wined3d-CSMT_Main depends on that."
|
|
fi
|
|
if test "$enable_wined3d_DXTn" -gt 1; then
|
|
abort "Patchset wined3d-DXTn disabled, but wined3d-CSMT_Main depends on that."
|
|
fi
|
|
if test "$enable_wined3d_Dual_Source_Blending" -gt 1; then
|
|
abort "Patchset wined3d-Dual_Source_Blending disabled, but wined3d-CSMT_Main depends on that."
|
|
fi
|
|
if test "$enable_wined3d_QUERY_Stubs" -gt 1; then
|
|
abort "Patchset wined3d-QUERY_Stubs disabled, but wined3d-CSMT_Main depends on that."
|
|
fi
|
|
if test "$enable_wined3d_Silence_FIXMEs" -gt 1; then
|
|
abort "Patchset wined3d-Silence_FIXMEs disabled, but wined3d-CSMT_Main depends on that."
|
|
fi
|
|
if test "$enable_wined3d_UAV_Counters" -gt 1; then
|
|
abort "Patchset wined3d-UAV_Counters disabled, but wined3d-CSMT_Main depends on that."
|
|
fi
|
|
enable_d3d11_Deferred_Context=1
|
|
enable_d3d9_Tests=1
|
|
enable_wined3d_Accounting=1
|
|
enable_wined3d_DXTn=1
|
|
enable_wined3d_Dual_Source_Blending=1
|
|
enable_wined3d_QUERY_Stubs=1
|
|
enable_wined3d_Silence_FIXMEs=1
|
|
enable_wined3d_UAV_Counters=1
|
|
fi
|
|
|
|
if test "$enable_winebuild_Fake_Dlls" -eq 1; then
|
|
if test "$enable_ntdll_User_Shared_Data" -gt 1; then
|
|
abort "Patchset ntdll-User_Shared_Data disabled, but winebuild-Fake_Dlls depends on that."
|
|
fi
|
|
enable_ntdll_User_Shared_Data=1
|
|
fi
|
|
|
|
if test "$enable_wineboot_ProxySettings" -eq 1; then
|
|
if test "$enable_wineboot_DriveSerial" -gt 1; then
|
|
abort "Patchset wineboot-DriveSerial disabled, but wineboot-ProxySettings depends on that."
|
|
fi
|
|
if test "$enable_wineboot_drivers_etc_Stubs" -gt 1; then
|
|
abort "Patchset wineboot-drivers_etc_Stubs disabled, but wineboot-ProxySettings depends on that."
|
|
fi
|
|
enable_wineboot_DriveSerial=1
|
|
enable_wineboot_drivers_etc_Stubs=1
|
|
fi
|
|
|
|
if test "$enable_windowscodecs_32bppPRGBA" -eq 1; then
|
|
if test "$enable_windowscodecs_TIFF_Support" -gt 1; then
|
|
abort "Patchset windowscodecs-TIFF_Support disabled, but windowscodecs-32bppPRGBA depends on that."
|
|
fi
|
|
enable_windowscodecs_TIFF_Support=1
|
|
fi
|
|
|
|
if test "$enable_windowscodecs_TIFF_Support" -eq 1; then
|
|
if test "$enable_windowscodecs_GIF_Encoder" -gt 1; then
|
|
abort "Patchset windowscodecs-GIF_Encoder disabled, but windowscodecs-TIFF_Support depends on that."
|
|
fi
|
|
if test "$enable_windowscodecs_IWICPalette_InitializeFromBitmap" -gt 1; then
|
|
abort "Patchset windowscodecs-IWICPalette_InitializeFromBitmap disabled, but windowscodecs-TIFF_Support depends on that."
|
|
fi
|
|
enable_windowscodecs_GIF_Encoder=1
|
|
enable_windowscodecs_IWICPalette_InitializeFromBitmap=1
|
|
fi
|
|
|
|
if test "$enable_windowscodecs_GIF_Encoder" -eq 1; then
|
|
if test "$enable_windowscodecs_Palette_Images" -gt 1; then
|
|
abort "Patchset windowscodecs-Palette_Images disabled, but windowscodecs-GIF_Encoder depends on that."
|
|
fi
|
|
enable_windowscodecs_Palette_Images=1
|
|
fi
|
|
|
|
if test "$enable_uxtheme_GTK_Theming" -eq 1; then
|
|
if test "$enable_ntdll_DllRedirects" -gt 1; then
|
|
abort "Patchset ntdll-DllRedirects disabled, but uxtheme-GTK_Theming depends on that."
|
|
fi
|
|
enable_ntdll_DllRedirects=1
|
|
fi
|
|
|
|
if test "$enable_user32_MessageBox_WS_EX_TOPMOST" -eq 1; then
|
|
if test "$enable_user32_lpCreateParams" -gt 1; then
|
|
abort "Patchset user32-lpCreateParams disabled, but user32-MessageBox_WS_EX_TOPMOST depends on that."
|
|
fi
|
|
enable_user32_lpCreateParams=1
|
|
fi
|
|
|
|
if test "$enable_stdole32_tlb_SLTG_Typelib" -eq 1; then
|
|
if test "$enable_widl_SLTG_Typelib_Support" -gt 1; then
|
|
abort "Patchset widl-SLTG_Typelib_Support disabled, but stdole32.tlb-SLTG_Typelib depends on that."
|
|
fi
|
|
enable_widl_SLTG_Typelib_Support=1
|
|
fi
|
|
|
|
if test "$enable_shell32_ACE_Viewer" -eq 1; then
|
|
if test "$enable_shell32_Progress_Dialog" -gt 1; then
|
|
abort "Patchset shell32-Progress_Dialog disabled, but shell32-ACE_Viewer depends on that."
|
|
fi
|
|
enable_shell32_Progress_Dialog=1
|
|
fi
|
|
|
|
if test "$enable_shell32_Progress_Dialog" -eq 1; then
|
|
if test "$enable_kernel32_CopyFileEx" -gt 1; then
|
|
abort "Patchset kernel32-CopyFileEx disabled, but shell32-Progress_Dialog depends on that."
|
|
fi
|
|
if test "$enable_shell32_SHFileOperation_Move" -gt 1; then
|
|
abort "Patchset shell32-SHFileOperation_Move disabled, but shell32-Progress_Dialog depends on that."
|
|
fi
|
|
enable_kernel32_CopyFileEx=1
|
|
enable_shell32_SHFileOperation_Move=1
|
|
fi
|
|
|
|
if test "$enable_server_Realtime_Priority" -eq 1; then
|
|
if test "$enable_ntdll_ThreadTime" -gt 1; then
|
|
abort "Patchset ntdll-ThreadTime disabled, but server-Realtime_Priority depends on that."
|
|
fi
|
|
enable_ntdll_ThreadTime=1
|
|
fi
|
|
|
|
if test "$enable_server_Object_Types" -eq 1; then
|
|
if test "$enable_server_Misc_ACL" -gt 1; then
|
|
abort "Patchset server-Misc_ACL disabled, but server-Object_Types depends on that."
|
|
fi
|
|
if test "$enable_server_Shared_Memory" -gt 1; then
|
|
abort "Patchset server-Shared_Memory disabled, but server-Object_Types depends on that."
|
|
fi
|
|
enable_server_Misc_ACL=1
|
|
enable_server_Shared_Memory=1
|
|
fi
|
|
|
|
if test "$enable_server_Shared_Memory" -eq 1; then
|
|
if test "$enable_ntdll_Threading" -gt 1; then
|
|
abort "Patchset ntdll-Threading disabled, but server-Shared_Memory depends on that."
|
|
fi
|
|
if test "$enable_server_ClipCursor" -gt 1; then
|
|
abort "Patchset server-ClipCursor disabled, but server-Shared_Memory depends on that."
|
|
fi
|
|
if test "$enable_server_Key_State" -gt 1; then
|
|
abort "Patchset server-Key_State disabled, but server-Shared_Memory depends on that."
|
|
fi
|
|
if test "$enable_server_PeekMessage" -gt 1; then
|
|
abort "Patchset server-PeekMessage disabled, but server-Shared_Memory depends on that."
|
|
fi
|
|
if test "$enable_server_Signal_Thread" -gt 1; then
|
|
abort "Patchset server-Signal_Thread disabled, but server-Shared_Memory depends on that."
|
|
fi
|
|
enable_ntdll_Threading=1
|
|
enable_server_ClipCursor=1
|
|
enable_server_Key_State=1
|
|
enable_server_PeekMessage=1
|
|
enable_server_Signal_Thread=1
|
|
fi
|
|
|
|
if test "$enable_server_Inherited_ACLs" -eq 1; then
|
|
if test "$enable_server_Stored_ACLs" -gt 1; then
|
|
abort "Patchset server-Stored_ACLs disabled, but server-Inherited_ACLs depends on that."
|
|
fi
|
|
enable_server_Stored_ACLs=1
|
|
fi
|
|
|
|
if test "$enable_server_Stored_ACLs" -eq 1; then
|
|
if test "$enable_ntdll_DOS_Attributes" -gt 1; then
|
|
abort "Patchset ntdll-DOS_Attributes disabled, but server-Stored_ACLs depends on that."
|
|
fi
|
|
if test "$enable_server_File_Permissions" -gt 1; then
|
|
abort "Patchset server-File_Permissions disabled, but server-Stored_ACLs depends on that."
|
|
fi
|
|
enable_ntdll_DOS_Attributes=1
|
|
enable_server_File_Permissions=1
|
|
fi
|
|
|
|
if test "$enable_oleaut32_OLEPictureImpl_SaveAsFile" -eq 1; then
|
|
if test "$enable_oleaut32_Load_Save_EMF" -gt 1; then
|
|
abort "Patchset oleaut32-Load_Save_EMF disabled, but oleaut32-OLEPictureImpl_SaveAsFile depends on that."
|
|
fi
|
|
enable_oleaut32_Load_Save_EMF=1
|
|
fi
|
|
|
|
if test "$enable_nvencodeapi_Video_Encoder" -eq 1; then
|
|
if test "$enable_nvcuvid_CUDA_Video_Support" -gt 1; then
|
|
abort "Patchset nvcuvid-CUDA_Video_Support disabled, but nvencodeapi-Video_Encoder depends on that."
|
|
fi
|
|
enable_nvcuvid_CUDA_Video_Support=1
|
|
fi
|
|
|
|
if test "$enable_nvcuvid_CUDA_Video_Support" -eq 1; then
|
|
if test "$enable_nvapi_Stub_DLL" -gt 1; then
|
|
abort "Patchset nvapi-Stub_DLL disabled, but nvcuvid-CUDA_Video_Support depends on that."
|
|
fi
|
|
enable_nvapi_Stub_DLL=1
|
|
fi
|
|
|
|
if test "$enable_ntoskrnl_Stubs" -eq 1; then
|
|
if test "$enable_Compiler_Warnings" -gt 1; then
|
|
abort "Patchset Compiler_Warnings disabled, but ntoskrnl-Stubs depends on that."
|
|
fi
|
|
enable_Compiler_Warnings=1
|
|
fi
|
|
|
|
if test "$enable_ntdll_SystemRoot_Symlink" -eq 1; then
|
|
if test "$enable_ntdll_Exception" -gt 1; then
|
|
abort "Patchset ntdll-Exception disabled, but ntdll-SystemRoot_Symlink depends on that."
|
|
fi
|
|
enable_ntdll_Exception=1
|
|
fi
|
|
|
|
if test "$enable_ntdll_Signal_Handler" -eq 1; then
|
|
if test "$enable_ntdll_WRITECOPY" -gt 1; then
|
|
abort "Patchset ntdll-WRITECOPY disabled, but ntdll-Signal_Handler depends on that."
|
|
fi
|
|
enable_ntdll_WRITECOPY=1
|
|
fi
|
|
|
|
if test "$enable_ntdll_WRITECOPY" -eq 1; then
|
|
if test "$enable_ntdll_User_Shared_Data" -gt 1; then
|
|
abort "Patchset ntdll-User_Shared_Data disabled, but ntdll-WRITECOPY depends on that."
|
|
fi
|
|
enable_ntdll_User_Shared_Data=1
|
|
fi
|
|
|
|
if test "$enable_ntdll_RtlGetUnloadEventTraceEx" -eq 1; then
|
|
if test "$enable_ntdll_RtlQueryPackageIdentity" -gt 1; then
|
|
abort "Patchset ntdll-RtlQueryPackageIdentity disabled, but ntdll-RtlGetUnloadEventTraceEx depends on that."
|
|
fi
|
|
enable_ntdll_RtlQueryPackageIdentity=1
|
|
fi
|
|
|
|
if test "$enable_ntdll_RtlCreateUserThread" -eq 1; then
|
|
if test "$enable_ntdll_LdrInitializeThunk" -gt 1; then
|
|
abort "Patchset ntdll-LdrInitializeThunk disabled, but ntdll-RtlCreateUserThread depends on that."
|
|
fi
|
|
enable_ntdll_LdrInitializeThunk=1
|
|
fi
|
|
|
|
if test "$enable_ntdll_Purist_Mode" -eq 1; then
|
|
if test "$enable_ntdll_DllRedirects" -gt 1; then
|
|
abort "Patchset ntdll-DllRedirects disabled, but ntdll-Purist_Mode depends on that."
|
|
fi
|
|
enable_ntdll_DllRedirects=1
|
|
fi
|
|
|
|
if test "$enable_ntdll_NtSuspendProcess" -eq 1; then
|
|
if test "$enable_kernel32_K32GetPerformanceInfo" -gt 1; then
|
|
abort "Patchset kernel32-K32GetPerformanceInfo disabled, but ntdll-NtSuspendProcess depends on that."
|
|
fi
|
|
enable_kernel32_K32GetPerformanceInfo=1
|
|
fi
|
|
|
|
if test "$enable_ntdll_NtQueryVirtualMemory" -eq 1; then
|
|
if test "$enable_ntdll_NtDevicePath" -gt 1; then
|
|
abort "Patchset ntdll-NtDevicePath disabled, but ntdll-NtQueryVirtualMemory depends on that."
|
|
fi
|
|
enable_ntdll_NtDevicePath=1
|
|
fi
|
|
|
|
if test "$enable_ntdll_NtDevicePath" -eq 1; then
|
|
if test "$enable_ntdll_Pipe_SpecialCharacters" -gt 1; then
|
|
abort "Patchset ntdll-Pipe_SpecialCharacters disabled, but ntdll-NtDevicePath depends on that."
|
|
fi
|
|
enable_ntdll_Pipe_SpecialCharacters=1
|
|
fi
|
|
|
|
if test "$enable_ntdll_LdrInitializeThunk" -eq 1; then
|
|
if test "$enable_advapi32_Token_Integrity_Level" -gt 1; then
|
|
abort "Patchset advapi32-Token_Integrity_Level disabled, but ntdll-LdrInitializeThunk depends on that."
|
|
fi
|
|
enable_advapi32_Token_Integrity_Level=1
|
|
fi
|
|
|
|
if test "$enable_ntdll_Junction_Points" -eq 1; then
|
|
if test "$enable_ntdll_NtQueryEaFile" -gt 1; then
|
|
abort "Patchset ntdll-NtQueryEaFile disabled, but ntdll-Junction_Points depends on that."
|
|
fi
|
|
enable_ntdll_NtQueryEaFile=1
|
|
fi
|
|
|
|
if test "$enable_ntdll_NtQueryEaFile" -eq 1; then
|
|
if test "$enable_kernel32_SetFileCompletionNotificationModes" -gt 1; then
|
|
abort "Patchset kernel32-SetFileCompletionNotificationModes disabled, but ntdll-NtQueryEaFile depends on that."
|
|
fi
|
|
enable_kernel32_SetFileCompletionNotificationModes=1
|
|
fi
|
|
|
|
if test "$enable_ntdll_HashLinks" -eq 1; then
|
|
if test "$enable_ntdll_LDR_MODULE" -gt 1; then
|
|
abort "Patchset ntdll-LDR_MODULE disabled, but ntdll-HashLinks depends on that."
|
|
fi
|
|
enable_ntdll_LDR_MODULE=1
|
|
fi
|
|
|
|
if test "$enable_ntdll_DllRedirects" -eq 1; then
|
|
if test "$enable_ntdll_DllOverrides_WOW64" -gt 1; then
|
|
abort "Patchset ntdll-DllOverrides_WOW64 disabled, but ntdll-DllRedirects depends on that."
|
|
fi
|
|
if test "$enable_ntdll_Loader_Machine_Type" -gt 1; then
|
|
abort "Patchset ntdll-Loader_Machine_Type disabled, but ntdll-DllRedirects depends on that."
|
|
fi
|
|
if test "$enable_wow64cpu_Wow64Transition" -gt 1; then
|
|
abort "Patchset wow64cpu-Wow64Transition disabled, but ntdll-DllRedirects depends on that."
|
|
fi
|
|
enable_ntdll_DllOverrides_WOW64=1
|
|
enable_ntdll_Loader_Machine_Type=1
|
|
enable_wow64cpu_Wow64Transition=1
|
|
fi
|
|
|
|
if test "$enable_ntdll_Builtin_Prot" -eq 1; then
|
|
if test "$enable_ntdll_User_Shared_Data" -gt 1; then
|
|
abort "Patchset ntdll-User_Shared_Data disabled, but ntdll-Builtin_Prot depends on that."
|
|
fi
|
|
enable_ntdll_User_Shared_Data=1
|
|
fi
|
|
|
|
if test "$enable_ntdll_User_Shared_Data" -eq 1; then
|
|
if test "$enable_ntdll_Hide_Wine_Exports" -gt 1; then
|
|
abort "Patchset ntdll-Hide_Wine_Exports disabled, but ntdll-User_Shared_Data depends on that."
|
|
fi
|
|
enable_ntdll_Hide_Wine_Exports=1
|
|
fi
|
|
|
|
if test "$enable_ntdll_Hide_Wine_Exports" -eq 1; then
|
|
if test "$enable_ntdll_ThreadTime" -gt 1; then
|
|
abort "Patchset ntdll-ThreadTime disabled, but ntdll-Hide_Wine_Exports depends on that."
|
|
fi
|
|
enable_ntdll_ThreadTime=1
|
|
fi
|
|
|
|
if test "$enable_ntdll_ApiSetMap" -eq 1; then
|
|
if test "$enable_ntdll_ThreadTime" -gt 1; then
|
|
abort "Patchset ntdll-ThreadTime disabled, but ntdll-ApiSetMap depends on that."
|
|
fi
|
|
enable_ntdll_ThreadTime=1
|
|
fi
|
|
|
|
if test "$enable_loader_OSX_Preloader" -eq 1; then
|
|
if test "$enable_Staging" -gt 1; then
|
|
abort "Patchset Staging disabled, but loader-OSX_Preloader depends on that."
|
|
fi
|
|
if test "$enable_configure_Absolute_RPATH" -gt 1; then
|
|
abort "Patchset configure-Absolute_RPATH disabled, but loader-OSX_Preloader depends on that."
|
|
fi
|
|
enable_Staging=1
|
|
enable_configure_Absolute_RPATH=1
|
|
fi
|
|
|
|
if test "$enable_kernel32_Processor_Group" -eq 1; then
|
|
if test "$enable_api_ms_win_Stub_DLLs" -gt 1; then
|
|
abort "Patchset api-ms-win-Stub_DLLs disabled, but kernel32-Processor_Group depends on that."
|
|
fi
|
|
enable_api_ms_win_Stub_DLLs=1
|
|
fi
|
|
|
|
if test "$enable_kernel32_CopyFileEx" -eq 1; then
|
|
if test "$enable_ntdll_FileDispositionInformation" -gt 1; then
|
|
abort "Patchset ntdll-FileDispositionInformation disabled, but kernel32-CopyFileEx depends on that."
|
|
fi
|
|
enable_ntdll_FileDispositionInformation=1
|
|
fi
|
|
|
|
if test "$enable_ntdll_FileDispositionInformation" -eq 1; then
|
|
if test "$enable_server_File_Permissions" -gt 1; then
|
|
abort "Patchset server-File_Permissions disabled, but ntdll-FileDispositionInformation depends on that."
|
|
fi
|
|
enable_server_File_Permissions=1
|
|
fi
|
|
|
|
if test "$enable_imagehlp_ImageLoad" -eq 1; then
|
|
if test "$enable_imagehlp_Cleanup" -gt 1; then
|
|
abort "Patchset imagehlp-Cleanup disabled, but imagehlp-ImageLoad depends on that."
|
|
fi
|
|
enable_imagehlp_Cleanup=1
|
|
fi
|
|
|
|
if test "$enable_dxdiagn_GetChildContainer_Leaf_Nodes" -eq 1; then
|
|
if test "$enable_dxdiagn_Enumerate_DirectSound" -gt 1; then
|
|
abort "Patchset dxdiagn-Enumerate_DirectSound disabled, but dxdiagn-GetChildContainer_Leaf_Nodes depends on that."
|
|
fi
|
|
enable_dxdiagn_Enumerate_DirectSound=1
|
|
fi
|
|
|
|
if test "$enable_dsound_EAX" -eq 1; then
|
|
if test "$enable_dsound_Fast_Mixer" -gt 1; then
|
|
abort "Patchset dsound-Fast_Mixer disabled, but dsound-EAX depends on that."
|
|
fi
|
|
if test "$enable_dsound_Revert_Cleanup" -gt 1; then
|
|
abort "Patchset dsound-Revert_Cleanup disabled, but dsound-EAX depends on that."
|
|
fi
|
|
enable_dsound_Fast_Mixer=1
|
|
enable_dsound_Revert_Cleanup=1
|
|
fi
|
|
|
|
if test "$enable_d3dx9_36_DXTn" -eq 1; then
|
|
if test "$enable_wined3d_DXTn" -gt 1; then
|
|
abort "Patchset wined3d-DXTn disabled, but d3dx9_36-DXTn depends on that."
|
|
fi
|
|
enable_wined3d_DXTn=1
|
|
fi
|
|
|
|
if test "$enable_wined3d_DXTn" -eq 1; then
|
|
if test "$enable_wined3d_WINED3DFMT_B8G8R8X8_UNORM" -gt 1; then
|
|
abort "Patchset wined3d-WINED3DFMT_B8G8R8X8_UNORM disabled, but wined3d-DXTn depends on that."
|
|
fi
|
|
enable_wined3d_WINED3DFMT_B8G8R8X8_UNORM=1
|
|
fi
|
|
|
|
if test "$enable_d3d11_Deferred_Context" -eq 1; then
|
|
if test "$enable_nvapi_Stub_DLL" -gt 1; then
|
|
abort "Patchset nvapi-Stub_DLL disabled, but d3d11-Deferred_Context depends on that."
|
|
fi
|
|
enable_nvapi_Stub_DLL=1
|
|
fi
|
|
|
|
if test "$enable_nvapi_Stub_DLL" -eq 1; then
|
|
if test "$enable_nvcuda_CUDA_Support" -gt 1; then
|
|
abort "Patchset nvcuda-CUDA_Support disabled, but nvapi-Stub_DLL depends on that."
|
|
fi
|
|
enable_nvcuda_CUDA_Support=1
|
|
fi
|
|
|
|
if test "$enable_advapi32_Token_Integrity_Level" -eq 1; then
|
|
if test "$enable_Staging" -gt 1; then
|
|
abort "Patchset Staging disabled, but advapi32-Token_Integrity_Level depends on that."
|
|
fi
|
|
if test "$enable_advapi32_CreateRestrictedToken" -gt 1; then
|
|
abort "Patchset advapi32-CreateRestrictedToken disabled, but advapi32-Token_Integrity_Level depends on that."
|
|
fi
|
|
if test "$enable_kernel32_COMSPEC" -gt 1; then
|
|
abort "Patchset kernel32-COMSPEC disabled, but advapi32-Token_Integrity_Level depends on that."
|
|
fi
|
|
if test "$enable_server_CreateProcess_ACLs" -gt 1; then
|
|
abort "Patchset server-CreateProcess_ACLs disabled, but advapi32-Token_Integrity_Level depends on that."
|
|
fi
|
|
if test "$enable_server_Misc_ACL" -gt 1; then
|
|
abort "Patchset server-Misc_ACL disabled, but advapi32-Token_Integrity_Level depends on that."
|
|
fi
|
|
enable_Staging=1
|
|
enable_advapi32_CreateRestrictedToken=1
|
|
enable_kernel32_COMSPEC=1
|
|
enable_server_CreateProcess_ACLs=1
|
|
enable_server_Misc_ACL=1
|
|
fi
|
|
|
|
if test "$enable_advapi32_LsaLookupSids" -eq 1; then
|
|
if test "$enable_server_CreateProcess_ACLs" -gt 1; then
|
|
abort "Patchset server-CreateProcess_ACLs disabled, but advapi32-LsaLookupSids depends on that."
|
|
fi
|
|
if test "$enable_server_Misc_ACL" -gt 1; then
|
|
abort "Patchset server-Misc_ACL disabled, but advapi32-LsaLookupSids depends on that."
|
|
fi
|
|
enable_server_CreateProcess_ACLs=1
|
|
enable_server_Misc_ACL=1
|
|
fi
|
|
|
|
|
|
# If autoupdate is enabled then create a tempfile to keep track of all patches
|
|
if test "$enable_patchlist" -eq 1; then
|
|
if test "$enable_Staging" -eq 1; then
|
|
# macOS 10.10 and prior do not allow mktemp with empty argument
|
|
patchlist=$(mktemp 2>/dev/null || mktemp -t tmp)
|
|
if test ! -f "$patchlist"; then
|
|
abort "Unable to create temporary file for patchlist."
|
|
fi
|
|
else
|
|
warning "Skipping generation of patchlist because 'Staging' patchset is disabled."
|
|
enable_patchlist=0
|
|
fi
|
|
fi
|
|
|
|
|
|
# Patchset Compiler_Warnings
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/amstream/mediastreamfilter.c, dlls/d2d1/brush.c, dlls/d2d1/geometry.c, dlls/d3d11/view.c, dlls/d3d8/texture.c,
|
|
# | dlls/d3d9/tests/visual.c, dlls/d3d9/texture.c, dlls/ddraw/viewport.c, dlls/dwrite/font.c, dlls/dwrite/layout.c,
|
|
# | dlls/evr/evr.c, dlls/msxml3/schema.c, dlls/netapi32/netapi32.c, dlls/oleaut32/oleaut.c, dlls/rpcrt4/cstub.c,
|
|
# | dlls/vbscript/vbdisp.c, dlls/wined3d/glsl_shader.c, dlls/ws2_32/tests/sock.c, dlls/wsdapi/msgparams.c,
|
|
# | include/wine/list.h, include/wine/rbtree.h, include/winnt.h, tools/makedep.c
|
|
# |
|
|
if test "$enable_Compiler_Warnings" -eq 1; then
|
|
patch_apply Compiler_Warnings/0009-ws2_32-tests-Work-around-an-incorrect-detection-in-G.patch
|
|
patch_apply Compiler_Warnings/0018-Appease-the-blessed-version-of-gcc-4.5-when-Werror-i.patch
|
|
patch_apply Compiler_Warnings/0020-amstream-Avoid-implicit-cast-of-interface-pointer.patch
|
|
patch_apply Compiler_Warnings/0021-d2d1-Avoid-implicit-cast-of-interface-pointer.patch
|
|
patch_apply Compiler_Warnings/0022-d3d11-Avoid-implicit-cast-of-interface-pointer.patch
|
|
patch_apply Compiler_Warnings/0023-d3d8-Avoid-implicit-cast-of-interface-pointer.patch
|
|
patch_apply Compiler_Warnings/0024-d3d9-Avoid-implicit-cast-of-interface-pointer.patch
|
|
patch_apply Compiler_Warnings/0025-ddraw-Avoid-implicit-cast-of-interface-pointer.patch
|
|
patch_apply Compiler_Warnings/0026-dwrite-Avoid-implicit-cast-of-interface-pointer.patch
|
|
patch_apply Compiler_Warnings/0027-msxml3-Avoid-implicit-cast-of-interface-pointer.patch
|
|
patch_apply Compiler_Warnings/0028-oleaut32-Avoid-implicit-cast-of-interface-pointer.patch
|
|
patch_apply Compiler_Warnings/0029-rpcrt4-Avoid-implicit-cast-of-interface-pointer.patch
|
|
patch_apply Compiler_Warnings/0030-vbscript-Avoid-implicit-cast-of-interface-pointer.patch
|
|
patch_apply Compiler_Warnings/0031-include-Check-element-type-in-CONTAINING_RECORD-and-.patch
|
|
patch_apply Compiler_Warnings/0032-wsdapi-Avoid-implicit-cast-of-interface-pointer.patch
|
|
patch_apply Compiler_Warnings/0033-evr-Avoid-implicit-cast-of-interface-pointer.patch
|
|
(
|
|
printf '%s\n' '+ { "Sebastian Lackner", "ws2_32/tests: Work around an incorrect detection in GCC 7.", 1 },';
|
|
printf '%s\n' '+ { "Erich E. Hoover", "Appease the blessed version of gcc (4.5) when -Werror is enabled.", 1 },';
|
|
printf '%s\n' '+ { "Sebastian Lackner", "amstream: Avoid implicit cast of interface pointer.", 1 },';
|
|
printf '%s\n' '+ { "Sebastian Lackner", "d2d1: Avoid implicit cast of interface pointer.", 1 },';
|
|
printf '%s\n' '+ { "Sebastian Lackner", "d3d11: Avoid implicit cast of interface pointer.", 1 },';
|
|
printf '%s\n' '+ { "Sebastian Lackner", "d3d8: Avoid implicit cast of interface pointer.", 1 },';
|
|
printf '%s\n' '+ { "Sebastian Lackner", "d3d9: Avoid implicit cast of interface pointer.", 1 },';
|
|
printf '%s\n' '+ { "Sebastian Lackner", "ddraw: Avoid implicit cast of interface pointer.", 1 },';
|
|
printf '%s\n' '+ { "Sebastian Lackner", "dwrite: Avoid implicit cast of interface pointer.", 1 },';
|
|
printf '%s\n' '+ { "Sebastian Lackner", "msxml3: Avoid implicit cast of interface pointer.", 1 },';
|
|
printf '%s\n' '+ { "Sebastian Lackner", "oleaut32: Avoid implicit cast of interface pointer.", 1 },';
|
|
printf '%s\n' '+ { "Sebastian Lackner", "rpcrt4: Avoid implicit cast of interface pointer.", 1 },';
|
|
printf '%s\n' '+ { "Sebastian Lackner", "vbscript: Avoid implicit cast of interface pointer.", 1 },';
|
|
printf '%s\n' '+ { "Sebastian Lackner", "include: Check element type in CONTAINING_RECORD and similar macros.", 1 },';
|
|
printf '%s\n' '+ { "Sebastian Lackner", "wsdapi: Avoid implicit cast of interface pointer.", 1 },';
|
|
printf '%s\n' '+ { "Sebastian Lackner", "evr: Avoid implicit cast of interface pointer.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset Pipelight
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/user32/message.c, dlls/user32/tests/msg.c, dlls/winex11.drv/init.c, dlls/winex11.drv/opengl.c,
|
|
# | dlls/winex11.drv/x11drv.h
|
|
# |
|
|
if test "$enable_Pipelight" -eq 1; then
|
|
patch_apply Pipelight/0001-winex11-Implement-X11DRV_FLUSH_GDI_DISPLAY-ExtEscape-c.patch
|
|
patch_apply Pipelight/0002-user32-Decrease-minimum-SetTimer-interval-to-5-ms.patch
|
|
patch_apply Pipelight/0004-winex11.drv-Indicate-direct-rendering-through-OpenGL.patch
|
|
(
|
|
printf '%s\n' '+ { "Sebastian Lackner", "winex11: Implement X11DRV_FLUSH_GDI_DISPLAY ExtEscape command.", 1 },';
|
|
printf '%s\n' '+ { "Michael Müller", "user32: Decrease minimum SetTimer interval to 5 ms.", 2 },';
|
|
printf '%s\n' '+ { "Michael Müller", "winex11.drv: Indicate direct rendering through OpenGL extension.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset Staging
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/kernel32/process.c, dlls/ntdll/misc.c, dlls/ntdll/ntdll.spec, include/wine/library.h, libs/wine/Makefile.in,
|
|
# | libs/wine/config.c, libs/wine/loader.c, libs/wine/wine.def, libs/wine/wine.map, loader/main.c
|
|
# |
|
|
if test "$enable_Staging" -eq 1; then
|
|
patch_apply Staging/0001-kernel32-Add-winediag-message-to-show-warning-that-t.patch
|
|
patch_apply Staging/0002-winelib-Append-Staging-at-the-end-of-the-version-s.patch
|
|
patch_apply Staging/0003-loader-Add-commandline-option-patches-to-show-the-pa.patch
|
|
patch_apply Staging/0004-loader-Add-commandline-option-check-libs.patch
|
|
patch_apply Staging/0005-loader-Print-library-paths-for-check-libs-on-Mac-OS-.patch
|
|
(
|
|
printf '%s\n' '+ { "Sebastian Lackner", "kernel32: Add winediag message to show warning, that this isn'\''t vanilla wine.", 1 },';
|
|
printf '%s\n' '+ { "Sebastian Lackner", "winelib: Append '\''(Staging)'\'' at the end of the version string.", 1 },';
|
|
printf '%s\n' '+ { "Sebastian Lackner", "loader: Add commandline option --patches to show the patch list.", 1 },';
|
|
printf '%s\n' '+ { "Michael Müller", "loader: Add commandline option --check-libs.", 1 },';
|
|
printf '%s\n' '+ { "Michael Müller", "loader: Print library paths for --check-libs on Mac OS X.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset advapi32-CreateRestrictedToken
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#25834] Implement advapi32.CreateRestrictedToken
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/advapi32/security.c, dlls/advapi32/tests/security.c, dlls/ntdll/nt.c, dlls/ntdll/ntdll.spec, include/winnt.h,
|
|
# | include/winternl.h, server/process.c, server/protocol.def, server/security.h, server/token.c
|
|
# |
|
|
if test "$enable_advapi32_CreateRestrictedToken" -eq 1; then
|
|
patch_apply advapi32-CreateRestrictedToken/0001-ntdll-Implement-NtFilterToken.patch
|
|
patch_apply advapi32-CreateRestrictedToken/0002-advapi32-Implement-CreateRestrictedToken.patch
|
|
patch_apply advapi32-CreateRestrictedToken/0003-server-Correctly-validate-SID-length-in-sd_is_valid.patch
|
|
(
|
|
printf '%s\n' '+ { "Michael Müller", "ntdll: Implement NtFilterToken.", 1 },';
|
|
printf '%s\n' '+ { "Michael Müller", "advapi32: Implement CreateRestrictedToken.", 1 },';
|
|
printf '%s\n' '+ { "Michael Müller", "server: Correctly validate SID length in sd_is_valid.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset advapi32-LsaLookupPrivilegeName
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/advapi32/lsa.c, dlls/advapi32/tests/lsa.c
|
|
# |
|
|
if test "$enable_advapi32_LsaLookupPrivilegeName" -eq 1; then
|
|
patch_apply advapi32-LsaLookupPrivilegeName/0001-advapi32-Fix-error-code-when-calling-LsaOpenPolicy-f.patch
|
|
patch_apply advapi32-LsaLookupPrivilegeName/0002-advapi32-Use-TRACE-for-LsaOpenPolicy-LsaClose.patch
|
|
(
|
|
printf '%s\n' '+ { "Michael Müller", "advapi32: Fix error code when calling LsaOpenPolicy for non existing remote machine.", 1 },';
|
|
printf '%s\n' '+ { "Michael Müller", "advapi32: Use TRACE for LsaOpenPolicy/LsaClose.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset server-CreateProcess_ACLs
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#22006] Support for process ACLs
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/advapi32/tests/security.c, dlls/kernel32/process.c, server/process.c, server/protocol.def
|
|
# |
|
|
if test "$enable_server_CreateProcess_ACLs" -eq 1; then
|
|
patch_apply server-CreateProcess_ACLs/0001-server-Support-for-thread-and-process-security-descr.patch
|
|
patch_apply server-CreateProcess_ACLs/0002-kernel32-Implement-passing-security-descriptors-from.patch
|
|
patch_apply server-CreateProcess_ACLs/0003-advapi32-tests-Add-additional-tests-for-passing-a-th.patch
|
|
(
|
|
printf '%s\n' '+ { "Sebastian Lackner", "server: Support for thread and process security descriptors in new_process wineserver call.", 2 },';
|
|
printf '%s\n' '+ { "Sebastian Lackner", "kernel32: Implement passing security descriptors from CreateProcess to the wineserver.", 2 },';
|
|
printf '%s\n' '+ { "Joris van der Wel", "advapi32/tests: Add additional tests for passing a thread sd to CreateProcess.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset server-Misc_ACL
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#15980] GetSecurityInfo returns NULL DACL for process object
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/advapi32/tests/security.c, server/process.c, server/security.h, server/token.c
|
|
# |
|
|
if test "$enable_server_Misc_ACL" -eq 1; then
|
|
patch_apply server-Misc_ACL/0001-server-Add-default-security-descriptor-ownership-for.patch
|
|
patch_apply server-Misc_ACL/0002-server-Add-default-security-descriptor-DACL-for-proc.patch
|
|
(
|
|
printf '%s\n' '+ { "Erich E. Hoover", "server: Add default security descriptor ownership for processes.", 1 },';
|
|
printf '%s\n' '+ { "Erich E. Hoover", "server: Add default security descriptor DACL for processes.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset advapi32-LsaLookupSids
|
|
# |
|
|
# | This patchset has the following (direct or indirect) dependencies:
|
|
# | * server-CreateProcess_ACLs, server-Misc_ACL
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/advapi32/lsa.c, dlls/advapi32/security.c, dlls/advapi32/tests/security.c, server/token.c
|
|
# |
|
|
if test "$enable_advapi32_LsaLookupSids" -eq 1; then
|
|
patch_apply advapi32-LsaLookupSids/0001-advapi32-Initialize-buffer-length-to-zero-in-LsaLook.patch
|
|
patch_apply advapi32-LsaLookupSids/0002-advapi32-Prepend-a-hidden-LSA_TRUST_INFORMATION-in-L.patch
|
|
patch_apply advapi32-LsaLookupSids/0003-advapi32-Prepend-a-hidden-LSA_TRUST_INFORMATION-in-L.patch
|
|
patch_apply advapi32-LsaLookupSids/0004-advapi32-Fallback-to-Sid-string-when-LookupAccountSi.patch
|
|
patch_apply advapi32-LsaLookupSids/0005-advapi32-tests-Test-prefix-and-use-of-TokenPrimaryGr.patch
|
|
patch_apply advapi32-LsaLookupSids/0006-server-Create-primary-group-using-DOMAIN_GROUP_RID_U.patch
|
|
patch_apply advapi32-LsaLookupSids/0007-advapi32-Fix-name-and-use-of-DOMAIN_GROUP_RID_USERS.patch
|
|
(
|
|
printf '%s\n' '+ { "Qian Hong", "advapi32: Initialize buffer length to zero in LsaLookupSids to prevent crash.", 2 },';
|
|
printf '%s\n' '+ { "Qian Hong", "advapi32: Prepend a hidden LSA_TRUST_INFORMATION in LsaLookupSids to avoid crash when Domains[-1] incorrectly accessed by application.", 2 },';
|
|
printf '%s\n' '+ { "Qian Hong", "advapi32: Prepend a hidden LSA_TRUST_INFORMATION in LsaLookupNames2 to avoid crash when Domains[-1] incorrectly accessed by application.", 2 },';
|
|
printf '%s\n' '+ { "Qian Hong", "advapi32: Fallback to Sid string when LookupAccountSid fails.", 1 },';
|
|
printf '%s\n' '+ { "Qian Hong", "advapi32/tests: Test prefix and use of TokenPrimaryGroup Sid.", 1 },';
|
|
printf '%s\n' '+ { "Qian Hong", "server: Create primary group using DOMAIN_GROUP_RID_USERS.", 1 },';
|
|
printf '%s\n' '+ { "Qian Hong", "advapi32: Fix name and use of DOMAIN_GROUP_RID_USERS.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset advapi32-SetSecurityInfo
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#38423] Fix the initialization of combined DACLs when the new DACL is empty
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/advapi32/security.c
|
|
# |
|
|
if test "$enable_advapi32_SetSecurityInfo" -eq 1; then
|
|
patch_apply advapi32-SetSecurityInfo/0001-advapi32-Move-the-DACL-combining-code-into-a-separat.patch
|
|
patch_apply advapi32-SetSecurityInfo/0002-advapi32-Fix-the-initialization-of-combined-DACLs-wh.patch
|
|
(
|
|
printf '%s\n' '+ { "Erich E. Hoover", "advapi32: Move the DACL combining code into a separate routine.", 1 },';
|
|
printf '%s\n' '+ { "Erich E. Hoover", "advapi32: Fix the initialization of combined DACLs when the new DACL is empty.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset kernel32-COMSPEC
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#19801] Fallback to default comspec when %COMSPEC% is not set
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/kernel32/process.c, programs/cmd/wcmdmain.c
|
|
# |
|
|
if test "$enable_kernel32_COMSPEC" -eq 1; then
|
|
patch_apply kernel32-COMSPEC/0001-kernel32-Fallback-to-default-comspec-when-COMSPEC-is.patch
|
|
(
|
|
printf '%s\n' '+ { "Qian Hong", "kernel32: Fallback to default comspec when %COMSPEC% is not set.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset advapi32-Token_Integrity_Level
|
|
# |
|
|
# | This patchset has the following (direct or indirect) dependencies:
|
|
# | * Staging, advapi32-CreateRestrictedToken, kernel32-COMSPEC, server-CreateProcess_ACLs, server-Misc_ACL
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#40613] Basic implementation for token integrity levels and UAC handling
|
|
# | * [#39262] Run explorer.exe as unevaluated process
|
|
# |
|
|
# | Modified files:
|
|
# | * configure.ac, dlls/advapi32/security.c, dlls/advapi32/tests/Makefile.in, dlls/advapi32/tests/security.c,
|
|
# | dlls/kernel32/kernel32.spec, dlls/kernel32/process.c, dlls/kernelbase/kernelbase.spec, dlls/ntdll/loader.c,
|
|
# | dlls/ntdll/nt.c, dlls/ntdll/ntdll.spec, dlls/ntdll/ntdll_misc.h, dlls/ntdll/process.c, dlls/shell32/shlexec.c,
|
|
# | dlls/user32/win.c, include/winbase.h, programs/runas/Makefile.in, programs/runas/runas.c, programs/runas/runas.h,
|
|
# | programs/runas/runas.rc, server/process.c, server/process.h, server/protocol.def, server/request.c, server/security.h,
|
|
# | server/token.c
|
|
# |
|
|
if test "$enable_advapi32_Token_Integrity_Level" -eq 1; then
|
|
patch_apply advapi32-Token_Integrity_Level/0001-advapi32-tests-Extend-security-label-token-integrity.patch
|
|
patch_apply advapi32-Token_Integrity_Level/0002-server-Implement-token-elevation-information.patch
|
|
patch_apply advapi32-Token_Integrity_Level/0003-server-Correctly-treat-zero-access-mask-in-duplicate.patch
|
|
patch_apply advapi32-Token_Integrity_Level/0004-server-Implement-token-integrity-level.patch
|
|
patch_apply advapi32-Token_Integrity_Level/0005-server-Use-all-group-attributes-in-create_token.patch
|
|
patch_apply advapi32-Token_Integrity_Level/0006-ntdll-Add-function-to-create-new-tokens-for-elevatio.patch
|
|
patch_apply advapi32-Token_Integrity_Level/0007-shell32-Implement-process-elevation-using-runas-verb.patch
|
|
patch_apply advapi32-Token_Integrity_Level/0008-ntdll-Implement-process-token-elevation-through-mani.patch
|
|
patch_apply advapi32-Token_Integrity_Level/0009-kernel32-Implement-CreateProcessInternalW.patch
|
|
patch_apply advapi32-Token_Integrity_Level/0010-server-Implement-support-for-creating-processes-usin.patch
|
|
patch_apply advapi32-Token_Integrity_Level/0011-advapi32-Use-token-in-CreateProcessAsUserW-and-Creat.patch
|
|
patch_apply advapi32-Token_Integrity_Level/0012-user32-Start-explorer.exe-using-limited-rights.patch
|
|
patch_apply advapi32-Token_Integrity_Level/0013-server-Correctly-assign-security-labels-for-tokens.patch
|
|
patch_apply advapi32-Token_Integrity_Level/0014-programs-runas-Basic-implementation-for-starting-pro.patch
|
|
patch_apply advapi32-Token_Integrity_Level/0015-ntdll-Add-semi-stub-for-TokenLinkedToken-info-class.patch
|
|
(
|
|
printf '%s\n' '+ { "Michael Müller", "advapi32/tests: Extend security label / token integrity tests.", 1 },';
|
|
printf '%s\n' '+ { "Michael Müller", "server: Implement token elevation information.", 1 },';
|
|
printf '%s\n' '+ { "Michael Müller", "server: Correctly treat zero access mask in duplicate_token wineserver call.", 1 },';
|
|
printf '%s\n' '+ { "Michael Müller", "server: Implement token integrity level.", 1 },';
|
|
printf '%s\n' '+ { "Sebastian Lackner", "server: Use all group attributes in create_token.", 1 },';
|
|
printf '%s\n' '+ { "Michael Müller", "ntdll: Add function to create new tokens for elevation purposes.", 1 },';
|
|
printf '%s\n' '+ { "Michael Müller", "shell32: Implement process elevation using runas verb.", 1 },';
|
|
printf '%s\n' '+ { "Michael Müller", "ntdll: Implement process token elevation through manifests.", 1 },';
|
|
printf '%s\n' '+ { "Michael Müller", "kernel32: Implement CreateProcessInternalW.", 1 },';
|
|
printf '%s\n' '+ { "Michael Müller", "server: Implement support for creating processes using a token.", 1 },';
|
|
printf '%s\n' '+ { "Michael Müller", "advapi32: Use token in CreateProcessAsUserW and CreateProcessWithTokenW.", 1 },';
|
|
printf '%s\n' '+ { "Michael Müller", "user32: Start explorer.exe using limited rights.", 1 },';
|
|
printf '%s\n' '+ { "Michael Müller", "server: Correctly assign security labels for tokens.", 1 },';
|
|
printf '%s\n' '+ { "Michael Müller", "programs/runas: Basic implementation for starting processes with a different trustlevel.", 1 },';
|
|
printf '%s\n' '+ { "Sebastian Lackner", "ntdll: Add semi-stub for TokenLinkedToken info class.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset advapi32-WinBuiltinAnyPackageSid
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#41934] Assigns the AC abbreviation to WinBuiltinAnyPackageSid
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/advapi32/security.c, dlls/advapi32/tests/security.c
|
|
# |
|
|
if test "$enable_advapi32_WinBuiltinAnyPackageSid" -eq 1; then
|
|
patch_apply advapi32-WinBuiltinAnyPackageSid/0001-advapi32-SDDL-assigns-the-AC-abbreviation-to-WinBuil.patch
|
|
patch_apply advapi32-WinBuiltinAnyPackageSid/0002-advapi32-tests-Add-a-test-that-compares-a-well-known.patch
|
|
(
|
|
printf '%s\n' '+ { "Dmitry Timoshkov", "advapi32: SDDL assigns the \"AC\" abbreviation to WinBuiltinAnyPackageSid.", 1 },';
|
|
printf '%s\n' '+ { "Dmitry Timoshkov", "advapi32/tests: Add a test that compares a well-known SID to a SID created from a SDDL abbreviation.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset api-ms-win-Stub_DLLs
|
|
# |
|
|
# | Modified files:
|
|
# | * configure.ac, dlls/ext-ms-win-appmodel-usercontext-l1-1-0/Makefile.in, dlls/ext-ms-win-appmodel-usercontext-l1-1-0/ext-
|
|
# | ms-win-appmodel-usercontext-l1-1-0.spec, dlls/ext-ms-win-appmodel-usercontext-l1-1-0/main.c, dlls/ext-ms-win-xaml-
|
|
# | 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-
|
|
# | pal-l1-1-0/main.c, dlls/iertutil/Makefile.in, dlls/iertutil/iertutil.spec, dlls/iertutil/main.c,
|
|
# | dlls/uiautomationcore/Makefile.in, dlls/uiautomationcore/uia_main.c, dlls/uiautomationcore/uiautomationcore.spec
|
|
# |
|
|
if test "$enable_api_ms_win_Stub_DLLs" -eq 1; then
|
|
patch_apply api-ms-win-Stub_DLLs/0006-iertutil-Add-dll-and-add-stub-for-ordinal-811.patch
|
|
patch_apply api-ms-win-Stub_DLLs/0009-ext-ms-win-xaml-pal-l1-1-0-Add-dll-and-add-stub-for-.patch
|
|
patch_apply api-ms-win-Stub_DLLs/0010-ext-ms-win-appmodel-usercontext-l1-1-0-Add-dll-and-a.patch
|
|
patch_apply api-ms-win-Stub_DLLs/0012-ext-ms-win-xaml-pal-l1-1-0-Add-stub-for-GetThemeServ.patch
|
|
patch_apply api-ms-win-Stub_DLLs/0027-uiautomationcore-Add-dll-and-stub-some-functions.patch
|
|
(
|
|
printf '%s\n' '+ { "Michael Müller", "iertutil: Add dll and add stub for ordinal 811.", 1 },';
|
|
printf '%s\n' '+ { "Michael Müller", "ext-ms-win-xaml-pal-l1-1-0: Add dll and add stub for XamlBehaviorEnabled.", 1 },';
|
|
printf '%s\n' '+ { "Michael Müller", "ext-ms-win-appmodel-usercontext-l1-1-0: Add dll and add stub for UserContextExtInitialize.", 1 },';
|
|
printf '%s\n' '+ { "Michael Müller", "ext-ms-win-xaml-pal-l1-1-0: Add stub for GetThemeServices.", 1 },';
|
|
printf '%s\n' '+ { "Michael Müller", "uiautomationcore: Add dll and stub some functions.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset avifil32-IGetFrame_fnSetFormat
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/avifil32/getframe.c
|
|
# |
|
|
if test "$enable_avifil32_IGetFrame_fnSetFormat" -eq 1; then
|
|
patch_apply avifil32-IGetFrame_fnSetFormat/0001-avifil32-Correctly-handle-compressed-frames-when-des.patch
|
|
(
|
|
printf '%s\n' '+ { "Michael Müller", "avifil32: Correctly handle compressed frames when desired format is specified.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset avifile.dll16-AVIStreamGetFrame
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/avifile.dll16/Makefile.in, dlls/avifile.dll16/avifile.dll16.spec, dlls/avifile.dll16/main.c
|
|
# |
|
|
if test "$enable_avifile_dll16_AVIStreamGetFrame" -eq 1; then
|
|
patch_apply avifile.dll16-AVIStreamGetFrame/0001-avifile-Correctly-convert-result-of-AVIStreamGetFram.patch
|
|
patch_apply avifile.dll16-AVIStreamGetFrame/0002-avifile-Convert-between-AVISTREAMINFO-16-bit-and-AVI.patch
|
|
(
|
|
printf '%s\n' '+ { "Michael Müller", "avifile.dll16: Correctly convert result of AVIStreamGetFrame to a segptr.", 1 },';
|
|
printf '%s\n' '+ { "Michael Müller", "avifile.dll16: Convert between AVISTREAMINFO (16 bit) and AVISTREAMINFOA.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset bcrypt-BCryptDeriveKeyPBKDF2
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#42704] Implement BCryptDeriveKeyPBKDF2
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/bcrypt/bcrypt.spec, dlls/bcrypt/bcrypt_main.c, dlls/bcrypt/tests/bcrypt.c, include/bcrypt.h
|
|
# |
|
|
if test "$enable_bcrypt_BCryptDeriveKeyPBKDF2" -eq 1; then
|
|
patch_apply bcrypt-BCryptDeriveKeyPBKDF2/0001-bcrypt-Implement-BCryptDeriveKeyPBKDF2-and-add-test-.patch
|
|
(
|
|
printf '%s\n' '+ { "Jack Grigg", "bcrypt: Implement BCryptDeriveKeyPBKDF2 and add test vectors.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset bcrypt-BCryptGenerateKeyPair
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#45312] Fix issue for Assassin's Creed : Syndicate
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/bcrypt/bcrypt.spec, dlls/bcrypt/bcrypt_internal.h, dlls/bcrypt/bcrypt_main.c, include/bcrypt.h
|
|
# |
|
|
if test "$enable_bcrypt_BCryptGenerateKeyPair" -eq 1; then
|
|
patch_apply bcrypt-BCryptGenerateKeyPair/0001-bcrypt-Add-support-for-algorithm-ECDH-P256.patch
|
|
patch_apply bcrypt-BCryptGenerateKeyPair/0002-bcrypt-Add-BCryptGenerateKeyPair-stub.patch
|
|
patch_apply bcrypt-BCryptGenerateKeyPair/0003-bcrypt-Add-BCryptFinalizeKeyPair-stub.patch
|
|
(
|
|
printf '%s\n' '+ { "Maxime Lombard", "bcrypt: Add support for algorithm ECDH P256.", 1 },';
|
|
printf '%s\n' '+ { "Maxime Lombard", "bcrypt: Add BCryptGenerateKeyPair stub.", 1 },';
|
|
printf '%s\n' '+ { "Maxime Lombard", "bcrypt: Add BCryptFinalizeKeyPair stub.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset browseui-Progress_Dialog
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/browseui/browseui.rc, dlls/browseui/progressdlg.c, dlls/browseui/resids.h
|
|
# |
|
|
if test "$enable_browseui_Progress_Dialog" -eq 1; then
|
|
patch_apply browseui-Progress_Dialog/0002-browseui-Implement-PROGDLG_AUTOTIME-flag-for-IProgre.patch
|
|
(
|
|
printf '%s\n' '+ { "Michael Müller", "browseui: Implement PROGDLG_AUTOTIME flag for IProgressDialog.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset comctl32-Listview_DrawItem
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#38941] Preserve custom colors between subitems for listview control
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/comctl32/listview.c, dlls/comctl32/tests/listview.c
|
|
# |
|
|
if test "$enable_comctl32_Listview_DrawItem" -eq 1; then
|
|
patch_apply comctl32-Listview_DrawItem/0001-comctl32-Preserve-custom-colors-between-subitems.patch
|
|
(
|
|
printf '%s\n' '+ { "Michael Müller", "comctl32: Preserve custom colors between subitems.", 2 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset comdlg32-lpstrFileTitle
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#38400] Postpone setting lpstrFileTitle in GetSaveFileNameW
|
|
# | * [#35200] Postpone setting lpstrFileTitle in GetSaveFileNameA
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/comdlg32/filedlg.c
|
|
# |
|
|
if test "$enable_comdlg32_lpstrFileTitle" -eq 1; then
|
|
patch_apply comdlg32-lpstrFileTitle/0001-comdlg32-Postpone-setting-ofn-lpstrFileTitle-to-work.patch
|
|
(
|
|
printf '%s\n' '+ { "Dmitry Timoshkov", "comdlg32: Postpone setting ofn->lpstrFileTitle to work around an application bug.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset configure-Absolute_RPATH
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#26256] Support for setcap on wine-preloader
|
|
# |
|
|
# | Modified files:
|
|
# | * configure.ac
|
|
# |
|
|
if test "$enable_configure_Absolute_RPATH" -eq 1; then
|
|
patch_apply configure-Absolute_RPATH/0001-configure-Also-add-the-absolute-RPATH-when-linking-a.patch
|
|
(
|
|
printf '%s\n' '+ { "Sebastian Lackner", "configure: Also add the absolute RPATH when linking against libwine.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset crypt32-CMS_Certificates
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#34388] Skip unknown item when decoding a CMS certificate
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/crypt32/decode.c
|
|
# |
|
|
if test "$enable_crypt32_CMS_Certificates" -eq 1; then
|
|
patch_apply crypt32-CMS_Certificates/0001-crypt32-Skip-unknown-item-when-decoding-a-CMS-certif.patch
|
|
(
|
|
printf '%s\n' '+ { "Charles Davis", "crypt32: Skip unknown item when decoding a CMS certificate.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset crypt32-CryptUnprotectMemory
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/crypt32/main.c
|
|
# |
|
|
if test "$enable_crypt32_CryptUnprotectMemory" -eq 1; then
|
|
patch_apply crypt32-CryptUnprotectMemory/0001-crypt32-Print-CryptUnprotectMemory-FIXME-only-once.patch
|
|
(
|
|
printf '%s\n' '+ { "Christian Costa", "crypt32: Print CryptUnprotectMemory FIXME only once.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset crypt32-MS_Root_Certs
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/crypt32/rootstore.c
|
|
# |
|
|
if test "$enable_crypt32_MS_Root_Certs" -eq 1; then
|
|
patch_apply crypt32-MS_Root_Certs/0001-crypt32-Add-MS-root-CA-2010-2011.patch
|
|
(
|
|
printf '%s\n' '+ { "Michael Müller", "crypt32: Add MS root CA 2010.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset d2d1-ID2D1Factory1
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#44052] - Add ID2D1Bitmap1/ID2D1Factory1 support
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/d2d1/d2d1_private.h, dlls/d2d1/factory.c, dlls/d2d1/geometry.c
|
|
# |
|
|
if test "$enable_d2d1_ID2D1Factory1" -eq 1; then
|
|
patch_apply d2d1-ID2D1Factory1/0003-d2d1-Use-ID2D1Factory1-in-d2d_geometry.patch
|
|
(
|
|
printf '%s\n' '+ { "Lucian Poston", "d2d1: Use ID2D1Factory1 in d2d_geometry.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset nvcuda-CUDA_Support
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#37664] MediaCoder needs CUDA for video encoding
|
|
# |
|
|
# | Modified files:
|
|
# | * configure.ac, dlls/nvcuda/Makefile.in, dlls/nvcuda/internal.c, dlls/nvcuda/nvcuda.c, dlls/nvcuda/nvcuda.h,
|
|
# | dlls/nvcuda/nvcuda.rc, dlls/nvcuda/nvcuda.spec, dlls/nvcuda/tests/Makefile.in, dlls/nvcuda/tests/nvcuda.c,
|
|
# | include/Makefile.in, include/cuda.h
|
|
# |
|
|
if test "$enable_nvcuda_CUDA_Support" -eq 1; then
|
|
patch_apply nvcuda-CUDA_Support/0001-include-Add-cuda.h.h.patch
|
|
patch_apply nvcuda-CUDA_Support/0002-nvcuda-Add-stub-dll.patch
|
|
patch_apply nvcuda-CUDA_Support/0003-nvcuda-First-implementation.patch
|
|
patch_apply nvcuda-CUDA_Support/0004-nvcuda-Implement-new-functions-added-in-CUDA-6.5.patch
|
|
patch_apply nvcuda-CUDA_Support/0005-nvcuda-Properly-wrap-undocumented-ContextStorage-int.patch
|
|
patch_apply nvcuda-CUDA_Support/0006-nvcuda-Emulate-two-d3d9-initialization-functions.patch
|
|
patch_apply nvcuda-CUDA_Support/0007-nvcuda-Properly-wrap-stream-callbacks-by-forwarding-.patch
|
|
patch_apply nvcuda-CUDA_Support/0008-nvcuda-Add-support-for-CUDA-7.0.patch
|
|
patch_apply nvcuda-CUDA_Support/0009-nvcuda-Implement-cuModuleLoad-wrapper-function.patch
|
|
patch_apply nvcuda-CUDA_Support/0010-nvcuda-Search-for-dylib-library-on-Mac-OS-X.patch
|
|
patch_apply nvcuda-CUDA_Support/0011-nvcuda-Add-semi-stub-for-cuD3D10GetDevice.patch
|
|
(
|
|
printf '%s\n' '+ { "Sebastian Lackner", "include: Add cuda.h.", 1 },';
|
|
printf '%s\n' '+ { "Sebastian Lackner", "nvcuda: Add stub dll.", 1 },';
|
|
printf '%s\n' '+ { "Michael Müller", "nvcuda: First implementation.", 2 },';
|
|
printf '%s\n' '+ { "Sebastian Lackner", "nvcuda: Implement new functions added in CUDA 6.5.", 1 },';
|
|
printf '%s\n' '+ { "Michael Müller", "nvcuda: Properly wrap undocumented '\''ContextStorage'\'' interface and add tests.", 1 },';
|
|
printf '%s\n' '+ { "Michael Müller", "nvcuda: Emulate two d3d9 initialization functions.", 1 },';
|
|
printf '%s\n' '+ { "Sebastian Lackner", "nvcuda: Properly wrap stream callbacks by forwarding them to a worker thread.", 1 },';
|
|
printf '%s\n' '+ { "Sebastian Lackner", "nvcuda: Add support for CUDA 7.0.", 1 },';
|
|
printf '%s\n' '+ { "Sebastian Lackner", "nvcuda: Implement cuModuleLoad wrapper function.", 1 },';
|
|
printf '%s\n' '+ { "Michael Müller", "nvcuda: Search for dylib library on Mac OS X.", 1 },';
|
|
printf '%s\n' '+ { "Michael Müller", "nvcuda: Add semi stub for cuD3D10GetDevice.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset nvapi-Stub_DLL
|
|
# |
|
|
# | This patchset has the following (direct or indirect) dependencies:
|
|
# | * nvcuda-CUDA_Support
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#35062] Fix graphical corruption in FarCry 3 with NVIDIA drivers
|
|
# | * [#43862] CS:GO fails to start when nvapi cannot be initialized
|
|
# |
|
|
# | Modified files:
|
|
# | * configure.ac, dlls/d3d11/device.c, dlls/nvapi/Makefile.in, dlls/nvapi/nvapi.c, dlls/nvapi/nvapi.spec,
|
|
# | dlls/nvapi/tests/Makefile.in, dlls/nvapi/tests/nvapi.c, dlls/nvapi64/Makefile.in, dlls/nvapi64/nvapi64.spec,
|
|
# | include/Makefile.in, include/nvapi.h, include/wine/wined3d.h
|
|
# |
|
|
if test "$enable_nvapi_Stub_DLL" -eq 1; then
|
|
patch_apply nvapi-Stub_DLL/0001-nvapi-First-implementation.patch
|
|
patch_apply nvapi-Stub_DLL/0002-nvapi-Add-stubs-for-NvAPI_EnumLogicalGPUs-and-undocu.patch
|
|
patch_apply nvapi-Stub_DLL/0003-nvapi-Add-NvAPI_GetPhysicalGPUsFromLogicalGPU.patch
|
|
patch_apply nvapi-Stub_DLL/0004-nvapi-Add-stub-for-NvAPI_EnumPhysicalGPUs.patch
|
|
patch_apply nvapi-Stub_DLL/0005-nvapi-Add-stubs-for-NvAPI_GPU_GetFullName.patch
|
|
patch_apply nvapi-Stub_DLL/0006-nvapi-Explicity-return-NULL-for-0x33c7358c-and-0x593.patch
|
|
patch_apply nvapi-Stub_DLL/0007-nvapi-Add-stub-for-NvAPI_DISP_GetGDIPrimaryDisplayId.patch
|
|
patch_apply nvapi-Stub_DLL/0008-nvapi-Add-stub-for-EnumNvidiaDisplayHandle.patch
|
|
patch_apply nvapi-Stub_DLL/0009-nvapi-Add-stub-for-NvAPI_SYS_GetDriverAndBranchVersi.patch
|
|
patch_apply nvapi-Stub_DLL/0010-nvapi-Add-stub-for-NvAPI_Unload.patch
|
|
patch_apply nvapi-Stub_DLL/0011-nvapi-Add-stub-for-NvAPI_D3D_GetCurrentSLIState.patch
|
|
patch_apply nvapi-Stub_DLL/0012-nvapi-tests-Use-structure-to-list-imports.patch
|
|
patch_apply nvapi-Stub_DLL/0013-nvapi-Add-stub-for-NvAPI_GetLogicalGPUFromDisplay.patch
|
|
patch_apply nvapi-Stub_DLL/0014-nvapi-Add-stub-for-NvAPI_D3D_GetObjectHandleForResou.patch
|
|
patch_apply nvapi-Stub_DLL/0015-nvapi-Add-stub-for-NvAPI_D3D9_RegisterResource.patch
|
|
patch_apply nvapi-Stub_DLL/0016-nvapi-Improve-NvAPI_D3D_GetCurrentSLIState.patch
|
|
patch_apply nvapi-Stub_DLL/0017-nvapi-Implement-NvAPI_GPU_Get-Physical-Virtual-Frame.patch
|
|
patch_apply nvapi-Stub_DLL/0018-nvapi-Add-stub-for-NvAPI_GPU_GetGpuCoreCount.patch
|
|
patch_apply nvapi-Stub_DLL/0019-nvapi-Implement-NvAPI_D3D11_SetDepthBoundsTest.patch
|
|
patch_apply nvapi-Stub_DLL/0020-nvapi-Implement-NvAPI_D3D11_CreateDevice-and-NvAPI_D.patch
|
|
(
|
|
printf '%s\n' '+ { "Michael Müller", "nvapi: First implementation.", 1 },';
|
|
printf '%s\n' '+ { "Michael Müller", "nvapi: Add stubs for NvAPI_EnumLogicalGPUs and undocumented equivalent.", 1 },';
|
|
printf '%s\n' '+ { "Michael Müller", "nvapi: Add NvAPI_GetPhysicalGPUsFromLogicalGPU.", 1 },';
|
|
printf '%s\n' '+ { "Michael Müller", "nvapi: Add stub for NvAPI_EnumPhysicalGPUs.", 1 },';
|
|
printf '%s\n' '+ { "Michael Müller", "nvapi: Add stubs for NvAPI_GPU_GetFullName.", 1 },';
|
|
printf '%s\n' '+ { "Michael Müller", "nvapi: Explicity return NULL for 0x33c7358c and 0x593e8644.", 1 },';
|
|
printf '%s\n' '+ { "Michael Müller", "nvapi: Add stub for NvAPI_DISP_GetGDIPrimaryDisplayId.", 1 },';
|
|
printf '%s\n' '+ { "Michael Müller", "nvapi: Add stub for EnumNvidiaDisplayHandle.", 1 },';
|
|
printf '%s\n' '+ { "Michael Müller", "nvapi: Add stub for NvAPI_SYS_GetDriverAndBranchVersion.", 1 },';
|
|
printf '%s\n' '+ { "Michael Müller", "nvapi: Add stub for NvAPI_Unload.", 1 },';
|
|
printf '%s\n' '+ { "Michael Müller", "nvapi: Add stub for NvAPI_D3D_GetCurrentSLIState.", 1 },';
|
|
printf '%s\n' '+ { "Michael Müller", "nvapi/tests: Use structure to list imports.", 1 },';
|
|
printf '%s\n' '+ { "Michael Müller", "nvapi: Add stub for NvAPI_GetLogicalGPUFromDisplay.", 1 },';
|
|
printf '%s\n' '+ { "Michael Müller", "nvapi: Add stub for NvAPI_D3D_GetObjectHandleForResource.", 1 },';
|
|
printf '%s\n' '+ { "Michael Müller", "nvapi: Add stub for NvAPI_D3D9_RegisterResource.", 1 },';
|
|
printf '%s\n' '+ { "Michael Müller", "nvapi: Improve NvAPI_D3D_GetCurrentSLIState.", 1 },';
|
|
printf '%s\n' '+ { "Michael Müller", "nvapi: Implement NvAPI_GPU_Get{Physical,Virtual}FrameBufferSize.", 1 },';
|
|
printf '%s\n' '+ { "Michael Müller", "nvapi: Add stub for NvAPI_GPU_GetGpuCoreCount.", 1 },';
|
|
printf '%s\n' '+ { "Michael Müller", "nvapi: Implement NvAPI_D3D11_SetDepthBoundsTest.", 2 },';
|
|
printf '%s\n' '+ { "Michael Müller", "nvapi: Implement NvAPI_D3D11_CreateDevice and NvAPI_D3D11_CreateDeviceAndSwapChain.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset d3d11-Deferred_Context
|
|
# |
|
|
# | This patchset has the following (direct or indirect) dependencies:
|
|
# | * nvcuda-CUDA_Support, nvapi-Stub_DLL
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#42191] Add semi-stub for D3D11 deferred context implementation
|
|
# | * [#43743] No 3D graphics in Wolcen: Lords of Mayhem
|
|
# | * [#44089] Correcly align the mapinfo buffer.
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/d3d11/device.c, dlls/wined3d/buffer.c, dlls/wined3d/resource.c, dlls/wined3d/texture.c, dlls/wined3d/wined3d.spec,
|
|
# | dlls/wined3d/wined3d_private.h, include/wine/wined3d.h
|
|
# |
|
|
if test "$enable_d3d11_Deferred_Context" -eq 1; then
|
|
patch_apply d3d11-Deferred_Context/0001-d3d11-Add-stub-deferred-rendering-context.patch
|
|
patch_apply d3d11-Deferred_Context/0002-wined3d-Add-wined3d_resource_map_info-function.patch
|
|
patch_apply d3d11-Deferred_Context/0003-d3d11-Initial-implementation-for-deferred-contexts.patch
|
|
patch_apply d3d11-Deferred_Context/0004-d3d11-Implement-CSSetShader-for-deferred-contexts.patch
|
|
patch_apply d3d11-Deferred_Context/0005-d3d11-Implement-CSSetConstantBuffers-for-deferred-co.patch
|
|
patch_apply d3d11-Deferred_Context/0006-d3d11-Implement-Dispatch-for-deferred-contexts.patch
|
|
patch_apply d3d11-Deferred_Context/0007-d3d11-Implement-CSSetUnorderedAccessViews-for-deferr.patch
|
|
patch_apply d3d11-Deferred_Context/0008-d3d11-Implement-ClearRenderTargetView-for-deferred-c.patch
|
|
patch_apply d3d11-Deferred_Context/0009-d3d11-Implement-Draw-for-deferred-contexts.patch
|
|
patch_apply d3d11-Deferred_Context/0010-d3d11-Implement-ClearDepthStencilView-for-deferred-c.patch
|
|
patch_apply d3d11-Deferred_Context/0011-d3d11-Implement-GSSetShader-for-deferred-contexts.patch
|
|
patch_apply d3d11-Deferred_Context/0012-d3d11-Implement-GSSetConstantBuffers-for-deferred-co.patch
|
|
patch_apply d3d11-Deferred_Context/0013-d3d11-Implement-CSSetShaderResources-for-deferred-co.patch
|
|
patch_apply d3d11-Deferred_Context/0014-d3d11-Implement-GSSetShaderResources-for-deferred-co.patch
|
|
patch_apply d3d11-Deferred_Context/0015-d3d11-Implement-HSSetShaderResources-for-deferred-co.patch
|
|
patch_apply d3d11-Deferred_Context/0016-d3d11-Implement-VSSetShaderResources-for-deferred-co.patch
|
|
patch_apply d3d11-Deferred_Context/0017-d3d11-Implement-CSSetSamplers-for-deferred-contexts.patch
|
|
patch_apply d3d11-Deferred_Context/0018-d3d11-Implement-GSSetSamplers-for-deferred-contexts.patch
|
|
patch_apply d3d11-Deferred_Context/0019-d3d11-Implement-HSSetSamplers-for-deferred-contexts.patch
|
|
patch_apply d3d11-Deferred_Context/0020-d3d11-Implement-VSSetSamplers-for-deferred-contexts.patch
|
|
patch_apply d3d11-Deferred_Context/0021-d3d11-Implement-Begin-and-End-for-deferred-contexts.patch
|
|
patch_apply d3d11-Deferred_Context/0022-d3d11-Implement-CopyResource-for-deferred-contexts.patch
|
|
patch_apply d3d11-Deferred_Context/0023-d3d11-Implement-SetResourceMinLOD-for-deferred-conte.patch
|
|
patch_apply d3d11-Deferred_Context/0024-d3d11-Implement-CopySubresourceRegion-for-deferred-c.patch
|
|
patch_apply d3d11-Deferred_Context/0025-d3d11-Implement-ResolveSubresource-for-deferred-cont.patch
|
|
patch_apply d3d11-Deferred_Context/0026-d3d11-Implement-CopyStructureCount-for-deferred-cont.patch
|
|
patch_apply d3d11-Deferred_Context/0027-d3d11-Implement-DrawAuto-for-deferred-contexts.patch
|
|
patch_apply d3d11-Deferred_Context/0028-d3d11-Implement-DrawInstanced-for-deferred-contexts.patch
|
|
patch_apply d3d11-Deferred_Context/0029-d3d11-Implement-DrawInstancedIndirect-for-deferred-c.patch
|
|
patch_apply d3d11-Deferred_Context/0030-d3d11-Implement-DrawIndexedInstancedIndirect-for-def.patch
|
|
patch_apply d3d11-Deferred_Context/0031-d3d11-Implement-ClearUnorderedAccessViewUint-for-def.patch
|
|
patch_apply d3d11-Deferred_Context/0032-d3d11-Implement-ClearUnorderedAccessViewFloat-for-de.patch
|
|
patch_apply d3d11-Deferred_Context/0033-d3d11-Implement-RsSetScissorRects-for-deferred-conte.patch
|
|
patch_apply d3d11-Deferred_Context/0034-d3d11-Implement-OMSetRenderTargetsAndUnorderedAccess.patch
|
|
patch_apply d3d11-Deferred_Context/0035-d3d11-Implement-SOSetTargets-for-deferred-contexts.patch
|
|
patch_apply d3d11-Deferred_Context/0036-d3d11-Implement-GenerateMips-for-deferred-contexts.patch
|
|
patch_apply d3d11-Deferred_Context/0037-d3d11-Implement-DispatchIndirect-for-deferred-contex.patch
|
|
patch_apply d3d11-Deferred_Context/0038-d3d11-Implement-SetPredication-for-deferred-contexts.patch
|
|
patch_apply d3d11-Deferred_Context/0039-d3d11-Implement-d3d11_deferred_context_UpdateSubreso.patch
|
|
patch_apply d3d11-Deferred_Context/0040-d3d11-Implement-restoring-of-state-after-executing-a.patch
|
|
patch_apply d3d11-Deferred_Context/0041-d3d11-Allow-NULL-pointer-for-initial-count-in-d3d11_.patch
|
|
patch_apply d3d11-Deferred_Context/0042-d3d11-Correctly-align-map-info-buffer.patch
|
|
(
|
|
printf '%s\n' '+ { "Kimmo Myllyvirta", "d3d11: Add stub deferred rendering context.", 1 },';
|
|
printf '%s\n' '+ { "Michael Müller", "wined3d: Add wined3d_resource_map_info function.", 1 },';
|
|
printf '%s\n' '+ { "Michael Müller", "d3d11: Initial implementation for deferred contexts.", 1 },';
|
|
printf '%s\n' '+ { "Michael Müller", "d3d11: Implement CSSetShader for deferred contexts.", 1 },';
|
|
printf '%s\n' '+ { "Michael Müller", "d3d11: Implement CSSetConstantBuffers for deferred contexts.", 1 },';
|
|
printf '%s\n' '+ { "Michael Müller", "d3d11: Implement Dispatch for deferred contexts.", 1 },';
|
|
printf '%s\n' '+ { "Michael Müller", "d3d11: Implement CSSetUnorderedAccessViews for deferred contexts.", 1 },';
|
|
printf '%s\n' '+ { "Michael Müller", "d3d11: Implement ClearRenderTargetView for deferred contexts.", 1 },';
|
|
printf '%s\n' '+ { "Michael Müller", "d3d11: Implement Draw for deferred contexts.", 1 },';
|
|
printf '%s\n' '+ { "Michael Müller", "d3d11: Implement ClearDepthStencilView for deferred contexts.", 1 },';
|
|
printf '%s\n' '+ { "Kimmo Myllyvirta", "d3d11: Implement GSSetShader for deferred contexts.", 1 },';
|
|
printf '%s\n' '+ { "Kimmo Myllyvirta", "d3d11: Implement GSSetConstantBuffers for deferred contexts.", 1 },';
|
|
printf '%s\n' '+ { "Kimmo Myllyvirta", "d3d11: Implement CSSetShaderResources for deferred contexts.", 1 },';
|
|
printf '%s\n' '+ { "Kimmo Myllyvirta", "d3d11: Implement GSSetShaderResources for deferred contexts.", 1 },';
|
|
printf '%s\n' '+ { "Kimmo Myllyvirta", "d3d11: Implement HSSetShaderResources for deferred contexts.", 1 },';
|
|
printf '%s\n' '+ { "Kimmo Myllyvirta", "d3d11: Implement VSSetShaderResources for deferred contexts.", 1 },';
|
|
printf '%s\n' '+ { "Kimmo Myllyvirta", "d3d11: Implement CSSetSamplers for deferred contexts.", 1 },';
|
|
printf '%s\n' '+ { "Kimmo Myllyvirta", "d3d11: Implement GSSetSamplers for deferred contexts.", 1 },';
|
|
printf '%s\n' '+ { "Kimmo Myllyvirta", "d3d11: Implement HSSetSamplers for deferred contexts.", 1 },';
|
|
printf '%s\n' '+ { "Kimmo Myllyvirta", "d3d11: Implement VSSetSamplers for deferred contexts.", 1 },';
|
|
printf '%s\n' '+ { "Kimmo Myllyvirta", "d3d11: Implement Begin and End for deferred contexts.", 1 },';
|
|
printf '%s\n' '+ { "Johannes Specht", "d3d11: Implement CopyResource for deferred contexts.", 1 },';
|
|
printf '%s\n' '+ { "Johannes Specht", "d3d11: Implement SetResourceMinLOD for deferred contexts.", 1 },';
|
|
printf '%s\n' '+ { "Johannes Specht", "d3d11: Implement CopySubresourceRegion for deferred contexts.", 1 },';
|
|
printf '%s\n' '+ { "Johannes Specht", "d3d11: Implement ResolveSubresource for deferred contexts.", 1 },';
|
|
printf '%s\n' '+ { "Johannes Specht", "d3d11: Implement CopyStructureCount for deferred contexts.", 1 },';
|
|
printf '%s\n' '+ { "Johannes Specht", "d3d11: Implement DrawAuto for deferred contexts.", 1 },';
|
|
printf '%s\n' '+ { "Johannes Specht", "d3d11: Implement DrawInstanced for deferred contexts.", 1 },';
|
|
printf '%s\n' '+ { "Johannes Specht", "d3d11: Implement DrawInstancedIndirect for deferred contexts.", 1 },';
|
|
printf '%s\n' '+ { "Johannes Specht", "d3d11: Implement DrawIndexedInstancedIndirect for deferred contexts.", 1 },';
|
|
printf '%s\n' '+ { "Johannes Specht", "d3d11: Implement ClearUnorderedAccessViewUint for deferred contexts.", 1 },';
|
|
printf '%s\n' '+ { "Johannes Specht", "d3d11: Implement ClearUnorderedAccessViewFloat for deferred contexts.", 1 },';
|
|
printf '%s\n' '+ { "Johannes Specht", "d3d11: Implement RsSetScissorRects for deferred contexts.", 1 },';
|
|
printf '%s\n' '+ { "Johannes Specht", "d3d11: Implement OMSetRenderTargetsAndUnorderedAccessViews for deferred contexts.", 1 },';
|
|
printf '%s\n' '+ { "Johannes Specht", "d3d11: Implement SOSetTargets for deferred contexts.", 1 },';
|
|
printf '%s\n' '+ { "Johannes Specht", "d3d11: Implement GenerateMips for deferred contexts.", 1 },';
|
|
printf '%s\n' '+ { "Johannes Specht", "d3d11: Implement DispatchIndirect for deferred contexts.", 1 },';
|
|
printf '%s\n' '+ { "Johannes Specht", "d3d11: Implement SetPredication for deferred contexts.", 1 },';
|
|
printf '%s\n' '+ { "Michael Müller", "d3d11: Implement d3d11_deferred_context_UpdateSubresource.", 1 },';
|
|
printf '%s\n' '+ { "Michael Müller", "d3d11: Implement restoring of state after executing a command list.", 1 },';
|
|
printf '%s\n' '+ { "Steve Melenchuk", "d3d11: Allow NULL pointer for initial count in d3d11_deferred_context_CSSetUnorderedAccessViews.", 1 },';
|
|
printf '%s\n' '+ { "Kimmo Myllyvirta", "d3d11: Correctly align map info buffer.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset d3d11-Depth_Bias
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#43848] Implement support for depth bias clamping
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/d3d10core/tests/d3d10core.c, dlls/d3d11/device.c, dlls/wined3d/adapter_gl.c, dlls/wined3d/cs.c,
|
|
# | dlls/wined3d/state.c, dlls/wined3d/stateblock.c, dlls/wined3d/utils.c, dlls/wined3d/wined3d_gl.h, include/wine/wined3d.h
|
|
# |
|
|
if test "$enable_d3d11_Depth_Bias" -eq 1; then
|
|
patch_apply d3d11-Depth_Bias/0006-wined3d-Add-support-for-depth-bias-clamping.patch
|
|
patch_apply d3d11-Depth_Bias/0007-d3d10core-tests-Add-test-for-depth-bias-clamp.patch
|
|
(
|
|
printf '%s\n' '+ { "Michael Müller", "wined3d: Add support for depth bias clamping.", 1 },';
|
|
printf '%s\n' '+ { "Zebediah Figura", "d3d10core/tests: Add test for depth bias clamp.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset d3d8-ValidateShader
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#40036] Improve stubs for Validate{Vertex,Pixel}Shader
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/d3d8/d3d8_main.c, dlls/d3d8/tests/device.c
|
|
# |
|
|
if test "$enable_d3d8_ValidateShader" -eq 1; then
|
|
patch_apply d3d8-ValidateShader/0001-d3d8-Improve-ValidateVertexShader-stub.patch
|
|
patch_apply d3d8-ValidateShader/0002-d3d8-Improve-ValidatePixelShader-stub.patch
|
|
(
|
|
printf '%s\n' '+ { "Sebastian Lackner", "d3d8: Improve ValidateVertexShader stub.", 1 },';
|
|
printf '%s\n' '+ { "Sebastian Lackner", "d3d8: Improve ValidatePixelShader stub.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset d3d9-DesktopWindow
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#18490] Allow to set pixel format for desktop window
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/d3d10_1/tests/d3d10_1.c, dlls/d3d11/tests/d3d11.c, dlls/d3d9/tests/device.c, dlls/winex11.drv/opengl.c
|
|
# |
|
|
if test "$enable_d3d9_DesktopWindow" -eq 1; then
|
|
patch_apply d3d9-DesktopWindow/0001-winex11.drv-Allow-changing-the-opengl-pixel-format-o.patch
|
|
(
|
|
printf '%s\n' '+ { "Michael Müller", "winex11.drv: Allow changing the opengl pixel format on the desktop window.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset d3d9-Tests
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/d3d9/tests/device.c, dlls/d3d9/tests/visual.c
|
|
# |
|
|
if test "$enable_d3d9_Tests" -eq 1; then
|
|
patch_apply d3d9-Tests/0001-d3d9-tests-Avoid-test-failures-on-specific-Nvidia-graphic-.patch
|
|
patch_apply d3d9-Tests/0002-d3d9-tests-Avoid-crash-when-surface-and-texture-crea.patch
|
|
(
|
|
printf '%s\n' '+ { "Sebastian Lackner", "d3d9/tests: Avoid test failures on specific Nvidia graphic cards.", 1 },';
|
|
printf '%s\n' '+ { "Christian Costa", "d3d9/tests: Avoid crash when surface and texture creation fails.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset d3dx9_36-32bpp_Alpha_Channel
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/d3dx9_36/surface.c, dlls/d3dx9_36/tests/surface.c
|
|
# |
|
|
if test "$enable_d3dx9_36_32bpp_Alpha_Channel" -eq 1; then
|
|
patch_apply d3dx9_36-32bpp_Alpha_Channel/0001-d3dx9-Return-D3DFMT_A8R8G8B8-in-D3DXGetImageInfoFrom.patch
|
|
(
|
|
printf '%s\n' '+ { "Christian Costa", "d3dx9: Return D3DFMT_A8R8G8B8 in D3DXGetImageInfoFromFileInMemory for 32 bpp BMP with alpha.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset d3dx9_36-BumpLuminance
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/d3dx9_36/surface.c, dlls/d3dx9_36/util.c
|
|
# |
|
|
if test "$enable_d3dx9_36_BumpLuminance" -eq 1; then
|
|
patch_apply d3dx9_36-BumpLuminance/0001-d3dx9_36-Recognize-bump-luminance-X8L8V8U8-when-load.patch
|
|
patch_apply d3dx9_36-BumpLuminance/0002-d3dx9_36-Add-format-description-for-X8L8V8U8-for-for.patch
|
|
(
|
|
printf '%s\n' '+ { "Christian Costa", "d3dx9_36: Recognize bump luminance X8L8V8U8 when loading dds file.", 1 },';
|
|
printf '%s\n' '+ { "Christian Costa", "d3dx9_36: Add format description for X8L8V8U8 for format conversions.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset d3dx9_36-CloneEffect
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#44635] Improve stub for ID3DXEffectImpl_CloneEffect
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/d3dx9_36/effect.c
|
|
# |
|
|
if test "$enable_d3dx9_36_CloneEffect" -eq 1; then
|
|
patch_apply d3dx9_36-CloneEffect/0001-d3dx9_36-Improve-stub-for-ID3DXEffectImpl_CloneEffec.patch
|
|
(
|
|
printf '%s\n' '+ { "Sebastian Lackner", "d3dx9_36: Improve stub for ID3DXEffectImpl_CloneEffect.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset d3dx9_36-D3DXDisassembleShader
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/d3dx9_36/shader.c, dlls/d3dx9_36/tests/shader.c
|
|
# |
|
|
if test "$enable_d3dx9_36_D3DXDisassembleShader" -eq 1; then
|
|
patch_apply d3dx9_36-D3DXDisassembleShader/0004-d3dx9_36-Implement-D3DXDisassembleShader.patch
|
|
patch_apply d3dx9_36-D3DXDisassembleShader/0005-d3dx9_36-tests-Add-initial-tests-for-D3DXDisassemble.patch
|
|
patch_apply d3dx9_36-D3DXDisassembleShader/0006-d3dx9_36-tests-Add-additional-tests-for-special-case.patch
|
|
(
|
|
printf '%s\n' '+ { "Christian Costa", "d3dx9_36: Implement D3DXDisassembleShader.", 2 },';
|
|
printf '%s\n' '+ { "Sebastian Lackner", "d3dx9_36/tests: Add initial tests for D3DXDisassembleShader.", 1 },';
|
|
printf '%s\n' '+ { "Christian Costa", "d3dx9_36/tests: Add additional tests for special cases.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset d3dx9_36-D3DXOptimizeVertices
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/d3dx9_24/d3dx9_24.spec, dlls/d3dx9_25/d3dx9_25.spec, dlls/d3dx9_26/d3dx9_26.spec, dlls/d3dx9_27/d3dx9_27.spec,
|
|
# | dlls/d3dx9_28/d3dx9_28.spec, dlls/d3dx9_29/d3dx9_29.spec, dlls/d3dx9_30/d3dx9_30.spec, dlls/d3dx9_31/d3dx9_31.spec,
|
|
# | dlls/d3dx9_32/d3dx9_32.spec, dlls/d3dx9_33/d3dx9_33.spec, dlls/d3dx9_34/d3dx9_34.spec, dlls/d3dx9_35/d3dx9_35.spec,
|
|
# | dlls/d3dx9_36/d3dx9_36.spec, dlls/d3dx9_36/mesh.c, dlls/d3dx9_36/tests/mesh.c, dlls/d3dx9_37/d3dx9_37.spec,
|
|
# | dlls/d3dx9_38/d3dx9_38.spec, dlls/d3dx9_39/d3dx9_39.spec, dlls/d3dx9_40/d3dx9_40.spec, dlls/d3dx9_41/d3dx9_41.spec,
|
|
# | dlls/d3dx9_42/d3dx9_42.spec, dlls/d3dx9_43/d3dx9_43.spec
|
|
# |
|
|
if test "$enable_d3dx9_36_D3DXOptimizeVertices" -eq 1; then
|
|
patch_apply d3dx9_36-D3DXOptimizeVertices/0001-d3dx9_36-tests-Remove-useless-n-within-some-ok-messa.patch
|
|
patch_apply d3dx9_36-D3DXOptimizeVertices/0002-d3dx9_36-Add-semi-stub-for-D3DXOptimizeVertices.patch
|
|
(
|
|
printf '%s\n' '+ { "Christian Costa", "d3dx9_36/tests: Remove useless \\n within some ok messages.", 1 },';
|
|
printf '%s\n' '+ { "Christian Costa", "d3dx9_36: Add semi-stub for D3DXOptimizeVertices.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset d3dx9_36-D3DXStubs
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#41697] Add stub for D3DXComputeTangent
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/d3dx9_24/d3dx9_24.spec, dlls/d3dx9_25/d3dx9_25.spec, dlls/d3dx9_26/d3dx9_26.spec, dlls/d3dx9_27/d3dx9_27.spec,
|
|
# | dlls/d3dx9_28/d3dx9_28.spec, dlls/d3dx9_29/d3dx9_29.spec, dlls/d3dx9_30/d3dx9_30.spec, dlls/d3dx9_31/d3dx9_31.spec,
|
|
# | dlls/d3dx9_32/d3dx9_32.spec, dlls/d3dx9_33/d3dx9_33.spec, dlls/d3dx9_34/d3dx9_34.spec, dlls/d3dx9_35/d3dx9_35.spec,
|
|
# | dlls/d3dx9_36/d3dx9_36.spec, dlls/d3dx9_36/mesh.c, dlls/d3dx9_37/d3dx9_37.spec, dlls/d3dx9_38/d3dx9_38.spec,
|
|
# | dlls/d3dx9_39/d3dx9_39.spec, dlls/d3dx9_40/d3dx9_40.spec, dlls/d3dx9_41/d3dx9_41.spec, dlls/d3dx9_42/d3dx9_42.spec,
|
|
# | dlls/d3dx9_43/d3dx9_43.spec
|
|
# |
|
|
if test "$enable_d3dx9_36_D3DXStubs" -eq 1; then
|
|
patch_apply d3dx9_36-D3DXStubs/0003-d3dx9-Implement-D3DXComputeTangent.patch
|
|
(
|
|
printf '%s\n' '+ { "Alistair Leslie-Hughes", "d3dx9: Implement D3DXComputeTangent.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset d3dx9_36-DDS
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#26898] Support for DDS file format in D3DXSaveTextureToFileInMemory
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/d3dx9_36/d3dx9_private.h, dlls/d3dx9_36/surface.c, dlls/d3dx9_36/texture.c
|
|
# |
|
|
if test "$enable_d3dx9_36_DDS" -eq 1; then
|
|
patch_apply d3dx9_36-DDS/0001-d3dx9_36-Add-support-for-FOURCC-surface-to-save_dds_.patch
|
|
patch_apply d3dx9_36-DDS/0002-d3dx9_36-Improve-D3DXSaveTextureToFile-to-save-simpl.patch
|
|
(
|
|
printf '%s\n' '+ { "Christian Costa", "d3dx9_36: Add support for FOURCC surface to save_dds_surface_to_memory.", 1 },';
|
|
printf '%s\n' '+ { "Christian Costa", "d3dx9_36: Improve D3DXSaveTextureToFile to save simple texture to dds file.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset wined3d-WINED3DFMT_B8G8R8X8_UNORM
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#44888] Implement WINED3DFMT_B8G8R8X8_UNORM to WINED3DFMT_L8_UNORM conversion
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/wined3d/surface.c
|
|
# |
|
|
if test "$enable_wined3d_WINED3DFMT_B8G8R8X8_UNORM" -eq 1; then
|
|
patch_apply wined3d-WINED3DFMT_B8G8R8X8_UNORM/0001-wined3d-Implement-WINED3DFMT_B8G8R8X8_UNORM-to-WINED.patch
|
|
(
|
|
printf '%s\n' '+ { "Stanislav Zhukov", "wined3d: Implement WINED3DFMT_B8G8R8X8_UNORM to WINED3DFMT_L8_UNORM conversion.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset wined3d-DXTn
|
|
# |
|
|
# | This patchset has the following (direct or indirect) dependencies:
|
|
# | * wined3d-WINED3DFMT_B8G8R8X8_UNORM
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#25486] Lego Stunt Rally requires DXTn software de/encoding support
|
|
# | * [#29586] Tumblebugs 2 requires DXTn software encoding support
|
|
# | * [#17913] Port Royale doesn't display ocean correctly
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/wined3d/Makefile.in, dlls/wined3d/dxtn.c, dlls/wined3d/dxtn.h, dlls/wined3d/surface.c, dlls/wined3d/wined3d.spec,
|
|
# | include/wine/wined3d.h
|
|
# |
|
|
if test "$enable_wined3d_DXTn" -eq 1; then
|
|
patch_apply wined3d-DXTn/0001-wined3d-add-DXTn-support.patch
|
|
(
|
|
printf '%s\n' '+ { "Christian Costa", "wined3d: Add DXTn support.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset d3dx9_36-DXTn
|
|
# |
|
|
# | This patchset has the following (direct or indirect) dependencies:
|
|
# | * wined3d-WINED3DFMT_B8G8R8X8_UNORM, wined3d-DXTn
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#33768] Fix texture corruption in CSI: Fatal Conspiracy
|
|
# | * [#37391] Exception during start of fr-043 caused by missing DXTn support
|
|
# | * [#34692] Fix wrong colors in Wolfenstein (2009)
|
|
# | * [#24983] Fix crash in Space Rangers2 caused by missing DXTn support
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/d3dx9_24/Makefile.in, dlls/d3dx9_25/Makefile.in, dlls/d3dx9_26/Makefile.in, dlls/d3dx9_27/Makefile.in,
|
|
# | dlls/d3dx9_28/Makefile.in, dlls/d3dx9_29/Makefile.in, dlls/d3dx9_30/Makefile.in, dlls/d3dx9_31/Makefile.in,
|
|
# | dlls/d3dx9_32/Makefile.in, dlls/d3dx9_33/Makefile.in, dlls/d3dx9_34/Makefile.in, dlls/d3dx9_35/Makefile.in,
|
|
# | dlls/d3dx9_36/Makefile.in, dlls/d3dx9_36/surface.c, dlls/d3dx9_36/tests/surface.c, dlls/d3dx9_37/Makefile.in,
|
|
# | dlls/d3dx9_38/Makefile.in, dlls/d3dx9_39/Makefile.in, dlls/d3dx9_40/Makefile.in, dlls/d3dx9_41/Makefile.in,
|
|
# | dlls/d3dx9_42/Makefile.in, dlls/d3dx9_43/Makefile.in
|
|
# |
|
|
if test "$enable_d3dx9_36_DXTn" -eq 1; then
|
|
patch_apply d3dx9_36-DXTn/0001-d3dx9_36-Add-dxtn-support.patch
|
|
(
|
|
printf '%s\n' '+ { "Christian Costa", "d3dx9_36: Add DXTn support.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset d3dx9_36-DrawText
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#24754] Support for ID3DXFont::DrawTextA/W
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/d3dx9_36/font.c, dlls/d3dx9_36/tests/core.c
|
|
# |
|
|
if test "$enable_d3dx9_36_DrawText" -eq 1; then
|
|
patch_apply d3dx9_36-DrawText/0001-d3dx9_36-Implement-ID3DXFontImpl_DrawText.patch
|
|
patch_apply d3dx9_36-DrawText/0002-d3dx9_36-Fix-horizontal-centering-in-ID3DXFont_DrawT.patch
|
|
patch_apply d3dx9_36-DrawText/0003-d3dx9_36-Support-NULL-terminated-strings-in-ID3DXFon.patch
|
|
patch_apply d3dx9_36-DrawText/0004-d3dx9_36-ID3DXFont_DrawText-calc_rect-can-be-null.patch
|
|
(
|
|
printf '%s\n' '+ { "Christian Costa", "d3dx9_36: Implement ID3DXFontImpl_DrawText.", 1 },';
|
|
printf '%s\n' '+ { "Christian Costa", "d3dx9_36: Fix horizontal centering in ID3DXFont_DrawText.", 1 },';
|
|
printf '%s\n' '+ { "Alistair Leslie-Hughes", "d3dx9_36: Support NULL terminated strings in ID3DXFont_DrawText.", 1 },';
|
|
printf '%s\n' '+ { "Alistair Leslie-Hughes", "d3dx9_36: ID3DXFont_DrawText calc_rect can be null.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset d3dx9_36-Dummy_Skininfo
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#33904] Return dummy ID3DXSkinInfo interface when skinning info not present
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/d3dx9_36/d3dx9_private.h, dlls/d3dx9_36/mesh.c, dlls/d3dx9_36/skin.c, dlls/d3dx9_36/tests/mesh.c
|
|
# |
|
|
if test "$enable_d3dx9_36_Dummy_Skininfo" -eq 1; then
|
|
patch_apply d3dx9_36-Dummy_Skininfo/0001-d3dx9_36-Return-dummy-skininfo-interface-in-D3DXLoad.patch
|
|
patch_apply d3dx9_36-Dummy_Skininfo/0002-d3dx9_36-tests-Add-initial-tests-for-dummy-skininfo-.patch
|
|
(
|
|
printf '%s\n' '+ { "Michael Müller", "d3dx9_36: Return dummy skininfo interface in D3DXLoadSkinMeshFromXof when skin information is unavailable.", 1 },';
|
|
printf '%s\n' '+ { "Michael Müller", "d3dx9_36/tests: Add initial tests for dummy skininfo interface.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset d3dx9_36-Filter_Warnings
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#33770] D3DCompileShader should filter specific warning messages
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/d3dx9_36/shader.c
|
|
# |
|
|
if test "$enable_d3dx9_36_Filter_Warnings" -eq 1; then
|
|
patch_apply d3dx9_36-Filter_Warnings/0001-d3dx9_36-Filter-out-D3DCompile-warning-messages-that.patch
|
|
(
|
|
printf '%s\n' '+ { "Christian Costa", "d3dx9_36: Filter out D3DCompile warning messages that are not present with D3DCompileShader.", 4 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset d3dx9_36-Optimize_Inplace
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/d3dx9_36/mesh.c
|
|
# |
|
|
if test "$enable_d3dx9_36_Optimize_Inplace" -eq 1; then
|
|
patch_apply d3dx9_36-Optimize_Inplace/0001-d3dx9_36-No-need-to-fail-if-we-don-t-support-vertice.patch
|
|
(
|
|
printf '%s\n' '+ { "Christian Costa", "d3dx9_36: No need to fail if we don'\''t support vertices reordering in D3DXMESHOPT_ATTRSORT.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset d3dx9_36-Texture_Align
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/d3dx9_36/tests/texture.c, dlls/d3dx9_36/texture.c
|
|
# |
|
|
if test "$enable_d3dx9_36_Texture_Align" -eq 1; then
|
|
patch_apply d3dx9_36-Texture_Align/0001-d3dx9_36-Align-texture-dimensions-to-block-size-for-.patch
|
|
(
|
|
printf '%s\n' '+ { "Christian Costa", "d3dx9_36: Align texture dimensions to block size for compressed textures in D3DXCheckTextureRequirements.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset d3dx9_36-UpdateSkinnedMesh
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#32572] Support for ID3DXSkinInfoImpl_UpdateSkinnedMesh
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/d3dx9_36/skin.c, dlls/d3dx9_36/tests/mesh.c
|
|
# |
|
|
if test "$enable_d3dx9_36_UpdateSkinnedMesh" -eq 1; then
|
|
patch_apply d3dx9_36-UpdateSkinnedMesh/0001-d3dx9_36-Implement-ID3DXSkinInfoImpl_UpdateSkinnedMe.patch
|
|
(
|
|
printf '%s\n' '+ { "Christian Costa", "d3dx9_36: Implement ID3DXSkinInfoImpl_UpdateSkinnedMesh.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset dbghelp-Debug_Symbols
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/dbghelp/Makefile.in, dlls/dbghelp/elf_module.c
|
|
# |
|
|
if test "$enable_dbghelp_Debug_Symbols" -eq 1; then
|
|
patch_apply dbghelp-Debug_Symbols/0001-dbghelp-Always-check-for-debug-symbols-in-BINDIR.patch
|
|
(
|
|
printf '%s\n' '+ { "Sebastian Lackner", "dbghelp: Always check for debug symbols in BINDIR.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset ddraw-D3DFINDDEVICERESULT
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/ddraw/ddraw.c, dlls/ddraw/tests/d3d.c, include/d3dcaps.h
|
|
# |
|
|
if test "$enable_ddraw_D3DFINDDEVICERESULT" -eq 1; then
|
|
patch_apply ddraw-D3DFINDDEVICERESULT/0001-ddraw-Accept-d3d1-and-d3d2-versions-of-D3DFINDDEVICE.patch
|
|
(
|
|
printf '%s\n' '+ { "Michael Müller", "ddraw: Accept d3d1 and d3d2 versions of D3DFINDDEVICERESULT in IDirect3D_FindDevice.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset ddraw-Device_Caps
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#27002] Properly initialize caps->dwZBufferBitDepths in ddraw7_GetCaps
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/ddraw/ddraw.c, dlls/ddraw/tests/ddraw1.c, dlls/ddraw/tests/ddraw2.c, dlls/ddraw/tests/ddraw4.c,
|
|
# | dlls/ddraw/tests/ddraw7.c
|
|
# |
|
|
if test "$enable_ddraw_Device_Caps" -eq 1; then
|
|
patch_apply ddraw-Device_Caps/0001-ddraw-Don-t-set-HWTRANSFORMANDLIGHT-flag-on-d3d7-RGB.patch
|
|
patch_apply ddraw-Device_Caps/0002-ddraw-Set-dwZBufferBitDepth-in-ddraw7_GetCaps.patch
|
|
patch_apply ddraw-Device_Caps/0003-ddraw-Set-ddsOldCaps-correctly-in-ddraw7_GetCaps.patch
|
|
(
|
|
printf '%s\n' '+ { "Michael Müller", "ddraw: Don'\''t set HWTRANSFORMANDLIGHT flag on d3d7 RGB device.", 1 },';
|
|
printf '%s\n' '+ { "Michael Müller", "ddraw: Set dwZBufferBitDepth in ddraw7_GetCaps.", 1 },';
|
|
printf '%s\n' '+ { "Michael Müller", "ddraw: Set ddsOldCaps correctly in ddraw7_GetCaps.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset ddraw-EnumSurfaces
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#17233] Implement DDENUMSURFACES_CANBECREATED in IDirectDraw7::EnumSurfaces
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/ddraw/ddraw.c, dlls/ddraw/tests/d3d.c
|
|
# |
|
|
if test "$enable_ddraw_EnumSurfaces" -eq 1; then
|
|
patch_apply ddraw-EnumSurfaces/0001-ddraw-tests-Add-more-tests-for-IDirectDraw7-EnumSurf.patch
|
|
patch_apply ddraw-EnumSurfaces/0003-ddraw-Implement-DDENUMSURFACES_CANBECREATED-flag-in-.patch
|
|
(
|
|
printf '%s\n' '+ { "Michael Müller", "ddraw/tests: Add more tests for IDirectDraw7::EnumSurfaces.", 1 },';
|
|
printf '%s\n' '+ { "Michael Müller", "ddraw: Implement DDENUMSURFACES_CANBECREATED flag in ddraw7_EnumSurfaces.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset ddraw-Fix_Typos
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/ddraw/tests/dsurface.c
|
|
# |
|
|
if test "$enable_ddraw_Fix_Typos" -eq 1; then
|
|
patch_apply ddraw-Fix_Typos/0001-ddraw-tests-Fix-function-name-in-multiple-ok-message.patch
|
|
(
|
|
printf '%s\n' '+ { "Sebastian Lackner", "ddraw/tests: Fix function name in multiple ok() messages.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset ddraw-FlipToGDISurface
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#30062] Implement ddraw7_FlipToGDISurface.
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/ddraw/ddraw.c, dlls/ddraw/ddraw_private.h, dlls/ddraw/surface.c
|
|
# |
|
|
if test "$enable_ddraw_FlipToGDISurface" -eq 1; then
|
|
patch_apply ddraw-FlipToGDISurface/0001-ddraw-Implement-ddraw7_FlipToGDISurface.patch
|
|
(
|
|
printf '%s\n' '+ { "Henri Verbeet", "ddraw: Implement ddraw7_FlipToGDISurface.", 2 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset ddraw-IDirect3DTexture2_Load
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/ddraw/surface.c, dlls/ddraw/tests/d3d.c, dlls/ddraw/tests/ddraw2.c
|
|
# |
|
|
if test "$enable_ddraw_IDirect3DTexture2_Load" -eq 1; then
|
|
patch_apply ddraw-IDirect3DTexture2_Load/0001-ddraw-Allow-size-and-format-conversions-in-IDirect3D.patch
|
|
patch_apply ddraw-IDirect3DTexture2_Load/0002-ddraw-tests-Add-more-tests-for-IDirect3DTexture2-Loa.patch
|
|
(
|
|
printf '%s\n' '+ { "Michael Müller", "ddraw: Allow size and format conversions in IDirect3DTexture2::Load.", 1 },';
|
|
printf '%s\n' '+ { "Michael Müller", "ddraw/tests: Add more tests for IDirect3DTexture2::Load.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset ddraw-Prevent_viewport_crash
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#36763] Prevent division by zero in viewport_activate
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/ddraw/viewport.c
|
|
# |
|
|
if test "$enable_ddraw_Prevent_viewport_crash" -eq 1; then
|
|
patch_apply ddraw-Prevent_viewport_crash/0001-ddraw-Prevent-division-by-zero-in-viewport_acti.patch
|
|
(
|
|
printf '%s\n' '+ { "Józef Kucia", "ddraw: Prevent division by zero in viewport_activate.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset ddraw-Rendering_Targets
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#34906] Use video memory for rendering targets if possible
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/ddraw/ddraw.c, dlls/ddraw/ddraw_private.h, dlls/ddraw/device.c, dlls/ddraw/surface.c
|
|
# |
|
|
if test "$enable_ddraw_Rendering_Targets" -eq 1; then
|
|
patch_apply ddraw-Rendering_Targets/0001-ddraw-Create-rendering-targets-in-video-memory-if-po.patch
|
|
(
|
|
printf '%s\n' '+ { "Michael Müller", "ddraw: Create rendering targets in video memory if possible.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset ddraw-Silence_FIXMEs
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/ddraw/executebuffer.c
|
|
# |
|
|
if test "$enable_ddraw_Silence_FIXMEs" -eq 1; then
|
|
patch_apply ddraw-Silence_FIXMEs/0001-ddraw-Silence-noisy-FIXME-about-unimplemented-D3DPRO.patch
|
|
(
|
|
printf '%s\n' '+ { "Christian Costa", "ddraw: Silence noisy FIXME about unimplemented D3DPROCESSVERTICES_UPDATEEXTENTS.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset ddraw-Write_Vtable
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#39534] Make ddraw1 and ddraw_surface1 vtable as writable
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/ddraw/ddraw.c, dlls/ddraw/surface.c
|
|
# |
|
|
if test "$enable_ddraw_Write_Vtable" -eq 1; then
|
|
patch_apply ddraw-Write_Vtable/0001-ddraw-Remove-const-from-ddraw1_vtbl-and-ddraw_surfac.patch
|
|
(
|
|
printf '%s\n' '+ { "Michael Müller", "ddraw: Remove const from ddraw1_vtbl and ddraw_surface1_vtbl.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset dinput-Deadlock
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#43356] Avoid possible deadlock in dinput when CS are acquired in different order
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/dinput/device.c, dlls/dinput/dinput_main.c, dlls/dinput/dinput_private.h
|
|
# |
|
|
if test "$enable_dinput_Deadlock" -eq 1; then
|
|
patch_apply dinput-Deadlock/0001-dinput-Avoid-possible-deadlock-when-CS-are-acquired-.patch
|
|
(
|
|
printf '%s\n' '+ { "Sebastian Lackner", "dinput: Avoid possible deadlock when CS are acquired in different order.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset dinput-Initialize
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#21403] Do not wait for hook thread startup in IDirectInput8::Initialize
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/dinput/dinput_main.c
|
|
# |
|
|
if test "$enable_dinput_Initialize" -eq 1; then
|
|
patch_apply dinput-Initialize/0001-dinput-Do-not-wait-for-hook-thread-startup-in-IDirec.patch
|
|
(
|
|
printf '%s\n' '+ { "Sebastian Lackner", "dinput: Do not wait for hook thread startup in IDirectInput8::Initialize.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset dsound-Fast_Mixer
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#30639] Audio stuttering and performance drops in multiple applications
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/dsound/dsound_main.c, dlls/dsound/dsound_private.h, dlls/dsound/mixer.c
|
|
# |
|
|
if test "$enable_dsound_Fast_Mixer" -eq 1; then
|
|
patch_apply dsound-Fast_Mixer/0001-dsound-Add-a-linear-resampler-for-use-with-a-large-n.patch
|
|
(
|
|
printf '%s\n' '+ { "Alexander E. Patrakov", "dsound: Add a linear resampler for use with a large number of mixing buffers.", 2 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset dsound-Revert_Cleanup
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/dsound/buffer.c, dlls/dsound/dsound.c, dlls/dsound/dsound_private.h
|
|
# |
|
|
if test "$enable_dsound_Revert_Cleanup" -eq 1; then
|
|
patch_apply dsound-Revert_Cleanup/0001-Revert-dsound-Use-a-better-name-for-IDirectSoundBuff.patch
|
|
patch_apply dsound-Revert_Cleanup/0002-Revert-dsound-Simplify-error-handling-when-creating-.patch
|
|
(
|
|
printf '%s\n' '+ { "Sebastian Lackner", "Revert \"dsound: Use a better name for IDirectSoundBufferImpl_Create().\".", 1 },';
|
|
printf '%s\n' '+ { "Sebastian Lackner", "Revert \"dsound: Simplify error handling when creating a sound buffer.\".", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset dsound-EAX
|
|
# |
|
|
# | This patchset has the following (direct or indirect) dependencies:
|
|
# | * dsound-Fast_Mixer, dsound-Revert_Cleanup
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/dsound/Makefile.in, dlls/dsound/buffer.c, dlls/dsound/dsound.c, dlls/dsound/dsound_eax.h,
|
|
# | dlls/dsound/dsound_main.c, dlls/dsound/dsound_private.h, dlls/dsound/eax.c, dlls/dsound/mixer.c
|
|
# |
|
|
if test "$enable_dsound_EAX" -eq 1; then
|
|
patch_apply dsound-EAX/0001-dsound-Apply-filters-before-sound-is-multiplied-to-s.patch
|
|
patch_apply dsound-EAX/0002-dsound-Add-EAX-v1-constants-and-structs.patch
|
|
patch_apply dsound-EAX/0003-dsound-Report-that-we-support-EAX-v1.patch
|
|
patch_apply dsound-EAX/0004-dsound-Add-EAX-propset-stubs.patch
|
|
patch_apply dsound-EAX/0005-dsound-Add-EAX-presets.patch
|
|
patch_apply dsound-EAX/0006-dsound-Support-getting-and-setting-EAX-properties.patch
|
|
patch_apply dsound-EAX/0007-dsound-Support-getting-and-setting-EAX-buffer-proper.patch
|
|
patch_apply dsound-EAX/0008-dsound-Add-EAX-init-and-free-stubs.patch
|
|
patch_apply dsound-EAX/0009-dsound-Feed-data-through-EAX-function.patch
|
|
patch_apply dsound-EAX/0010-dsound-Allocate-EAX-delay-lines.patch
|
|
patch_apply dsound-EAX/0011-dsound-Add-EAX-VerbPass-stub.patch
|
|
patch_apply dsound-EAX/0012-dsound-Implement-EAX-lowpass-filter.patch
|
|
patch_apply dsound-EAX/0013-dsound-Add-delay-line-EAX-functions.patch
|
|
patch_apply dsound-EAX/0014-dsound-Implement-EAX-early-reflections.patch
|
|
patch_apply dsound-EAX/0015-dsound-Implement-EAX-decorrelator.patch
|
|
patch_apply dsound-EAX/0016-dsound-Implement-EAX-late-reverb.patch
|
|
patch_apply dsound-EAX/0017-dsound-Implement-EAX-late-all-pass-filter.patch
|
|
patch_apply dsound-EAX/0018-dsound-Various-improvements-to-EAX-support.patch
|
|
patch_apply dsound-EAX/0019-dsound-Allow-disabling-of-EAX-support-in-the-registr.patch
|
|
patch_apply dsound-EAX/0020-dsound-Add-stub-support-for-DSPROPSETID_EAX20_Listen.patch
|
|
patch_apply dsound-EAX/0021-dsound-Add-stub-support-for-DSPROPSETID_EAX20_Buffer.patch
|
|
(
|
|
printf '%s\n' '+ { "Sebastian Lackner", "dsound: Apply filters before sound is multiplied to speakers.", 1 },';
|
|
printf '%s\n' '+ { "Mark Harmstone", "dsound: Add EAX v1 constants and structs.", 1 },';
|
|
printf '%s\n' '+ { "Mark Harmstone", "dsound: Report that we support EAX.", 1 },';
|
|
printf '%s\n' '+ { "Mark Harmstone", "dsound: Add EAX propset stubs.", 1 },';
|
|
printf '%s\n' '+ { "Mark Harmstone", "dsound: Add EAX presets.", 1 },';
|
|
printf '%s\n' '+ { "Mark Harmstone", "dsound: Support getting and setting EAX properties.", 1 },';
|
|
printf '%s\n' '+ { "Mark Harmstone", "dsound: Support getting and setting EAX buffer properties.", 1 },';
|
|
printf '%s\n' '+ { "Mark Harmstone", "dsound: Add EAX init and free stubs.", 1 },';
|
|
printf '%s\n' '+ { "Mark Harmstone", "dsound: Feed data through EAX function.", 1 },';
|
|
printf '%s\n' '+ { "Mark Harmstone", "dsound: Allocate EAX delay lines.", 1 },';
|
|
printf '%s\n' '+ { "Mark Harmstone", "dsound: Add EAX VerbPass stub.", 1 },';
|
|
printf '%s\n' '+ { "Mark Harmstone", "dsound: Implement EAX lowpass filter.", 1 },';
|
|
printf '%s\n' '+ { "Mark Harmstone", "dsound: Add delay line EAX functions.", 1 },';
|
|
printf '%s\n' '+ { "Mark Harmstone", "dsound: Implement EAX early reflections.", 1 },';
|
|
printf '%s\n' '+ { "Mark Harmstone", "dsound: Implement EAX decorrelator.", 1 },';
|
|
printf '%s\n' '+ { "Mark Harmstone", "dsound: Implement EAX late reverb.", 1 },';
|
|
printf '%s\n' '+ { "Mark Harmstone", "dsound: Implement EAX late all-pass filter.", 1 },';
|
|
printf '%s\n' '+ { "Sebastian Lackner", "dsound: Various improvements to EAX support.", 1 },';
|
|
printf '%s\n' '+ { "Sebastian Lackner", "dsound: Allow disabling of EAX support in the registry.", 1 },';
|
|
printf '%s\n' '+ { "Erich E. Hoover", "dsound: Add stub support for DSPROPSETID_EAX20_ListenerProperties.", 1 },';
|
|
printf '%s\n' '+ { "Erich E. Hoover", "dsound: Add stub support for DSPROPSETID_EAX20_BufferProperties.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset dwrite-FontFallback
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#44052] - Support for font fallback.
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/dwrite/analyzer.c, dlls/dwrite/layout.c, dlls/dwrite/tests/layout.c
|
|
# |
|
|
if test "$enable_dwrite_FontFallback" -eq 1; then
|
|
patch_apply dwrite-FontFallback/0001-dwrite-Test-IDWriteTextFormat-with-nonexistent-font.patch
|
|
patch_apply dwrite-FontFallback/0002-dwrite-Test-GetMetrics-with-custom-fontcollection.patch
|
|
patch_apply dwrite-FontFallback/0003-dwrite-Skip-failing-font-metrics-test-for-Goha.patch
|
|
patch_apply dwrite-FontFallback/0004-dwrite-Use-font-fallback-when-mapping-characters.patch
|
|
patch_apply dwrite-FontFallback/0005-dwrite-Use-MapCharacters-for-non-visual-characters.patch
|
|
patch_apply dwrite-FontFallback/0006-dwrite-Use-MapCharacters-for-dummy-line-metrics.patch
|
|
(
|
|
printf '%s\n' '+ { "Lucian Poston", "dwrite: Test IDWriteTextFormat with nonexistent font.", 1 },';
|
|
printf '%s\n' '+ { "Lucian Poston", "dwrite: Test GetMetrics with custom fontcollection.", 1 },';
|
|
printf '%s\n' '+ { "Lucian Poston", "dwrite: Skip failing font metrics test for Goha.", 1 },';
|
|
printf '%s\n' '+ { "Lucian Poston", "dwrite: Use font fallback when mapping characters.", 1 },';
|
|
printf '%s\n' '+ { "Lucian Poston", "dwrite: Use MapCharacters for non-visual characters.", 1 },';
|
|
printf '%s\n' '+ { "Lucian Poston", "dwrite: Use MapCharacters for dummy line metrics.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset dxdiagn-Enumerate_DirectSound
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#32613] Implement enumeration of sound devices and basic properties to dxdiagn
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/dxdiagn/Makefile.in, dlls/dxdiagn/provider.c, dlls/dxdiagn/tests/container.c
|
|
# |
|
|
if test "$enable_dxdiagn_Enumerate_DirectSound" -eq 1; then
|
|
patch_apply dxdiagn-Enumerate_DirectSound/0001-dxdiagn-Enumerate-DirectSound-devices-and-add-some-b.patch
|
|
(
|
|
printf '%s\n' '+ { "Michael Müller", "dxdiagn: Enumerate DirectSound devices and add some basic properties.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset dxdiagn-GetChildContainer_Leaf_Nodes
|
|
# |
|
|
# | This patchset has the following (direct or indirect) dependencies:
|
|
# | * dxdiagn-Enumerate_DirectSound
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#38014] Implement special handling for calling GetChildContainer with an empty string
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/dxdiagn/container.c, dlls/dxdiagn/tests/container.c
|
|
# |
|
|
if test "$enable_dxdiagn_GetChildContainer_Leaf_Nodes" -eq 1; then
|
|
patch_apply dxdiagn-GetChildContainer_Leaf_Nodes/0001-dxdiagn-Calling-GetChildContainer-with-an-empty-stri.patch
|
|
(
|
|
printf '%s\n' '+ { "Michael Müller", "dxdiagn: Calling GetChildContainer with an empty string on a leaf container returns the object itself.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset dxgi-GammaRamp
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#43584] Implement DXGI GammaControl methods
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/dxgi/output.c, dlls/dxgi/tests/dxgi.c
|
|
# |
|
|
if test "$enable_dxgi_GammaRamp" -eq 1; then
|
|
patch_apply dxgi-GammaRamp/0001-dxgi-Implement-setting-and-querying-the-gamma-value-.patch
|
|
(
|
|
printf '%s\n' '+ { "Michael Müller", "dxgi: Implement setting and querying the gamma value of an output.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset dxgi-MakeWindowAssociation
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/dxgi/dxgi_private.h, dlls/dxgi/factory.c
|
|
# |
|
|
if test "$enable_dxgi_MakeWindowAssociation" -eq 1; then
|
|
patch_apply dxgi-MakeWindowAssociation/0001-dxgi-Improve-stubs-for-MakeWindowAssociation-and-Get.patch
|
|
(
|
|
printf '%s\n' '+ { "Michael Müller", "dxgi: Improve stubs for MakeWindowAssociation and GetWindowAssociation.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset dxva2-Video_Decoder
|
|
# |
|
|
# | Modified files:
|
|
# | * configure.ac, dlls/dxva2/Makefile.in, dlls/dxva2/backend.idl, dlls/dxva2/devicemanager.c, dlls/dxva2/dxva2_private.h,
|
|
# | dlls/dxva2/genericdecoder.c, dlls/dxva2/main.c, dlls/dxva2/softwareprocessor.c, dlls/dxva2/tests/Makefile.in,
|
|
# | dlls/dxva2/tests/dxva2.c, dlls/dxva2/vaapi-h264.c, dlls/dxva2/vaapi-mpeg2.c, dlls/dxva2/vaapi.c,
|
|
# | dlls/dxva2/videoservices.c, include/Makefile.in, include/dxva.h, include/dxva2api.idl
|
|
# |
|
|
if test "$enable_dxva2_Video_Decoder" -eq 1; then
|
|
patch_apply dxva2-Video_Decoder/0001-dxva2-Implement-semi-stub-for-Direct3DDeviceManager9.patch
|
|
patch_apply dxva2-Video_Decoder/0002-dxva2-Implement-stubbed-interfaces-for-IDirectXVideo.patch
|
|
patch_apply dxva2-Video_Decoder/0004-dxva2-Implement-stubbed-DirectX-Software-VideoProces.patch
|
|
patch_apply dxva2-Video_Decoder/0005-include-Add-dxva.h-header-file.patch
|
|
patch_apply dxva2-Video_Decoder/0006-dxva2-tests-Add-tests-for-dxva2-decoder.patch
|
|
patch_apply dxva2-Video_Decoder/0007-dxva2-Initial-implementation-of-MPEG2-decoder-using-.patch
|
|
patch_apply dxva2-Video_Decoder/0008-dxva2-Implement-h264-decoder.patch
|
|
patch_apply dxva2-Video_Decoder/0009-dxva2-Add-DRM-mode-for-vaapi.patch
|
|
patch_apply dxva2-Video_Decoder/0010-dxva2-Fill-h264-luma-and-chroma-weights-offsets-with.patch
|
|
patch_apply dxva2-Video_Decoder/0011-dxva2-Always-destroy-buffers-when-calling-vaRenderPi.patch
|
|
patch_apply dxva2-Video_Decoder/0012-dxva2-Only-declare-debug-channels-when-they-are-actu.patch
|
|
(
|
|
printf '%s\n' '+ { "Sebastian Lackner", "dxva2: Implement semi-stub for Direct3DDeviceManager9 interface.", 1 },';
|
|
printf '%s\n' '+ { "Michael Müller", "dxva2: Implement stubbed interfaces for IDirectXVideo{Acceleration,Decoder,Processor}Service.", 1 },';
|
|
printf '%s\n' '+ { "Michael Müller", "dxva2: Implement stubbed DirectX Software VideoProcessor interface.", 1 },';
|
|
printf '%s\n' '+ { "Michael Müller", "include: Add dxva.h header file.", 1 },';
|
|
printf '%s\n' '+ { "Michael Müller", "dxva2/tests: Add tests for dxva2 decoder.", 1 },';
|
|
printf '%s\n' '+ { "Michael Müller", "dxva2: Initial implementation of MPEG2 decoder using vaapi backend.", 1 },';
|
|
printf '%s\n' '+ { "Michael Müller", "dxva2: Implement h264 decoder.", 1 },';
|
|
printf '%s\n' '+ { "Michael Müller", "dxva2: Add DRM mode for vaapi.", 1 },';
|
|
printf '%s\n' '+ { "Michael Müller", "dxva2: Fill h264 luma and chroma weights / offsets with default values in case they are not specified.", 1 },';
|
|
printf '%s\n' '+ { "Michael Müller", "dxva2: Always destroy buffers when calling vaRenderPicture.", 1 },';
|
|
printf '%s\n' '+ { "Michael Müller", "dxva2: Only declare debug channels when they are actually used.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset explorer-Video_Registry_Key
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/advapi32/tests/registry.c, programs/explorer/desktop.c
|
|
# |
|
|
if test "$enable_explorer_Video_Registry_Key" -eq 1; then
|
|
patch_apply explorer-Video_Registry_Key/0001-explorer-Create-CurrentControlSet-Control-Video-regi.patch
|
|
(
|
|
printf '%s\n' '+ { "Michael Müller", "explorer: Create CurrentControlSet\\Control\\Video registry key as non-volatile.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset fonts-Missing_Fonts
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#32323] Implement an Arial replacement font
|
|
# | * [#32342] Implement a Times New Roman replacement font
|
|
# | * [#20456] Implement a Courier New replacement font
|
|
# | * [#13829] Implement a Microsoft Yahei replacement font
|
|
# |
|
|
# | Modified files:
|
|
# | * COPYING.arial, COPYING.cour, COPYING.msyh, COPYING.times, LICENSE, fonts/Makefile.in, fonts/arial.sfd, fonts/arial.ttf,
|
|
# | fonts/cour.sfd, fonts/cour.ttf, fonts/msyh.sfd, fonts/msyh.ttf, fonts/times.sfd, fonts/times.ttf
|
|
# |
|
|
if test "$enable_fonts_Missing_Fonts" -eq 1; then
|
|
patch_apply fonts-Missing_Fonts/0001-fonts-Add-Liberation-Sans-as-an-Arial-replacement.patch
|
|
patch_apply fonts-Missing_Fonts/0002-fonts-Add-Liberation-Serif-as-an-Times-New-Roman-rep.patch
|
|
patch_apply fonts-Missing_Fonts/0003-fonts-Add-Liberation-Mono-as-an-Courier-New-replacem.patch
|
|
patch_apply fonts-Missing_Fonts/0004-fonts-Add-WenQuanYi-Micro-Hei-as-a-Microsoft-Yahei-r.patch
|
|
patch_apply fonts-Missing_Fonts/0005-Add-licenses-for-fonts-as-separate-files.patch
|
|
(
|
|
printf '%s\n' '+ { "Torsten Kurbad", "fonts: Add Liberation Sans as an Arial replacement.", 2 },';
|
|
printf '%s\n' '+ { "Sebastian Lackner", "fonts: Add Liberation Serif as an Times New Roman replacement.", 1 },';
|
|
printf '%s\n' '+ { "Sebastian Lackner", "fonts: Add Liberation Mono as an Courier New replacement.", 1 },';
|
|
printf '%s\n' '+ { "Erich E. Hoover", "fonts: Add WenQuanYi Micro Hei as a Microsoft Yahei replacement.", 1 },';
|
|
printf '%s\n' '+ { "Michael Müller", "Add licenses for fonts as separate files.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset fsutil-Stub_Program
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#22749] Add stub for fsutil.exe hardlink command
|
|
# |
|
|
# | Modified files:
|
|
# | * programs/fsutil/Makefile.in, programs/fsutil/fsutil.rc, programs/fsutil/main.c, programs/fsutil/resources.h
|
|
# |
|
|
if test "$enable_fsutil_Stub_Program" -eq 1; then
|
|
patch_apply fsutil-Stub_Program/0001-fsutil-Add-fsutil-program-with-support-for-creating-.patch
|
|
(
|
|
printf '%s\n' '+ { "Michael Müller", "fsutil: Add fsutil program with support for creating hard links.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset gdi32-Lazy_Font_Initialization
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/gdi32/dc.c, dlls/gdi32/freetype.c
|
|
# |
|
|
if test "$enable_gdi32_Lazy_Font_Initialization" -eq 1; then
|
|
patch_apply gdi32-Lazy_Font_Initialization/0001-gdi32-Perform-lazy-initialization-of-fonts-to-improv.patch
|
|
(
|
|
printf '%s\n' '+ { "Sebastian Lackner", "gdi32: Perform lazy initialization of fonts to improve startup performance.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset gdi32-MultiMonitor
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#34978] Multiple applications need EnumDisplayDevicesW implementation
|
|
# | * [#37709] GetMonitorInfo returns the same name for all monitors
|
|
# | * [#41258] Return a more reasonable display DeviceID
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/gdi32/driver.c, dlls/user32/misc.c, dlls/user32/tests/monitor.c, dlls/winemac.drv/display.c,
|
|
# | dlls/winex11.drv/xinerama.c
|
|
# |
|
|
if test "$enable_gdi32_MultiMonitor" -eq 1; then
|
|
patch_apply gdi32-MultiMonitor/0001-gdi32-Also-accept-.-DISPLAY-n-devices-names-with-n-o.patch
|
|
patch_apply gdi32-MultiMonitor/0002-winex11-Make-GetMonitorInfo-give-a-different-device-.patch
|
|
patch_apply gdi32-MultiMonitor/0003-user32-Implement-EnumDisplayDevicesW-based-on-EnumDi.patch
|
|
patch_apply gdi32-MultiMonitor/0004-winemac-Make-GetMonitorInfo-give-a-different-device-.patch
|
|
patch_apply gdi32-MultiMonitor/0005-user32-Return-a-more-reasonable-display-DeviceID.patch
|
|
(
|
|
printf '%s\n' '+ { "Ken Thomases", "gdi32: Also accept \"\\\\.\\DISPLAY<n>\" devices names with <n> other than 1 as display devices.", 1 },';
|
|
printf '%s\n' '+ { "Ken Thomases", "winex11: Make GetMonitorInfo() give a different device name (\\.\\DISPLAY<n>) to each monitor.", 1 },';
|
|
printf '%s\n' '+ { "Ken Thomases", "user32: Implement EnumDisplayDevicesW() based on EnumDisplayMonitors() and GetMonitorInfoW().", 1 },';
|
|
printf '%s\n' '+ { "Ken Thomases", "winemac: Make GetMonitorInfo() give a different device name (\\\\.\\DISPLAY<n>) to each monitor.", 1 },';
|
|
printf '%s\n' '+ { "Sebastian Lackner", "user32: Return a more reasonable display DeviceID.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset gdi32-Path_Metafile
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/gdi32/path.c, dlls/gdi32/tests/metafile.c
|
|
# |
|
|
if test "$enable_gdi32_Path_Metafile" -eq 1; then
|
|
patch_apply gdi32-Path_Metafile/0001-gdi32-tests-Add-some-additional-tests-for-ExtExtOut-.patch
|
|
patch_apply gdi32-Path_Metafile/0002-gdi32-ExtTextOut-on-a-path-with-bitmap-font-selected.patch
|
|
patch_apply gdi32-Path_Metafile/0003-gdi32-tests-Explicitly-test-BeginPath-return-value-i.patch
|
|
(
|
|
printf '%s\n' '+ { "Dmitry Timoshkov", "gdi32/tests: Add some additional tests for ExtExtOut on a path for an EMF DC.", 2 },';
|
|
printf '%s\n' '+ { "Dmitry Timoshkov", "gdi32: ExtTextOut on a path with bitmap font selected shouldn'\''t fail.", 1 },';
|
|
printf '%s\n' '+ { "Dmitry Timoshkov", "gdi32/tests: Explicitly test BeginPath() return value in the metafile path tests.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset gdi32-Symbol_Truetype_Font
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#33117] Improve detection of symbol charset for old truetype fonts
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/gdi32/freetype.c
|
|
# |
|
|
if test "$enable_gdi32_Symbol_Truetype_Font" -eq 1; then
|
|
patch_apply gdi32-Symbol_Truetype_Font/0001-gdi32-Improve-detection-of-symbol-charset-for-old-tr.patch
|
|
(
|
|
printf '%s\n' '+ { "Dmitry Timoshkov", "gdi32: Improve detection of symbol charset for old truetype fonts.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset gdiplus-Performance-Improvements
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/gdiplus/graphics.c
|
|
# |
|
|
if test "$enable_gdiplus_Performance_Improvements" -eq 1; then
|
|
patch_apply gdiplus-Performance-Improvements/0001-gdiplus-Change-the-order-of-x-y-loops-in-the-scaler.patch
|
|
patch_apply gdiplus-Performance-Improvements/0002-gdiplus-Change-multiplications-by-additions-in-the-x.patch
|
|
patch_apply gdiplus-Performance-Improvements/0003-gdiplus-Remove-ceilf-floorf-calls-from-bilinear-scal.patch
|
|
patch_apply gdiplus-Performance-Improvements/0004-gdiplus-Prefer-using-pre-multiplied-ARGB-data-in-the.patch
|
|
(
|
|
printf '%s\n' '+ { "Dmitry Timoshkov", "gdiplus: Change the order of x/y loops in the scaler.", 1 },';
|
|
printf '%s\n' '+ { "Dmitry Timoshkov", "gdiplus: Change multiplications by additions in the x/y scaler loops.", 1 },';
|
|
printf '%s\n' '+ { "Dmitry Timoshkov", "gdiplus: Remove ceilf/floorf calls from bilinear scaler.", 2 },';
|
|
printf '%s\n' '+ { "Dmitry Timoshkov", "gdiplus: Prefer using pre-multiplied ARGB data in the scaler.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset imagehlp-BindImageEx
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#3591] Support for BindImageEx
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/imagehlp/modify.c, dlls/imagehlp/tests/image.c
|
|
# |
|
|
if test "$enable_imagehlp_BindImageEx" -eq 1; then
|
|
patch_apply imagehlp-BindImageEx/0001-imagehlp-Implement-parts-of-BindImageEx-to-make-free.patch
|
|
(
|
|
printf '%s\n' '+ { "Bernhard Reiter", "imagehlp: Implement parts of BindImageEx to make freezing Python scripts work.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset imagehlp-Cleanup
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#23455] Properly implement imagehlp.ImageLoad and ImageUnload
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/imagehlp/access.c, dlls/imagehlp/modify.c, dlls/imagehlp/tests/integrity.c
|
|
# |
|
|
if test "$enable_imagehlp_Cleanup" -eq 1; then
|
|
patch_apply imagehlp-Cleanup/0001-imagehlp-Catch-invalid-memory-access-in-CheckSumMapp.patch
|
|
patch_apply imagehlp-Cleanup/0002-imagehlp-Fix-checksum-calculation-for-odd-sizes.patch
|
|
patch_apply imagehlp-Cleanup/0003-imagehlp-Implement-ImageLoad-and-cleanup-ImageUnload.patch
|
|
(
|
|
printf '%s\n' '+ { "Michael Müller", "imagehlp: Catch invalid memory access in CheckSumMappedFile and add tests.", 1 },';
|
|
printf '%s\n' '+ { "Michael Müller", "imagehlp: Fix checksum calculation for odd sizes.", 1 },';
|
|
printf '%s\n' '+ { "Michael Müller", "imagehlp: Implement ImageLoad and cleanup ImageUnload.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset imagehlp-ImageLoad
|
|
# |
|
|
# | This patchset has the following (direct or indirect) dependencies:
|
|
# | * imagehlp-Cleanup
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/imagehlp/tests/image.c
|
|
# |
|
|
if test "$enable_imagehlp_ImageLoad" -eq 1; then
|
|
patch_apply imagehlp-ImageLoad/0001-imagehlp-tests-Add-tests-for-ImageLoad-ImageUnload-G.patch
|
|
(
|
|
printf '%s\n' '+ { "Mark Jansen", "imagehlp/tests: Add tests for ImageLoad, ImageUnload, GetImageUnusedHeaderBytes.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset include-winsock
|
|
# |
|
|
# | Modified files:
|
|
# | * include/winsock.h
|
|
# |
|
|
if test "$enable_include_winsock" -eq 1; then
|
|
patch_apply include-winsock/0001-include-Always-define-hton-ntoh-macros.patch
|
|
(
|
|
printf '%s\n' '+ { "Sebastian Lackner", "include: Always define hton/ntoh macros.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset inseng-Implementation
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#39456] Implement CIF reader and download functionality in inseng.dll
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/inseng/Makefile.in, dlls/inseng/icif.c, dlls/inseng/inf.c, dlls/inseng/inseng.spec, dlls/inseng/inseng_main.c,
|
|
# | dlls/inseng/inseng_private.h, include/inseng.idl
|
|
# |
|
|
if test "$enable_inseng_Implementation" -eq 1; then
|
|
patch_apply inseng-Implementation/0001-inseng-Implement-CIF-reader-and-download-functions.patch
|
|
(
|
|
printf '%s\n' '+ { "Michael Müller", "inseng: Implement CIF reader and download functions.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset iphlpapi-System_Ping
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#8332] Fallback to system ping command when CAP_NET_RAW is not available
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/iphlpapi/icmp.c
|
|
# |
|
|
if test "$enable_iphlpapi_System_Ping" -eq 1; then
|
|
patch_apply iphlpapi-System_Ping/0001-iphlpapi-Fallback-to-system-ping-when-ICMP-permissio.patch
|
|
(
|
|
printf '%s\n' '+ { "Sebastian Lackner", "iphlpapi: Fallback to system ping when ICMP permissions are not present.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset iphlpapi-TCP_Table
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#34372] Support for AllocateAndGetTcpExTableFromStack
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/iphlpapi/iphlpapi.spec, dlls/iphlpapi/ipstats.c, include/iphlpapi.h
|
|
# |
|
|
if test "$enable_iphlpapi_TCP_Table" -eq 1; then
|
|
patch_apply iphlpapi-TCP_Table/0001-iphlpapi-Implement-AllocateAndGetTcpExTableFromStack.patch
|
|
(
|
|
printf '%s\n' '+ { "Erich E. Hoover", "iphlpapi: Implement AllocateAndGetTcpExTableFromStack.", 2 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset server-File_Permissions
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#38970] Improve mapping of DACL to file permissions
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/advapi32/tests/security.c, dlls/ntdll/tests/file.c, server/fd.c, server/file.c
|
|
# |
|
|
if test "$enable_server_File_Permissions" -eq 1; then
|
|
patch_apply server-File_Permissions/0001-server-Improve-STATUS_CANNOT_DELETE-checks-for-direc.patch
|
|
patch_apply server-File_Permissions/0002-server-Allow-to-open-files-without-any-permission-bi.patch
|
|
patch_apply server-File_Permissions/0003-server-When-creating-new-directories-temporarily-giv.patch
|
|
patch_apply server-File_Permissions/0004-advapi32-tests-Add-tests-for-ACL-inheritance-in-Crea.patch
|
|
patch_apply server-File_Permissions/0005-advapi32-tests-Add-ACL-inheritance-tests-for-creatin.patch
|
|
patch_apply server-File_Permissions/0006-ntdll-tests-Added-tests-for-open-behaviour-on-readon.patch
|
|
patch_apply server-File_Permissions/0007-server-FILE_WRITE_ATTRIBUTES-should-succeed-for-read.patch
|
|
patch_apply server-File_Permissions/0008-server-Improve-mapping-of-DACL-to-file-permissions.patch
|
|
(
|
|
printf '%s\n' '+ { "Sebastian Lackner", "server: Improve STATUS_CANNOT_DELETE checks for directory case.", 1 },';
|
|
printf '%s\n' '+ { "Sebastian Lackner", "server: Allow to open files without any permission bits.", 2 },';
|
|
printf '%s\n' '+ { "Sebastian Lackner", "server: When creating new directories temporarily give read-permissions until they are opened.", 1 },';
|
|
printf '%s\n' '+ { "Sebastian Lackner", "advapi32/tests: Add tests for ACL inheritance in CreateDirectoryA.", 1 },';
|
|
printf '%s\n' '+ { "Sebastian Lackner", "advapi32/tests: Add ACL inheritance tests for creating subdirectories with NtCreateFile.", 1 },';
|
|
printf '%s\n' '+ { "Qian Hong", "ntdll/tests: Added tests for open behaviour on readonly files.", 1 },';
|
|
printf '%s\n' '+ { "Sebastian Lackner", "server: FILE_WRITE_ATTRIBUTES should succeed for readonly files.", 1 },';
|
|
printf '%s\n' '+ { "Sebastian Lackner", "server: Improve mapping of DACL to file permissions.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset ntdll-FileDispositionInformation
|
|
# |
|
|
# | This patchset has the following (direct or indirect) dependencies:
|
|
# | * server-File_Permissions
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/ntdll/tests/file.c, server/fd.c
|
|
# |
|
|
if test "$enable_ntdll_FileDispositionInformation" -eq 1; then
|
|
patch_apply ntdll-FileDispositionInformation/0001-ntdll-tests-Added-tests-to-set-disposition-on-file-w.patch
|
|
patch_apply ntdll-FileDispositionInformation/0002-server-Do-not-allow-to-set-disposition-on-file-which.patch
|
|
patch_apply ntdll-FileDispositionInformation/0003-server-When-combining-root-and-name-make-sure-there-.patch
|
|
(
|
|
printf '%s\n' '+ { "Qian Hong", "ntdll/tests: Added tests to set disposition on file which is mapped to memory.", 1 },';
|
|
printf '%s\n' '+ { "Qian Hong", "server: Do not allow to set disposition on file which has a file mapping.", 1 },';
|
|
printf '%s\n' '+ { "Sebastian Lackner", "server: When combining root and name, make sure there is only one slash.", 2 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset kernel32-CopyFileEx
|
|
# |
|
|
# | This patchset has the following (direct or indirect) dependencies:
|
|
# | * server-File_Permissions, ntdll-FileDispositionInformation
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#22692] Add support for CopyFileEx progress callback
|
|
# | * [#22690] Allow to cancel a file operation via progress callback
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/kernel32/path.c, dlls/kernel32/tests/file.c
|
|
# |
|
|
if test "$enable_kernel32_CopyFileEx" -eq 1; then
|
|
patch_apply kernel32-CopyFileEx/0001-kernel32-Add-support-for-progress-callback-in-CopyFi.patch
|
|
(
|
|
printf '%s\n' '+ { "Michael Müller", "kernel32: Add support for progress callback in CopyFileEx.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset kernel32-Cwd_Startup_Info
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/kernel32/process.c
|
|
# |
|
|
if test "$enable_kernel32_Cwd_Startup_Info" -eq 1; then
|
|
patch_apply kernel32-Cwd_Startup_Info/0001-kernel32-Allow-non-nullterminated-string-as-working-.patch
|
|
(
|
|
printf '%s\n' '+ { "Sebastian Lackner", "kernel32: Allow non-nullterminated string as working directory in create_startup_info.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset kernel32-Debugger
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/kernel32/except.c
|
|
# |
|
|
if test "$enable_kernel32_Debugger" -eq 1; then
|
|
patch_apply kernel32-Debugger/0001-kernel32-Always-start-debugger-on-WinSta0.patch
|
|
(
|
|
printf '%s\n' '+ { "Sebastian Lackner", "kernel32: Always start debugger on WinSta0.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset kernel32-FindFirstFile
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#22635] Strip invalid characters from mask in FindFirstFileExW
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/kernel32/file.c, dlls/kernel32/tests/file.c
|
|
# |
|
|
if test "$enable_kernel32_FindFirstFile" -eq 1; then
|
|
patch_apply kernel32-FindFirstFile/0001-kernel32-Strip-invalid-characters-from-mask-in-FindF.patch
|
|
patch_apply kernel32-FindFirstFile/0002-kernel32-tests-Add-tests-for-FindFirstFileA-with-inv.patch
|
|
(
|
|
printf '%s\n' '+ { "Michael Müller", "kernel32: Strip invalid characters from mask in FindFirstFileExW.", 1 },';
|
|
printf '%s\n' '+ { "Michael Müller", "kernel32/tests: Add tests for FindFirstFileA with invalid characters.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset kernel32-GetShortPathName
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#39355] Fix handling of wildcard paths in GetShortPathName and GetLongPathName
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/kernel32/path.c, dlls/kernel32/tests/path.c
|
|
# |
|
|
if test "$enable_kernel32_GetShortPathName" -eq 1; then
|
|
patch_apply kernel32-GetShortPathName/0001-kernel32-tests-Add-some-tests-for-GetLongPathName-Ge.patch
|
|
patch_apply kernel32-GetShortPathName/0002-kernel32-GetShortPathName-should-fail-when-called-wi.patch
|
|
patch_apply kernel32-GetShortPathName/0003-kernel32-GetLongPathName-should-fail-when-called-wit.patch
|
|
(
|
|
printf '%s\n' '+ { "Dmitry Timoshkov", "kernel32/tests: Add some tests for GetLongPathName/GetShortPathName called with a wildcard.", 1 },';
|
|
printf '%s\n' '+ { "Dmitry Timoshkov", "kernel32: GetShortPathName should fail when called with a wildcard.", 1 },';
|
|
printf '%s\n' '+ { "Dmitry Timoshkov", "kernel32: GetLongPathName should fail when called with a wildcard.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset kernel32-Job_Tests
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/kernel32/tests/process.c
|
|
# |
|
|
if test "$enable_kernel32_Job_Tests" -eq 1; then
|
|
patch_apply kernel32-Job_Tests/0001-kernel32-tests-Add-tests-for-job-object-accounting.patch
|
|
(
|
|
printf '%s\n' '+ { "Mark Jansen", "kernel32/tests: Add tests for job object accounting.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset kernel32-K32GetPerformanceInfo
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/kernel32/cpu.c, server/process.c, server/protocol.def
|
|
# |
|
|
if test "$enable_kernel32_K32GetPerformanceInfo" -eq 1; then
|
|
patch_apply kernel32-K32GetPerformanceInfo/0001-kernel32-Make-K32GetPerformanceInfo-faster.patch
|
|
(
|
|
printf '%s\n' '+ { "Michael Müller", "kernel32: Make K32GetPerformanceInfo faster.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset kernel32-MoveFile
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#14901] MoveFile with source == dest should succeed.
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/appwiz.cpl/addons.c, dlls/kernel32/path.c, dlls/kernel32/tests/file.c, dlls/msvcp120/tests/msvcp120.c,
|
|
# | dlls/urlmon/tests/url.c, programs/cmd/tests/test_builtins.cmd.exp
|
|
# |
|
|
if test "$enable_kernel32_MoveFile" -eq 1; then
|
|
patch_apply kernel32-MoveFile/0001-kernel32-tests-Fix-compilation-with-PSDK.patch
|
|
patch_apply kernel32-MoveFile/0002-kernel32-tests-Fix-a-bunch-of-access-denied-errors-b.patch
|
|
patch_apply kernel32-MoveFile/0003-kernel32-tests-Move-the-MoveFile-test-where-it-belon.patch
|
|
patch_apply kernel32-MoveFile/0004-kernel32-MoveFile-source-source-should-succeed.patch
|
|
patch_apply kernel32-MoveFile/0005-kernel32-MoveFile-should-make-sure-that-it-has-the-d.patch
|
|
patch_apply kernel32-MoveFile/0006-urlmon-tests-Add-test-for-opening-cache-file-with-DE.patch
|
|
patch_apply kernel32-MoveFile/0007-appwiz.cpl-Copy-addons-to-cache-instead-of-moving.patch
|
|
(
|
|
printf '%s\n' '+ { "Dmitry Timoshkov", "kernel32/tests: Fix compilation with PSDK.", 1 },';
|
|
printf '%s\n' '+ { "Dmitry Timoshkov", "kernel32/tests: Fix a bunch of access denied errors by using a dedicated TEMP directory.", 1 },';
|
|
printf '%s\n' '+ { "Dmitry Timoshkov", "kernel32/tests: Move the MoveFile test where it belongs.", 1 },';
|
|
printf '%s\n' '+ { "Dmitry Timoshkov", "kernel32: MoveFile(source, source) should succeed.", 1 },';
|
|
printf '%s\n' '+ { "Dmitry Timoshkov", "kernel32: MoveFile should make sure that it has the delete access to the source file.", 1 },';
|
|
printf '%s\n' '+ { "Sebastian Lackner", "urlmon/tests: Add test for opening cache file with DELETE access.", 1 },';
|
|
printf '%s\n' '+ { "Sebastian Lackner", "appwiz.cpl: Copy addons to cache instead of moving.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset kernel32-NeedCurrentDirectoryForExePath
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#23934] CreateProcess does not prioritize the working directory over the system search path
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/kernel32/path.c, dlls/kernel32/process.c, dlls/kernel32/tests/path.c
|
|
# |
|
|
if test "$enable_kernel32_NeedCurrentDirectoryForExePath" -eq 1; then
|
|
patch_apply kernel32-NeedCurrentDirectoryForExePath/0001-kernel32-Add-SearchPath-test-demonstrating-the-prior.patch
|
|
patch_apply kernel32-NeedCurrentDirectoryForExePath/0002-kernel32-NeedCurrentDirectoryForExePath-does-not-use.patch
|
|
patch_apply kernel32-NeedCurrentDirectoryForExePath/0003-kernel32-Consider-the-working-directory-first-when-l.patch
|
|
(
|
|
printf '%s\n' '+ { "Erich E. Hoover", "kernel32: Add SearchPath test demonstrating the priority of the working directory.", 1 },';
|
|
printf '%s\n' '+ { "Erich E. Hoover", "kernel32: NeedCurrentDirectoryForExePath does not use the registry.", 1 },';
|
|
printf '%s\n' '+ { "Erich E. Hoover", "kernel32: Consider the working directory first when launching executables with CreateProcess.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset kernel32-PE_Loader_Fixes
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#42125] Various PE loader fixes for 8k demos
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/kernel32/process.c, dlls/kernel32/tests/loader.c, dlls/ntdll/virtual.c, server/mapping.c
|
|
# |
|
|
if test "$enable_kernel32_PE_Loader_Fixes" -eq 1; then
|
|
patch_apply kernel32-PE_Loader_Fixes/0001-server-All-fields-up-to-CheckSum-are-mandatory-regar.patch
|
|
patch_apply kernel32-PE_Loader_Fixes/0002-ntdll-If-PE-image-size-is-larger-than-the-backed-fil.patch
|
|
patch_apply kernel32-PE_Loader_Fixes/0003-kernel32-On-process-entry-store-PEB-address-in-ebx.patch
|
|
patch_apply kernel32-PE_Loader_Fixes/0005-kernel32-tests-Add-a-PE-test-image-that-resembles-fo.patch
|
|
(
|
|
printf '%s\n' '+ { "Dmitry Timoshkov", "server: All fields up to CheckSum are mandatory regardless of SizeOfOptionalHeader value.", 1 },';
|
|
printf '%s\n' '+ { "Dmitry Timoshkov", "ntdll: If PE image size is larger than the backed file size then treat file as removable.", 1 },';
|
|
printf '%s\n' '+ { "Dmitry Timoshkov", "kernel32: On process entry store PEB address in %ebx.", 1 },';
|
|
printf '%s\n' '+ { "Dmitry Timoshkov", "kernel32/tests: Add a PE test image that resembles format of some of 8k demos.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset kernel32-Processor_Group
|
|
# |
|
|
# | This patchset has the following (direct or indirect) dependencies:
|
|
# | * api-ms-win-Stub_DLLs
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/api-ms-win-core-kernel32-legacy-l1-1-0/api-ms-win-core-kernel32-legacy-l1-1-0.spec, dlls/kernel32/cpu.c,
|
|
# | dlls/kernel32/kernel32.spec, dlls/kernel32/tests/process.c, dlls/kernel32/thread.c, include/winnt.h
|
|
# |
|
|
if test "$enable_kernel32_Processor_Group" -eq 1; then
|
|
patch_apply kernel32-Processor_Group/0001-kernel32-Implement-some-processor-group-functions.patch
|
|
patch_apply kernel32-Processor_Group/0002-kernel32-Add-stub-for-SetThreadIdealProcessorEx.patch
|
|
(
|
|
printf '%s\n' '+ { "Michael Müller", "kernel32: Implement some processor group functions.", 1 },';
|
|
printf '%s\n' '+ { "Michael Müller", "kernel32: Add stub for SetThreadIdealProcessorEx.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset kernel32-Profile
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#8036] Fix handling of empty section and key name for profile files.
|
|
# | * [#18099] Super Mario 3: Mario Forever fails to load keyboard mapping from profile files.
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/kernel32/profile.c, dlls/kernel32/tests/profile.c
|
|
# |
|
|
if test "$enable_kernel32_Profile" -eq 1; then
|
|
patch_apply kernel32-Profile/0001-kernel32-Allow-empty-profile-section-and-key-name-st.patch
|
|
(
|
|
printf '%s\n' '+ { "Claudio Fontana", "kernel32: Allow empty profile section and key name strings.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset kernel32-SCSI_Sysfs
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#31592] Use sysfs to populate SCSI registry keys
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/kernel32/oldconfig.c
|
|
# |
|
|
if test "$enable_kernel32_SCSI_Sysfs" -eq 1; then
|
|
patch_apply kernel32-SCSI_Sysfs/0001-kernel32-Convert-scsi-device-type-in-SCSI_getprocent.patch
|
|
patch_apply kernel32-SCSI_Sysfs/0002-kernel32-Add-support-for-reading-scsi-devices-from-s.patch
|
|
(
|
|
printf '%s\n' '+ { "Michael Müller", "kernel32: Convert scsi device type in SCSI_getprocentry.", 1 },';
|
|
printf '%s\n' '+ { "Michael Müller", "kernel32: Add support for reading scsi devices from sysfs.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset kernel32-SetFileCompletionNotificationModes
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#38960] Add support for kernel32.SetFileCompletionNotificationModes
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/kernel32/file.c, dlls/ntdll/file.c, dlls/ntdll/tests/file.c, dlls/ntdll/tests/pipe.c, dlls/ws2_32/socket.c,
|
|
# | dlls/ws2_32/tests/sock.c, server/async.c, server/fd.c, server/file.h, server/protocol.def
|
|
# |
|
|
if test "$enable_kernel32_SetFileCompletionNotificationModes" -eq 1; then
|
|
patch_apply kernel32-SetFileCompletionNotificationModes/0001-ntdll-Implement-FileIoCompletionNotificationInformat.patch
|
|
patch_apply kernel32-SetFileCompletionNotificationModes/0002-ntdll-Allow-to-query-file-IO-completion-notification.patch
|
|
patch_apply kernel32-SetFileCompletionNotificationModes/0003-ws2_32-tests-Add-test-for-completion-notification-fl.patch
|
|
patch_apply kernel32-SetFileCompletionNotificationModes/0004-ntdll-tests-Add-more-tests-for-FileIoCompletionNotif.patch
|
|
patch_apply kernel32-SetFileCompletionNotificationModes/0006-server-Skip-async-completion-when-possible.patch
|
|
patch_apply kernel32-SetFileCompletionNotificationModes/0007-ws2_32-Don-t-skip-completion-in-AcceptEx.patch
|
|
(
|
|
printf '%s\n' '+ { "Sebastian Lackner", "ntdll: Implement FileIoCompletionNotificationInformation info class.", 2 },';
|
|
printf '%s\n' '+ { "Sebastian Lackner", "ntdll: Allow to query file IO completion notification mode.", 1 },';
|
|
printf '%s\n' '+ { "Sebastian Lackner", "ws2_32/tests: Add test for completion notification flags.", 1 },';
|
|
printf '%s\n' '+ { "Sebastian Lackner", "ntdll/tests: Add more tests for FileIoCompletionNotificationInformation.", 1 },';
|
|
printf '%s\n' '+ { "Sebastian Lackner", "server: Skip async completion when possible.", 1 },';
|
|
printf '%s\n' '+ { "Sebastian Lackner", "ws2_32: Don'\''t skip completion in AcceptEx.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset kernelbase-PathCchCombineEx
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#42474] Implement kernelbase.PathCchCombineEx
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/api-ms-win-core-path-l1-1-0/api-ms-win-core-path-l1-1-0.spec, dlls/kernelbase/Makefile.in,
|
|
# | dlls/kernelbase/kernelbase.spec, dlls/kernelbase/path.c, dlls/kernelbase/tests/path.c, include/pathcch.h
|
|
# |
|
|
if test "$enable_kernelbase_PathCchCombineEx" -eq 1; then
|
|
patch_apply kernelbase-PathCchCombineEx/0001-kernelbase-Add-semi-stub-for-PathCchCombineEx.patch
|
|
patch_apply kernelbase-PathCchCombineEx/0002-kernelbase-Implement-PathCchRemoveBackslash-PathCchR.patch
|
|
(
|
|
printf '%s\n' '+ { "Michael Müller", "kernelbase: Add semi-stub for PathCchCombineEx.", 1 },';
|
|
printf '%s\n' '+ { "Julien Schueller", "kernelbase: Implement PathCchRemoveBackslash()/PathCchRemoveBackslashEx().", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset krnl386.exe16-GDT_LDT_Emulation
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#30237] Implement emulation of GDT and LDT access in Win98 mode
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/krnl386.exe16/instr.c
|
|
# |
|
|
if test "$enable_krnl386_exe16_GDT_LDT_Emulation" -eq 1; then
|
|
patch_apply krnl386.exe16-GDT_LDT_Emulation/0001-krnl386.exe16-Emulate-GDT-and-LDT-access.patch
|
|
(
|
|
printf '%s\n' '+ { "Michael Müller", "krnl386.exe16: Emulate GDT and LDT access.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset krnl386.exe16-Invalid_Console_Handles
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#7106] Translate all invalid console handles into usable DOS handles
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/krnl386.exe16/file.c
|
|
# |
|
|
if test "$enable_krnl386_exe16_Invalid_Console_Handles" -eq 1; then
|
|
patch_apply krnl386.exe16-Invalid_Console_Handles/0001-krnl386.exe16-Really-translate-all-invalid-console-h.patch
|
|
(
|
|
printf '%s\n' '+ { "Michael Müller", "krnl386.exe16: Really translate all invalid console handles into usable DOS handles.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset krnl386.exe16-_lclose16
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#19184] Do not reassign default handles after they got closed
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/krnl386.exe16/file.c
|
|
# |
|
|
if test "$enable_krnl386_exe16__lclose16" -eq 1; then
|
|
patch_apply krnl386.exe16-_lclose16/0001-krnl386.exe16-Do-not-reassign-default-handles-after-.patch
|
|
(
|
|
printf '%s\n' '+ { "Michael Müller", "krnl386.exe16: Do not reassign default handles after they got closed.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset libs-Debug_Channel
|
|
# |
|
|
# | Modified files:
|
|
# | * libs/wine/debug.c
|
|
# |
|
|
if test "$enable_libs_Debug_Channel" -eq 1; then
|
|
patch_apply libs-Debug_Channel/0001-libwine-Add-process-specific-debug-channels.patch
|
|
(
|
|
printf '%s\n' '+ { "Michael Müller", "libwine: Add process specific debug channels.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset libs-Unicode_Collation
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#10767] Fix comparison of punctuation characters in lstrcmp
|
|
# | * [#32490] Graphical issues in Inquisitor
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/kernel32/tests/locale.c, libs/wine/collation.c
|
|
# |
|
|
if test "$enable_libs_Unicode_Collation" -eq 1; then
|
|
patch_apply libs-Unicode_Collation/0001-libs-Fix-most-problems-with-CompareString.patch
|
|
(
|
|
printf '%s\n' '+ { "Dmitry Timoshkov", "libs: Fix most problems with CompareString.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset loader-OSX_Preloader
|
|
# |
|
|
# | This patchset has the following (direct or indirect) dependencies:
|
|
# | * Staging, configure-Absolute_RPATH
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#33159] Implement preloader for Mac OS
|
|
# |
|
|
# | Modified files:
|
|
# | * Makefile.in, configure.ac, dlls/ntdll/virtual.c, libs/wine/config.c, libs/wine/loader.c, loader/Makefile.in,
|
|
# | loader/main.c, loader/preloader.c
|
|
# |
|
|
if test "$enable_loader_OSX_Preloader" -eq 1; then
|
|
patch_apply loader-OSX_Preloader/0001-libs-wine-Do-not-restrict-base-address-of-main-threa.patch
|
|
patch_apply loader-OSX_Preloader/0002-loader-Implement-preloader-for-Mac-OS.patch
|
|
(
|
|
printf '%s\n' '+ { "Michael Müller", "libs/wine: Do not restrict base address of main thread on 64 bit mac os.", 1 },';
|
|
printf '%s\n' '+ { "Sebastian Lackner", "loader: Implement preloader for Mac OS.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset mmsystem.dll16-MIDIHDR_Refcount
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#40024] Fix multiple issues in mmsystem.dll16 when translating MIDI messages
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/mmsystem.dll16/message16.c
|
|
# |
|
|
if test "$enable_mmsystem_dll16_MIDIHDR_Refcount" -eq 1; then
|
|
patch_apply mmsystem.dll16-MIDIHDR_Refcount/0001-mmsystem.dll16-Refcount-midihdr-to-work-around-buggy.patch
|
|
patch_apply mmsystem.dll16-MIDIHDR_Refcount/0002-mmsystem.dll16-Translate-MidiIn-messages.patch
|
|
(
|
|
printf '%s\n' '+ { "Michael Müller", "mmsystem.dll16: Refcount midihdr to work around buggy application which unprepares buffer during a callback.", 1 },';
|
|
printf '%s\n' '+ { "Michael Müller", "mmsystem.dll16: Translate MidiIn messages.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset mountmgr-DosDevices
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#38235] Fix device paths in HKLM\SYSTEM\MountedDevices
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/mountmgr.sys/device.c, dlls/mountmgr.sys/mountmgr.c, dlls/mountmgr.sys/mountmgr.h
|
|
# |
|
|
if test "$enable_mountmgr_DosDevices" -eq 1; then
|
|
patch_apply mountmgr-DosDevices/0001-mountmgr.sys-Write-usable-device-paths-into-HKLM-SYS.patch
|
|
(
|
|
printf '%s\n' '+ { "Michael Müller", "mountmgr.sys: Write usable device paths into HKLM\\SYSTEM\\MountedDevices.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset mscoree-CorValidateImage
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#38662] Implement mscoree._CorValidateImage for mono runtime
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/mscoree/mscoree_main.c
|
|
# |
|
|
if test "$enable_mscoree_CorValidateImage" -eq 1; then
|
|
patch_apply mscoree-CorValidateImage/0001-mscoree-Implement-_CorValidateImage.patch
|
|
(
|
|
printf '%s\n' '+ { "Michael Müller", "mscoree: Implement semi-stub for _CorValidateImage.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset mshtml-HTMLLocation_put_hash
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#32967] Add IHTMLLocation::hash property's getter implementation
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/mshtml/htmllocation.c, dlls/mshtml/tests/htmldoc.c
|
|
# |
|
|
if test "$enable_mshtml_HTMLLocation_put_hash" -eq 1; then
|
|
patch_apply mshtml-HTMLLocation_put_hash/0001-mshtml-Add-IHTMLLocation-hash-property-s-getter-impl.patch
|
|
(
|
|
printf '%s\n' '+ { "Zhenbo Li", "mshtml: Add IHTMLLocation::hash property'\''s getter implementation.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset msi-MsiGetDatabaseState
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/msi/database.c
|
|
# |
|
|
if test "$enable_msi_MsiGetDatabaseState" -eq 1; then
|
|
patch_apply msi-MsiGetDatabaseState/0001-msi-Always-return-MSIDBSTATE_ERROR-when-MsiGetDataba.patch
|
|
(
|
|
printf '%s\n' '+ { "Michael Müller", "msi: Always return MSIDBSTATE_ERROR when MsiGetDatabaseState is called from a custom action.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset msi-msi_vcl_get_cost
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/msi/dialog.c
|
|
# |
|
|
if test "$enable_msi_msi_vcl_get_cost" -eq 1; then
|
|
patch_apply msi-msi_vcl_get_cost/0001-msi-Do-not-sign-extend-after-multiplying.patch
|
|
(
|
|
printf '%s\n' '+ { "Mark Jansen", "msi: Do not sign extend after multiplying.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset msidb-Implementation
|
|
# |
|
|
# | Modified files:
|
|
# | * configure.ac, dlls/msi/database.c, dlls/msi/msipriv.h, dlls/msi/streams.c, dlls/msi/suminfo.c,
|
|
# | programs/msidb/Makefile.in, programs/msidb/main.c
|
|
# |
|
|
if test "$enable_msidb_Implementation" -eq 1; then
|
|
patch_apply msidb-Implementation/0001-msidb-Add-stub-tool-for-manipulating-MSI-databases.patch
|
|
patch_apply msidb-Implementation/0003-msidb-Add-support-for-importing-database-tables.patch
|
|
patch_apply msidb-Implementation/0004-msidb-Add-support-for-adding-stream-cabinet-files-to.patch
|
|
patch_apply msidb-Implementation/0005-msi-Add-support-for-deleting-streams-from-an-MSI-dat.patch
|
|
patch_apply msidb-Implementation/0006-msidb-Add-support-for-removing-stream-cabinet-files-.patch
|
|
patch_apply msidb-Implementation/0007-msidb-Add-support-for-extracting-stream-cabinet-file.patch
|
|
patch_apply msidb-Implementation/0008-msidb-Add-support-for-exporting-database-tables.patch
|
|
patch_apply msidb-Implementation/0009-msidb-Add-support-for-exporting-with-short-DOS-filen.patch
|
|
patch_apply msidb-Implementation/0010-msi-Add-support-for-exporting-the-_SummaryInformatio.patch
|
|
patch_apply msidb-Implementation/0011-msi-Break-out-field-exporting-into-a-separate-routin.patch
|
|
patch_apply msidb-Implementation/0012-msi-Add-support-for-exporting-binary-streams-Binary-.patch
|
|
patch_apply msidb-Implementation/0013-msidb-Add-support-for-wildcard-full-database-export.patch
|
|
(
|
|
printf '%s\n' '+ { "Erich E. Hoover", "msidb: Add stub tool for manipulating MSI databases.", 1 },';
|
|
printf '%s\n' '+ { "Erich E. Hoover", "msidb: Add support for importing database tables.", 1 },';
|
|
printf '%s\n' '+ { "Erich E. Hoover", "msidb: Add support for adding stream/cabinet files to MSI databases.", 1 },';
|
|
printf '%s\n' '+ { "Erich E. Hoover", "msi: Add support for deleting streams from an MSI database.", 1 },';
|
|
printf '%s\n' '+ { "Erich E. Hoover", "msidb: Add support for removing stream/cabinet files from MSI databases.", 1 },';
|
|
printf '%s\n' '+ { "Erich E. Hoover", "msidb: Add support for extracting stream/cabinet files from MSI databases.", 1 },';
|
|
printf '%s\n' '+ { "Erich E. Hoover", "msidb: Add support for exporting database tables.", 1 },';
|
|
printf '%s\n' '+ { "Erich E. Hoover", "msidb: Add support for exporting with short (DOS) filenames.", 1 },';
|
|
printf '%s\n' '+ { "Erich E. Hoover", "msi: Add support for exporting the _SummaryInformation table.", 1 },';
|
|
printf '%s\n' '+ { "Erich E. Hoover", "msi: Break out field exporting into a separate routine.", 1 },';
|
|
printf '%s\n' '+ { "Erich E. Hoover", "msi: Add support for exporting binary streams (Binary/Icon tables).", 1 },';
|
|
printf '%s\n' '+ { "Erich E. Hoover", "msidb: Add support for wildcard (full database) export.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset msvcrt-Math_Precision
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#37149] Calculate msvcrt exponential math operations with higher precision
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/msvcrt/math.c
|
|
# |
|
|
if test "$enable_msvcrt_Math_Precision" -eq 1; then
|
|
patch_apply msvcrt-Math_Precision/0001-msvcrt-Calculate-sinh-cosh-exp-pow-with-higher-preci.patch
|
|
(
|
|
printf '%s\n' '+ { "Sebastian Lackner", "msvcrt: Calculate sinh/cosh/exp/pow with higher precision.", 2 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset msvfw32-ICGetDisplayFormat
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#23175] Fix implementation of ICGetDisplayFormat
|
|
# | * [#25180] Fix rendering of Clonk Endeavour's intro video
|
|
# | * [#14695] Implement support for converting 16 bit depth to 24 bit in msvidc32
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/iccvid/iccvid.c, dlls/msvfw32/tests/msvfw.c, dlls/msvidc32/msvideo1.c
|
|
# |
|
|
if test "$enable_msvfw32_ICGetDisplayFormat" -eq 1; then
|
|
patch_apply msvfw32-ICGetDisplayFormat/0005-iccvid-Fix-calculation-of-stride-and-size.patch
|
|
patch_apply msvfw32-ICGetDisplayFormat/0006-msvidc32-Add-support-for-converting-16-bit-depth-to-.patch
|
|
patch_apply msvfw32-ICGetDisplayFormat/0007-msvidc32-Fix-calculation-of-stride-and-size.patch
|
|
(
|
|
printf '%s\n' '+ { "Michael Müller", "iccvid: Fix calculation of stride and size.", 1 },';
|
|
printf '%s\n' '+ { "Michael Müller", "msvidc32: Add support for converting 16 bit depth to 24 bit.", 1 },';
|
|
printf '%s\n' '+ { "Michael Müller", "msvidc32: Fix calculation of stride and size.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset ntdll-APC_Performance
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/ntdll/file.c
|
|
# |
|
|
if test "$enable_ntdll_APC_Performance" -eq 1; then
|
|
patch_apply ntdll-APC_Performance/0001-ntdll-Reuse-old-async-fileio-structures-if-possible.patch
|
|
(
|
|
printf '%s\n' '+ { "Sebastian Lackner", "ntdll: Reuse old async fileio structures if possible.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset ntdll-Activation_Context
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/kernel32/tests/actctx.c, dlls/ntdll/actctx.c
|
|
# |
|
|
if test "$enable_ntdll_Activation_Context" -eq 1; then
|
|
patch_apply ntdll-Activation_Context/0001-ntdll-Fix-return-value-for-missing-ACTIVATION_CONTEX.patch
|
|
(
|
|
printf '%s\n' '+ { "Sebastian Lackner", "ntdll: Fix return value for missing ACTIVATION_CONTEXT_SECTION_ASSEMBLY_INFORMATION key.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset ntdll-ThreadTime
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#20230] Return correct values for GetThreadTimes function
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/ntdll/nt.c, dlls/ntdll/ntdll_misc.h, dlls/ntdll/process.c, dlls/ntdll/thread.c, server/protocol.def,
|
|
# | server/snapshot.c, server/thread.c, server/thread.h
|
|
# |
|
|
if test "$enable_ntdll_ThreadTime" -eq 1; then
|
|
patch_apply ntdll-ThreadTime/0001-ntdll-Return-correct-values-in-GetThreadTimes-for-al.patch
|
|
patch_apply ntdll-ThreadTime/0002-ntdll-Set-correct-thread-creation-time-for-SystemPro.patch
|
|
patch_apply ntdll-ThreadTime/0003-ntdll-Fill-process-kernel-and-user-time.patch
|
|
patch_apply ntdll-ThreadTime/0004-ntdll-Set-process-start-time.patch
|
|
patch_apply ntdll-ThreadTime/0005-ntdll-Fill-out-thread-times-in-process-enumeration.patch
|
|
patch_apply ntdll-ThreadTime/0006-ntdll-Fill-process-virtual-memory-counters-in-NtQuer.patch
|
|
(
|
|
printf '%s\n' '+ { "Sebastian Lackner", "ntdll: Return correct values in GetThreadTimes() for all threads.", 1 },';
|
|
printf '%s\n' '+ { "Michael Müller", "ntdll: Set correct thread creation time for SystemProcessInformation in NtQuerySystemInformation.", 1 },';
|
|
printf '%s\n' '+ { "Michael Müller", "ntdll: Fill process kernel and user time.", 1 },';
|
|
printf '%s\n' '+ { "Michael Müller", "ntdll: Set process start time.", 1 },';
|
|
printf '%s\n' '+ { "Michael Müller", "ntdll: Fill out thread times in process enumeration.", 1 },';
|
|
printf '%s\n' '+ { "Michael Müller", "ntdll: Fill process virtual memory counters in NtQuerySystemInformation.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset ntdll-ApiSetMap
|
|
# |
|
|
# | This patchset has the following (direct or indirect) dependencies:
|
|
# | * ntdll-ThreadTime
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#44658] Add dummy apiset to PEB struct
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/ntdll/thread.c, include/Makefile.in, include/apiset.h, include/winternl.h
|
|
# |
|
|
if test "$enable_ntdll_ApiSetMap" -eq 1; then
|
|
patch_apply ntdll-ApiSetMap/0001-ntdll-Add-dummy-apiset-to-PEB.patch
|
|
(
|
|
printf '%s\n' '+ { "Michael Müller", "ntdll: Add dummy apiset to PEB.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset ntdll-ApiSetQueryApiSetPresence
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/api-ms-win-core-apiquery-l1-1-0/api-ms-win-core-apiquery-l1-1-0.spec, dlls/ntdll/misc.c, dlls/ntdll/ntdll.spec
|
|
# |
|
|
if test "$enable_ntdll_ApiSetQueryApiSetPresence" -eq 1; then
|
|
patch_apply ntdll-ApiSetQueryApiSetPresence/0001-ntdll-Add-stub-for-ApiSetQueryApiSetPresence.patch
|
|
(
|
|
printf '%s\n' '+ { "Michael Müller", "ntdll: Add stub for ApiSetQueryApiSetPresence.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset ntdll-Hide_Wine_Exports
|
|
# |
|
|
# | This patchset has the following (direct or indirect) dependencies:
|
|
# | * ntdll-ThreadTime
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#38656] Add support for hiding wine version information from applications
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/ntdll/loader.c, dlls/ntdll/ntdll_misc.h
|
|
# |
|
|
if test "$enable_ntdll_Hide_Wine_Exports" -eq 1; then
|
|
patch_apply ntdll-Hide_Wine_Exports/0001-ntdll-Add-support-for-hiding-wine-version-informatio.patch
|
|
(
|
|
printf '%s\n' '+ { "Sebastian Lackner", "ntdll: Add support for hiding wine version information from applications.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset ntdll-User_Shared_Data
|
|
# |
|
|
# | This patchset has the following (direct or indirect) dependencies:
|
|
# | * ntdll-ThreadTime, ntdll-Hide_Wine_Exports
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#29168] Update user shared data at realtime
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/kernel32/cpu.c, dlls/ntdll/loader.c, dlls/ntdll/ntdll.spec, dlls/ntdll/ntdll_misc.h, dlls/ntdll/tests/time.c,
|
|
# | dlls/ntdll/thread.c, dlls/ntdll/virtual.c, dlls/ntoskrnl.exe/instr.c
|
|
# |
|
|
if test "$enable_ntdll_User_Shared_Data" -eq 1; then
|
|
patch_apply ntdll-User_Shared_Data/0001-ntdll-Move-code-to-update-user-shared-data-into-a-se.patch
|
|
patch_apply ntdll-User_Shared_Data/0002-ntoskrnl-Update-USER_SHARED_DATA-before-accessing-me.patch
|
|
patch_apply ntdll-User_Shared_Data/0003-ntdll-Create-thread-to-update-user_shared_data-time-.patch
|
|
patch_apply ntdll-User_Shared_Data/0004-ntdll-tests-Test-updating-TickCount-in-user_shared_d.patch
|
|
(
|
|
printf '%s\n' '+ { "Sebastian Lackner", "ntdll: Move code to update user shared data into a separate function.", 1 },';
|
|
printf '%s\n' '+ { "Sebastian Lackner", "ntoskrnl: Update USER_SHARED_DATA before accessing memory.", 1 },';
|
|
printf '%s\n' '+ { "Michael Müller", "ntdll: Create thread to update user_shared_data time values when necessary.", 1 },';
|
|
printf '%s\n' '+ { "Andrew Wesie", "ntdll/tests: Test updating TickCount in user_shared_data.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset ntdll-Builtin_Prot
|
|
# |
|
|
# | This patchset has the following (direct or indirect) dependencies:
|
|
# | * ntdll-ThreadTime, ntdll-Hide_Wine_Exports, ntdll-User_Shared_Data
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#44650] Fix holes in ELF mappings
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/ntdll/virtual.c, dlls/psapi/tests/psapi_main.c
|
|
# |
|
|
if test "$enable_ntdll_Builtin_Prot" -eq 1; then
|
|
patch_apply ntdll-Builtin_Prot/0001-ntdll-Fix-holes-in-ELF-mappings.patch
|
|
(
|
|
printf '%s\n' '+ { "Michael Müller", "ntdll: Fix holes in ELF mappings.", 2 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset ntdll-CriticalSection
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/ntdll/critsection.c, dlls/ntdll/heap.c, dlls/ntdll/ntdll_misc.h, dlls/ntdll/threadpool.c, include/wine/port.h
|
|
# |
|
|
if test "$enable_ntdll_CriticalSection" -eq 1; then
|
|
patch_apply ntdll-CriticalSection/0001-include-Move-interlocked_inc-dec-to-port.h.patch
|
|
patch_apply ntdll-CriticalSection/0002-ntdll-Add-inline-versions-of-RtlEnterCriticalSection.patch
|
|
patch_apply ntdll-CriticalSection/0003-ntdll-Use-fast-CS-functions-for-heap-locking.patch
|
|
patch_apply ntdll-CriticalSection/0004-ntdll-Use-fast-CS-functions-for-threadpool-locking.patch
|
|
(
|
|
printf '%s\n' '+ { "Sebastian Lackner", "include: Move interlocked_inc/dec to port.h.", 1 },';
|
|
printf '%s\n' '+ { "Sebastian Lackner", "ntdll: Add inline versions of RtlEnterCriticalSection / RtlLeaveCriticalSections.", 1 },';
|
|
printf '%s\n' '+ { "Sebastian Lackner", "ntdll: Use fast CS functions for heap locking.", 1 },';
|
|
printf '%s\n' '+ { "Sebastian Lackner", "ntdll: Use fast CS functions for threadpool locking.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset ntdll-DOS_Attributes
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#9158] Support for DOS hidden/system file attributes
|
|
# | * [#15679] cygwin symlinks not working in wine
|
|
# |
|
|
# | Modified files:
|
|
# | * configure.ac, dlls/ntdll/directory.c, dlls/ntdll/file.c, dlls/ntdll/ntdll_misc.h, dlls/ntdll/tests/directory.c,
|
|
# | dlls/ntdll/tests/file.c, include/wine/port.h, libs/port/Makefile.in, libs/port/xattr.c
|
|
# |
|
|
if test "$enable_ntdll_DOS_Attributes" -eq 1; then
|
|
patch_apply ntdll-DOS_Attributes/0001-ntdll-Implement-retrieving-DOS-attributes-in-NtQuery.patch
|
|
patch_apply ntdll-DOS_Attributes/0002-ntdll-Implement-retrieving-DOS-attributes-in-NtQuery.patch
|
|
patch_apply ntdll-DOS_Attributes/0003-ntdll-Implement-storing-DOS-attributes-in-NtSetInfor.patch
|
|
patch_apply ntdll-DOS_Attributes/0004-ntdll-Implement-storing-DOS-attributes-in-NtCreateFi.patch
|
|
patch_apply ntdll-DOS_Attributes/0005-libport-Add-support-for-Mac-OS-X-style-extended-attr.patch
|
|
patch_apply ntdll-DOS_Attributes/0006-libport-Add-support-for-FreeBSD-style-extended-attri.patch
|
|
patch_apply ntdll-DOS_Attributes/0007-ntdll-Perform-the-Unix-style-hidden-file-check-withi.patch
|
|
patch_apply ntdll-DOS_Attributes/0008-ntdll-Always-store-SAMBA_XATTR_DOS_ATTRIB-when-path-.patch
|
|
(
|
|
printf '%s\n' '+ { "Erich E. Hoover", "ntdll: Implement retrieving DOS attributes in NtQueryInformationFile.", 1 },';
|
|
printf '%s\n' '+ { "Erich E. Hoover", "ntdll: Implement retrieving DOS attributes in NtQuery[Full]AttributesFile and NtQueryDirectoryFile.", 1 },';
|
|
printf '%s\n' '+ { "Erich E. Hoover", "ntdll: Implement storing DOS attributes in NtSetInformationFile.", 1 },';
|
|
printf '%s\n' '+ { "Erich E. Hoover", "ntdll: Implement storing DOS attributes in NtCreateFile.", 1 },';
|
|
printf '%s\n' '+ { "Erich E. Hoover", "libport: Add support for Mac OS X style extended attributes.", 1 },';
|
|
printf '%s\n' '+ { "Erich E. Hoover", "libport: Add support for FreeBSD style extended attributes.", 1 },';
|
|
printf '%s\n' '+ { "Erich E. Hoover", "ntdll: Perform the Unix-style hidden file check within the unified file info grabbing routine.", 1 },';
|
|
printf '%s\n' '+ { "Sebastian Lackner", "ntdll: Always store SAMBA_XATTR_DOS_ATTRIB when path could be interpreted as hidden.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset ntdll-Dealloc_Thread_Stack
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/ntdll/ntdll_misc.h, dlls/ntdll/virtual.c
|
|
# |
|
|
if test "$enable_ntdll_Dealloc_Thread_Stack" -eq 1; then
|
|
patch_apply ntdll-Dealloc_Thread_Stack/0001-ntdll-Do-not-allow-to-allocate-thread-stack-for-curr.patch
|
|
(
|
|
printf '%s\n' '+ { "Sebastian Lackner", "ntdll: Do not allow to deallocate thread stack for current thread.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset ntdll-DeviceType_Systemroot
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#36546] Return fake device type when systemroot is located on virtual disk
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/ntdll/file.c
|
|
# |
|
|
if test "$enable_ntdll_DeviceType_Systemroot" -eq 1; then
|
|
patch_apply ntdll-DeviceType_Systemroot/0001-ntdll-Return-fake-device-type-when-systemroot-is-loc.patch
|
|
(
|
|
printf '%s\n' '+ { "Sebastian Lackner", "ntdll: Return fake device type when systemroot is located on virtual disk.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset ntdll-DllOverrides_WOW64
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/ntdll/loadorder.c
|
|
# |
|
|
if test "$enable_ntdll_DllOverrides_WOW64" -eq 1; then
|
|
patch_apply ntdll-DllOverrides_WOW64/0001-ntdll-Always-use-64-bit-registry-view-on-WOW64-setup.patch
|
|
(
|
|
printf '%s\n' '+ { "Sebastian Lackner", "ntdll: Always use 64-bit registry view on WOW64 setups.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset ntdll-Loader_Machine_Type
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#38021] Check architecture before trying to load libraries
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/ntdll/loader.c
|
|
# |
|
|
if test "$enable_ntdll_Loader_Machine_Type" -eq 1; then
|
|
patch_apply ntdll-Loader_Machine_Type/0001-ntdll-Check-architecture-before-loading-module.patch
|
|
(
|
|
printf '%s\n' '+ { "Michael Müller", "ntdll: Check architecture before loading module.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset wow64cpu-Wow64Transition
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#45567] League of Legends 8.12+ fails to start a game (anticheat engine, validation of WoW64 syscall dispatcher)
|
|
# |
|
|
# | Modified files:
|
|
# | * configure, configure.ac, dlls/ntdll/loader.c, dlls/ntdll/ntdll.spec, dlls/wow64cpu/Makefile.in,
|
|
# | dlls/wow64cpu/wow64cpu.spec, dlls/wow64cpu/wow64cpu_main.c
|
|
# |
|
|
if test "$enable_wow64cpu_Wow64Transition" -eq 1; then
|
|
patch_apply wow64cpu-Wow64Transition/0001-wow64cpu-Add-stub-dll.patch
|
|
patch_apply wow64cpu-Wow64Transition/0002-ntdll-Add-a-stub-implementation-of-Wow64Transition.patch
|
|
(
|
|
printf '%s\n' '+ { "Zebediah Figura", "wow64cpu: Add stub dll.", 1 },';
|
|
printf '%s\n' '+ { "Zebediah Figura", "ntdll: Add a stub implementation of Wow64Transition.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset ntdll-DllRedirects
|
|
# |
|
|
# | This patchset has the following (direct or indirect) dependencies:
|
|
# | * ntdll-DllOverrides_WOW64, ntdll-Loader_Machine_Type, wow64cpu-Wow64Transition
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/ntdll/loader.c, dlls/ntdll/loadorder.c, dlls/ntdll/ntdll_misc.h
|
|
# |
|
|
if test "$enable_ntdll_DllRedirects" -eq 1; then
|
|
patch_apply ntdll-DllRedirects/0001-ntdll-Move-logic-to-determine-loadorder-HKCU-app-key.patch
|
|
patch_apply ntdll-DllRedirects/0002-ntdll-Move-logic-to-read-loadorder-registry-values-i.patch
|
|
patch_apply ntdll-DllRedirects/0003-ntdll-Move-code-to-determine-module-basename-into-se.patch
|
|
patch_apply ntdll-DllRedirects/0004-ntdll-Implement-get_redirect-function.patch
|
|
patch_apply ntdll-DllRedirects/0005-ntdll-Implement-loader-redirection-scheme.patch
|
|
(
|
|
printf '%s\n' '+ { "Michael Müller", "ntdll: Move logic to determine loadorder HKCU/app key into separate functions.", 1 },';
|
|
printf '%s\n' '+ { "Michael Müller", "ntdll: Move logic to read loadorder registry values into separate function.", 1 },';
|
|
printf '%s\n' '+ { "Michael Müller", "ntdll: Move code to determine module basename into separate function.", 1 },';
|
|
printf '%s\n' '+ { "Michael Müller", "ntdll: Implement get_redirect function.", 1 },';
|
|
printf '%s\n' '+ { "Michael Müller", "ntdll: Implement loader redirection scheme.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset ntdll-Exception
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/kernel32/debugger.c, dlls/ntdll/tests/exception.c
|
|
# |
|
|
if test "$enable_ntdll_Exception" -eq 1; then
|
|
patch_apply ntdll-Exception/0002-ntdll-OutputDebugString-should-throw-the-exception-a.patch
|
|
(
|
|
printf '%s\n' '+ { "Sebastian Lackner", "ntdll: OutputDebugString should throw the exception a second time, if a debugger is attached.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset ntdll-FileFsFullSizeInformation
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/ntdll/file.c, dlls/ntdll/tests/file.c
|
|
# |
|
|
if test "$enable_ntdll_FileFsFullSizeInformation" -eq 1; then
|
|
patch_apply ntdll-FileFsFullSizeInformation/0001-ntdll-Add-support-for-FileFsFullSizeInformation-clas.patch
|
|
(
|
|
printf '%s\n' '+ { "Jianqiu Zhang", "ntdll: Add support for FileFsFullSizeInformation class in NtQueryVolumeInformationFile.", 2 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset ntdll-FileFsVolumeInformation
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#21466] Add semi-stub for FileFsVolumeInformation information class
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/ntdll/file.c, dlls/ntdll/tests/file.c
|
|
# |
|
|
if test "$enable_ntdll_FileFsVolumeInformation" -eq 1; then
|
|
patch_apply ntdll-FileFsVolumeInformation/0001-ntdll-Add-semi-stub-for-FileFsVolumeInformation-info.patch
|
|
(
|
|
printf '%s\n' '+ { "Sebastian Lackner", "ntdll: Add semi-stub for FileFsVolumeInformation information class.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset ntdll-Fix_Alignment
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#33162] Ensure NtProtectVirtualMemory and NtCreateSection are on separate pages
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/ntdll/virtual.c
|
|
# |
|
|
if test "$enable_ntdll_Fix_Alignment" -eq 1; then
|
|
patch_apply ntdll-Fix_Alignment/0001-ntdll-Move-NtProtectVirtualMemory-and-NtCreateSectio.patch
|
|
(
|
|
printf '%s\n' '+ { "Michael Müller", "ntdll: Move NtProtectVirtualMemory and NtCreateSection to separate pages on x86.", 2 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset ntdll-LDR_MODULE
|
|
# |
|
|
# | Modified files:
|
|
# | * include/winternl.h
|
|
# |
|
|
if test "$enable_ntdll_LDR_MODULE" -eq 1; then
|
|
patch_apply ntdll-LDR_MODULE/0002-include-Update-LDR_MODULE-to-more-recent-windows-ver.patch
|
|
(
|
|
printf '%s\n' '+ { "Michael Müller", "include: Update LDR_MODULE to more recent windows versions.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset ntdll-HashLinks
|
|
# |
|
|
# | This patchset has the following (direct or indirect) dependencies:
|
|
# | * ntdll-LDR_MODULE
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/kernel32/tests/loader.c, dlls/ntdll/loader.c, include/winternl.h
|
|
# |
|
|
if test "$enable_ntdll_HashLinks" -eq 1; then
|
|
patch_apply ntdll-HashLinks/0001-ntdll-Implement-HashLinks-field-in-LDR-module-data.patch
|
|
patch_apply ntdll-HashLinks/0002-ntdll-Use-HashLinks-when-searching-for-a-dll-using-t.patch
|
|
(
|
|
printf '%s\n' '+ { "Michael Müller", "ntdll: Implement HashLinks field in LDR module data.", 1 },';
|
|
printf '%s\n' '+ { "Michael Müller", "ntdll: Use HashLinks when searching for a dll using the basename.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset ntdll-Heap_Improvements
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#43224] Improvement for heap allocation performance
|
|
# |
|
|
# | Modified files:
|
|
# | * configure.ac, dlls/ntdll/heap.c
|
|
# |
|
|
if test "$enable_ntdll_Heap_Improvements" -eq 1; then
|
|
patch_apply ntdll-Heap_Improvements/0001-ntdll-Add-helper-function-to-delete-free-blocks.patch
|
|
patch_apply ntdll-Heap_Improvements/0002-ntdll-Improve-heap-allocation-performance.patch
|
|
(
|
|
printf '%s\n' '+ { "Sebastian Lackner", "ntdll: Add helper function to delete free blocks.", 1 },';
|
|
printf '%s\n' '+ { "Sebastian Lackner", "ntdll: Improve heap allocation performance.", 2 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset ntdll-Interrupt-0x2e
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#42647] Implement stub handler for int 0x2e
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/ntdll/signal_i386.c, include/wine/exception.h
|
|
# |
|
|
if test "$enable_ntdll_Interrupt_0x2e" -eq 1; then
|
|
patch_apply ntdll-Interrupt-0x2e/0001-ntdll-Catch-windows-int-0x2e-syscall-on-i386.patch
|
|
(
|
|
printf '%s\n' '+ { "Michael Müller", "ntdll: Catch windows int 0x2e syscall on i386.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset ntdll-NtQueryEaFile
|
|
# |
|
|
# | This patchset has the following (direct or indirect) dependencies:
|
|
# | * kernel32-SetFileCompletionNotificationModes
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/ntdll/file.c, dlls/ntdll/tests/file.c
|
|
# |
|
|
if test "$enable_ntdll_NtQueryEaFile" -eq 1; then
|
|
patch_apply ntdll-NtQueryEaFile/0001-ntdll-Improve-stub-of-NtQueryEaFile.patch
|
|
(
|
|
printf '%s\n' '+ { "Sebastian Lackner", "ntdll: Improve stub of NtQueryEaFile.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset ntdll-Junction_Points
|
|
# |
|
|
# | This patchset has the following (direct or indirect) dependencies:
|
|
# | * kernel32-SetFileCompletionNotificationModes, ntdll-NtQueryEaFile
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#12401] Support for Junction Points
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/kernel32/path.c, dlls/kernel32/volume.c, dlls/ntdll/file.c, dlls/ntdll/tests/file.c, include/Makefile.in,
|
|
# | include/ntifs.h
|
|
# |
|
|
if test "$enable_ntdll_Junction_Points" -eq 1; then
|
|
patch_apply ntdll-Junction_Points/0001-ntdll-Add-support-for-junction-point-creation.patch
|
|
patch_apply ntdll-Junction_Points/0002-ntdll-Add-support-for-reading-junction-points.patch
|
|
patch_apply ntdll-Junction_Points/0003-ntdll-Add-support-for-deleting-junction-points.patch
|
|
patch_apply ntdll-Junction_Points/0004-ntdll-Add-a-test-for-junction-point-advertisement.patch
|
|
patch_apply ntdll-Junction_Points/0005-kernel32-ntdll-Add-support-for-deleting-junction-poi.patch
|
|
patch_apply ntdll-Junction_Points/0006-kernel32-Advertise-junction-point-support.patch
|
|
patch_apply ntdll-Junction_Points/0007-ntdll-tests-Add-test-for-deleting-junction-point-tar.patch
|
|
(
|
|
printf '%s\n' '+ { "Erich E. Hoover", "ntdll: Add support for junction point creation.", 1 },';
|
|
printf '%s\n' '+ { "Erich E. Hoover", "ntdll: Add support for reading junction points.", 1 },';
|
|
printf '%s\n' '+ { "Erich E. Hoover", "ntdll: Add support for deleting junction points.", 1 },';
|
|
printf '%s\n' '+ { "Erich E. Hoover", "ntdll: Add a test for junction point advertisement.", 1 },';
|
|
printf '%s\n' '+ { "Erich E. Hoover", "kernel32,ntdll: Add support for deleting junction points with RemoveDirectory.", 1 },';
|
|
printf '%s\n' '+ { "Erich E. Hoover", "kernel32: Advertise junction point support.", 1 },';
|
|
printf '%s\n' '+ { "Erich E. Hoover", "ntdll/tests: Add test for deleting junction point target.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset ntdll-LdrGetDllHandle
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/ntdll/loader.c
|
|
# |
|
|
if test "$enable_ntdll_LdrGetDllHandle" -eq 1; then
|
|
patch_apply ntdll-LdrGetDllHandle/0001-ntdll-Improve-speed-of-LdrGetDllHandle-when-searchin.patch
|
|
(
|
|
printf '%s\n' '+ { "Michael Müller", "ntdll: Improve speed of LdrGetDllHandle when searching for the basename of modules that are not loaded.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset ntdll-LdrInitializeThunk
|
|
# |
|
|
# | This patchset has the following (direct or indirect) dependencies:
|
|
# | * Staging, advapi32-CreateRestrictedToken, kernel32-COMSPEC, server-CreateProcess_ACLs, server-Misc_ACL,
|
|
# | advapi32-Token_Integrity_Level
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#45570] League of Legends 8.12+ fails to start a game (anticheat engine, incorrect implementation of
|
|
# | LdrInitializeThunk)
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/kernel32/process.c, dlls/ntdll/loader.c, dlls/ntdll/ntdll.spec, dlls/ntdll/ntdll_misc.h, dlls/ntdll/signal_arm.c,
|
|
# | dlls/ntdll/signal_arm64.c, dlls/ntdll/signal_i386.c, dlls/ntdll/signal_powerpc.c, dlls/ntdll/signal_x86_64.c,
|
|
# | dlls/ntdll/thread.c, include/winternl.h
|
|
# |
|
|
if test "$enable_ntdll_LdrInitializeThunk" -eq 1; then
|
|
patch_apply ntdll-LdrInitializeThunk/0001-ntdll-Refactor-LdrInitializeThunk.patch
|
|
(
|
|
printf '%s\n' '+ { "Andrew Wesie", "ntdll: Refactor LdrInitializeThunk.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset ntdll-NtAccessCheck
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/advapi32/tests/security.c, dlls/ntdll/sec.c
|
|
# |
|
|
if test "$enable_ntdll_NtAccessCheck" -eq 1; then
|
|
patch_apply ntdll-NtAccessCheck/0001-ntdll-Improve-invalid-paramater-handling-in-NtAccess.patch
|
|
(
|
|
printf '%s\n' '+ { "Qian Hong", "ntdll: Improve invalid paramater handling in NtAccessCheck.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset ntdll-NtContinue
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#31910] Add stub for NtContinue
|
|
# | * [#45572] League of Legends 8.12+ fails to start a game (anticheat engine, hooking of NtContinue)
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/ntdll/exception.c, dlls/ntdll/ntdll.spec, dlls/ntdll/signal_i386.c
|
|
# |
|
|
if test "$enable_ntdll_NtContinue" -eq 1; then
|
|
patch_apply ntdll-NtContinue/0001-ntdll-Add-stub-for-NtContinue.patch
|
|
patch_apply ntdll-NtContinue/0002-Use-NtContinue-to-continue-execution-after-exception.patch
|
|
(
|
|
printf '%s\n' '+ { "Michael Müller", "ntdll: Add stub for NtContinue.", 1 },';
|
|
printf '%s\n' '+ { "Andrew Wesie", "Use NtContinue to continue execution after exceptions.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset ntdll-Pipe_SpecialCharacters
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#28995] Allow special characters in pipe names
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/kernel32/tests/pipe.c, dlls/ntdll/directory.c
|
|
# |
|
|
if test "$enable_ntdll_Pipe_SpecialCharacters" -eq 1; then
|
|
patch_apply ntdll-Pipe_SpecialCharacters/0001-ntdll-Allow-special-characters-in-pipe-names.patch
|
|
(
|
|
printf '%s\n' '+ { "Michael Müller", "ntdll: Allow special characters in pipe names.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset ntdll-NtDevicePath
|
|
# |
|
|
# | This patchset has the following (direct or indirect) dependencies:
|
|
# | * ntdll-Pipe_SpecialCharacters
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#37487] Resolve \\SystemRoot\\ prefix when opening files
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/ntdll/directory.c, dlls/ntdll/tests/file.c
|
|
# |
|
|
if test "$enable_ntdll_NtDevicePath" -eq 1; then
|
|
patch_apply ntdll-NtDevicePath/0001-ntdll-Implement-opening-files-through-nt-device-path.patch
|
|
(
|
|
printf '%s\n' '+ { "Michael Müller", "ntdll: Implement opening files through nt device paths.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset ntdll-NtQueryInformationProcess-ProcessCookie
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#45569] League of Legends 8.12+ needs NtQueryInformationProcess(ProcessCookie) stub
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/ntdll/process.c
|
|
# |
|
|
if test "$enable_ntdll_NtQueryInformationProcess_ProcessCookie" -eq 1; then
|
|
patch_apply ntdll-NtQueryInformationProcess-ProcessCookie/0001-ntdll-Stub-for-ProcessCookie-in-NtQueryInformationPr.patch
|
|
(
|
|
printf '%s\n' '+ { "Andrew Wesie", "ntdll: Stub for ProcessCookie in NtQueryInformationProcess.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset ntdll-NtQuerySection
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/kernel32/tests/virtual.c
|
|
# |
|
|
if test "$enable_ntdll_NtQuerySection" -eq 1; then
|
|
patch_apply ntdll-NtQuerySection/0002-kernel32-tests-Add-tests-for-NtQuerySection.patch
|
|
(
|
|
printf '%s\n' '+ { "Dmitry Timoshkov", "kernel32/tests: Add tests for NtQuerySection.", 2 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset ntdll-NtQueryVirtualMemory
|
|
# |
|
|
# | This patchset has the following (direct or indirect) dependencies:
|
|
# | * ntdll-Pipe_SpecialCharacters, ntdll-NtDevicePath
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#23999] Implement MemorySectionName class in NtQueryVirtualMemory
|
|
# | * [#27248] Implement K32GetMappedFileName
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/kernel32/virtual.c, dlls/ntdll/directory.c, dlls/ntdll/ntdll_misc.h, dlls/ntdll/tests/info.c, dlls/ntdll/virtual.c,
|
|
# | dlls/psapi/tests/psapi_main.c, include/winternl.h, server/mapping.c, server/protocol.def
|
|
# |
|
|
if test "$enable_ntdll_NtQueryVirtualMemory" -eq 1; then
|
|
patch_apply ntdll-NtQueryVirtualMemory/0002-ntdll-Split-logic-for-MemoryBasicInformation-into-a-.patch
|
|
patch_apply ntdll-NtQueryVirtualMemory/0003-ntdll-Implement-NtQueryVirtualMemory-MemorySectionNa.patch
|
|
patch_apply ntdll-NtQueryVirtualMemory/0004-ntdll-tests-Add-tests-for-NtQueryVirtualMemory-Memor.patch
|
|
patch_apply ntdll-NtQueryVirtualMemory/0005-ntdll-tests-Add-test-to-ensure-section-name-is-full-.patch
|
|
patch_apply ntdll-NtQueryVirtualMemory/0006-ntdll-Allow-to-query-section-names-from-other-proces.patch
|
|
patch_apply ntdll-NtQueryVirtualMemory/0007-kernel32-Implement-K32GetMappedFileName.-v2.patch
|
|
patch_apply ntdll-NtQueryVirtualMemory/0008-ntdll-Resolve-drive-symlinks-before-returning-sectio.patch
|
|
patch_apply ntdll-NtQueryVirtualMemory/0009-ntdll-Unsupported-stub-for-MemoryWorkingSetExInforma.patch
|
|
(
|
|
printf '%s\n' '+ { "Dmitry Timoshkov", "ntdll: Split logic for MemoryBasicInformation into a separate function.", 1 },';
|
|
printf '%s\n' '+ { "Dmitry Timoshkov", "ntdll: Implement NtQueryVirtualMemory(MemorySectionName).", 3 },';
|
|
printf '%s\n' '+ { "Dmitry Timoshkov", "ntdll/tests: Add tests for NtQueryVirtualMemory(MemorySectionName).", 1 },';
|
|
printf '%s\n' '+ { "Sebastian Lackner", "ntdll/tests: Add test to ensure section name is full path.", 1 },';
|
|
printf '%s\n' '+ { "Sebastian Lackner", "ntdll: Allow to query section names from other processes.", 2 },';
|
|
printf '%s\n' '+ { "Dmitry Timoshkov", "kernel32: Implement K32GetMappedFileName.", 2 },';
|
|
printf '%s\n' '+ { "Sebastian Lackner", "ntdll: Resolve drive symlinks before returning section name.", 1 },';
|
|
printf '%s\n' '+ { "Andrew Wesie", "ntdll: Unsupported stub for MemoryWorkingSetExInformation.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset ntdll-NtSetLdtEntries
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/kernel32/tests/thread.c, dlls/ntdll/nt.c, libs/wine/ldt.c
|
|
# |
|
|
if test "$enable_ntdll_NtSetLdtEntries" -eq 1; then
|
|
patch_apply ntdll-NtSetLdtEntries/0001-ntdll-Implement-NtSetLdtEntries.patch
|
|
patch_apply ntdll-NtSetLdtEntries/0002-libs-wine-Allow-to-modify-reserved-LDT-entries.patch
|
|
(
|
|
printf '%s\n' '+ { "Dmitry Timoshkov", "ntdll: Implement NtSetLdtEntries.", 1 },';
|
|
printf '%s\n' '+ { "Dmitry Timoshkov", "libs/wine: Allow to modify reserved LDT entries.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset ntdll-NtSuspendProcess
|
|
# |
|
|
# | This patchset has the following (direct or indirect) dependencies:
|
|
# | * kernel32-K32GetPerformanceInfo
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#44656] Implement NtSuspendProcess and NtResumeProcess
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/ntdll/process.c, dlls/ntdll/tests/Makefile.in, dlls/ntdll/tests/process.c, server/protocol.def, server/thread.c
|
|
# |
|
|
if test "$enable_ntdll_NtSuspendProcess" -eq 1; then
|
|
patch_apply ntdll-NtSuspendProcess/0001-ntdll-Implement-NtSuspendProcess-and-NtResumeProcess.patch
|
|
(
|
|
printf '%s\n' '+ { "Michael Müller", "ntdll: Implement NtSuspendProcess and NtResumeProcess.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset ntdll-ProcessQuotaLimits
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/ntdll/process.c
|
|
# |
|
|
if test "$enable_ntdll_ProcessQuotaLimits" -eq 1; then
|
|
patch_apply ntdll-ProcessQuotaLimits/0001-ntdll-Add-fake-data-implementation-for-ProcessQuotaL.patch
|
|
(
|
|
printf '%s\n' '+ { "Qian Hong", "ntdll: Add fake data implementation for ProcessQuotaLimits class.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset ntdll-Purist_Mode
|
|
# |
|
|
# | This patchset has the following (direct or indirect) dependencies:
|
|
# | * ntdll-DllOverrides_WOW64, ntdll-Loader_Machine_Type, wow64cpu-Wow64Transition, ntdll-DllRedirects
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/ntdll/loadorder.c
|
|
# |
|
|
if test "$enable_ntdll_Purist_Mode" -eq 1; then
|
|
patch_apply ntdll-Purist_Mode/0001-ntdll-Add-dll-override-default-rule-for-purist-mode.patch
|
|
(
|
|
printf '%s\n' '+ { "Christian Costa", "ntdll: Add dll override default rule for purist mode.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset ntdll-RtlCaptureStackBackTrace
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#40868] Silence FIXME in RtlCaptureStackBackTrace stub function
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/ntdll/signal_x86_64.c
|
|
# |
|
|
if test "$enable_ntdll_RtlCaptureStackBackTrace" -eq 1; then
|
|
patch_apply ntdll-RtlCaptureStackBackTrace/0001-ntdll-Silence-FIXME-in-RtlCaptureStackBackTrace-stub.patch
|
|
(
|
|
printf '%s\n' '+ { "Jarkko Korpi", "ntdll: Silence FIXME in RtlCaptureStackBackTrace stub function.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset ntdll-RtlCreateUserThread
|
|
# |
|
|
# | This patchset has the following (direct or indirect) dependencies:
|
|
# | * Staging, advapi32-CreateRestrictedToken, kernel32-COMSPEC, server-CreateProcess_ACLs, server-Misc_ACL,
|
|
# | advapi32-Token_Integrity_Level, ntdll-LdrInitializeThunk
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#45571] League of Legends 8.12+ fails to start a game (anticheat engine, hooking of NtCreateThread/Ex)
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/ntdll/ntdll.spec, dlls/ntdll/thread.c, include/winternl.h
|
|
# |
|
|
if test "$enable_ntdll_RtlCreateUserThread" -eq 1; then
|
|
patch_apply ntdll-RtlCreateUserThread/0001-ntdll-Refactor-RtlCreateUserThread-into-NtCreateThre.patch
|
|
(
|
|
printf '%s\n' '+ { "Andrew Wesie", "ntdll: Refactor RtlCreateUserThread into NtCreateThreadEx.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset ntdll-RtlQueryPackageIdentity
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/ntdll/tests/Makefile.in, dlls/ntdll/tests/rtl.c
|
|
# |
|
|
if test "$enable_ntdll_RtlQueryPackageIdentity" -eq 1; then
|
|
patch_apply ntdll-RtlQueryPackageIdentity/0003-ntdll-tests-Add-basic-tests-for-RtlQueryPackageIdent.patch
|
|
(
|
|
printf '%s\n' '+ { "Michael Müller", "ntdll/tests: Add basic tests for RtlQueryPackageIdentity.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset ntdll-RtlGetUnloadEventTraceEx
|
|
# |
|
|
# | This patchset has the following (direct or indirect) dependencies:
|
|
# | * ntdll-RtlQueryPackageIdentity
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#44897] Implement stub for ntdll.RtlGetUnloadEventTraceEx
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/ntdll/ntdll.spec, dlls/ntdll/rtl.c
|
|
# |
|
|
if test "$enable_ntdll_RtlGetUnloadEventTraceEx" -eq 1; then
|
|
patch_apply ntdll-RtlGetUnloadEventTraceEx/0001-ntdll-Add-stub-for-RtlGetUnloadEventTraceEx.patch
|
|
(
|
|
printf '%s\n' '+ { "Michael Müller", "ntdll: Add stub for RtlGetUnloadEventTraceEx.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset ntdll-RtlSetUnhandledExceptionFilter
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#45566] League of Legends 8.12+ needs ntdll.RtlSetUnhandledExceptionFilter stub
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/ntdll/exception.c, dlls/ntdll/ntdll.spec
|
|
# |
|
|
if test "$enable_ntdll_RtlSetUnhandledExceptionFilter" -eq 1; then
|
|
patch_apply ntdll-RtlSetUnhandledExceptionFilter/0001-ntdll-Add-RtlSetUnhandledExceptionFilter-stub.patch
|
|
(
|
|
printf '%s\n' '+ { "Andrew Wesie", "ntdll: Add RtlSetUnhandledExceptionFilter stub.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset ntdll-Serial_Port_Detection
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#39793] Do a device check before returning a default serial port name
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/mountmgr.sys/device.c
|
|
# |
|
|
if test "$enable_ntdll_Serial_Port_Detection" -eq 1; then
|
|
patch_apply ntdll-Serial_Port_Detection/0001-ntdll-Do-a-device-check-before-returning-a-default-s.patch
|
|
(
|
|
printf '%s\n' '+ { "Alex Henrie", "mountmgr.sys: Do a device check before returning a default serial port name.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset ntdll-WRITECOPY
|
|
# |
|
|
# | This patchset has the following (direct or indirect) dependencies:
|
|
# | * ntdll-ThreadTime, ntdll-Hide_Wine_Exports, ntdll-User_Shared_Data
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#29384] Voobly expects correct handling of WRITECOPY memory protection
|
|
# | * [#35561] MSYS2 expects correct handling of WRITECOPY memory protection
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/advapi32/crypt.c, dlls/advapi32/tests/security.c, dlls/ntdll/ntdll_misc.h, dlls/ntdll/server.c,
|
|
# | dlls/ntdll/signal_arm.c, dlls/ntdll/signal_arm64.c, dlls/ntdll/signal_i386.c, dlls/ntdll/signal_powerpc.c,
|
|
# | dlls/ntdll/signal_x86_64.c, dlls/ntdll/thread.c, dlls/ntdll/virtual.c
|
|
# |
|
|
if test "$enable_ntdll_WRITECOPY" -eq 1; then
|
|
patch_apply ntdll-WRITECOPY/0001-ntdll-Trigger-write-watches-before-passing-userdata-.patch
|
|
patch_apply ntdll-WRITECOPY/0002-advapi-Trigger-write-watches-before-passing-userdata.patch
|
|
patch_apply ntdll-WRITECOPY/0003-ntdll-Setup-a-temporary-signal-handler-during-proces.patch
|
|
patch_apply ntdll-WRITECOPY/0004-ntdll-Properly-handle-PAGE_WRITECOPY-protection.-try.patch
|
|
(
|
|
printf '%s\n' '+ { "Sebastian Lackner", "ntdll: Trigger write watches before passing userdata pointer to wait_reply.", 1 },';
|
|
printf '%s\n' '+ { "Sebastian Lackner", "advapi: Trigger write watches before passing userdata pointer to read syscall.", 1 },';
|
|
printf '%s\n' '+ { "Michael Müller", "ntdll: Setup a temporary signal handler during process startup to handle page faults.", 2 },';
|
|
printf '%s\n' '+ { "Michael Müller", "ntdll: Properly handle PAGE_WRITECOPY protection.", 5 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset ntdll-Signal_Handler
|
|
# |
|
|
# | This patchset has the following (direct or indirect) dependencies:
|
|
# | * ntdll-ThreadTime, ntdll-Hide_Wine_Exports, ntdll-User_Shared_Data, ntdll-WRITECOPY
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/ntdll/signal_i386.c
|
|
# |
|
|
if test "$enable_ntdll_Signal_Handler" -eq 1; then
|
|
patch_apply ntdll-Signal_Handler/0001-ntdll-Avoid-stack-protector-frame-in-signal-handler-.patch
|
|
(
|
|
printf '%s\n' '+ { "Sebastian Lackner", "ntdll: Avoid stack protector frame in signal handler functions.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset ntdll-Stack_Guard_Page
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/ntdll/signal_i386.c, dlls/ntdll/signal_x86_64.c
|
|
# |
|
|
if test "$enable_ntdll_Stack_Guard_Page" -eq 1; then
|
|
patch_apply ntdll-Stack_Guard_Page/0001-ntdll-Fix-a-bug-when-exception-handling-triggers-sta.patch
|
|
(
|
|
printf '%s\n' '+ { "Sebastian Lackner", "ntdll: Fix a bug when exception handling triggers stack guard page.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset ntdll-Stack_Overflow
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/ntdll/signal_x86_64.c
|
|
# |
|
|
if test "$enable_ntdll_Stack_Overflow" -eq 1; then
|
|
patch_apply ntdll-Stack_Overflow/0001-ntdll-Trigger-stack-overflow-exception-earlier-on-x8.patch
|
|
(
|
|
printf '%s\n' '+ { "Sebastian Lackner", "ntdll: Trigger stack overflow exception earlier on x86_64.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset ntdll-Status_Mapping
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/ntdll/file.c, dlls/ntdll/tests/file.c
|
|
# |
|
|
if test "$enable_ntdll_Status_Mapping" -eq 1; then
|
|
patch_apply ntdll-Status_Mapping/0001-ntdll-Return-STATUS_INVALID_DEVICE_REQUEST-when-tryi.patch
|
|
(
|
|
printf '%s\n' '+ { "Sebastian Lackner", "ntdll: Return STATUS_INVALID_DEVICE_REQUEST when trying to call NtReadFile on directory.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset ntdll-SystemInterruptInformation
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#39123] Return buffer filled with random values from SystemInterruptInformation
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/ntdll/nt.c
|
|
# |
|
|
if test "$enable_ntdll_SystemInterruptInformation" -eq 1; then
|
|
patch_apply ntdll-SystemInterruptInformation/0001-ntdll-Return-buffer-filled-with-random-values-from-S.patch
|
|
(
|
|
printf '%s\n' '+ { "Sebastian Lackner", "ntdll: Return buffer filled with random values from SystemInterruptInformation.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset ntdll-SystemModuleInformation
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#45550] League of Legends 8.15+ anticheat fails due to incorrect implementation of
|
|
# | NtQuerySystemInformation(SystemModuleInformation)
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/ntdll/nt.c
|
|
# |
|
|
if test "$enable_ntdll_SystemModuleInformation" -eq 1; then
|
|
patch_apply ntdll-SystemModuleInformation/0001-ntdll-Don-t-call-LdrQueryProcessModuleInformation-in.patch
|
|
(
|
|
printf '%s\n' '+ { "Zebediah Figura", "ntdll: Don'\''t call LdrQueryProcessModuleInformation in NtQuerySystemInformation(SystemModuleInformation).", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset ntdll-SystemRoot_Symlink
|
|
# |
|
|
# | This patchset has the following (direct or indirect) dependencies:
|
|
# | * ntdll-Exception
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/ntdll/om.c
|
|
# |
|
|
if test "$enable_ntdll_SystemRoot_Symlink" -eq 1; then
|
|
patch_apply ntdll-SystemRoot_Symlink/0001-ntdll-Add-special-handling-for-SystemRoot-to-satisfy.patch
|
|
(
|
|
printf '%s\n' '+ { "Sebastian Lackner", "ntdll: Add special handling for \\SystemRoot to satisfy MSYS2 case-insensitive system check.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset ntdll-Threading
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/ntdll/thread.c
|
|
# |
|
|
if test "$enable_ntdll_Threading" -eq 1; then
|
|
patch_apply ntdll-Threading/0001-ntdll-Fix-race-condition-when-threads-are-killed-dur.patch
|
|
(
|
|
printf '%s\n' '+ { "Sebastian Lackner", "ntdll: Fix race-condition when threads are killed during shutdown.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset ntdll-Wait_User_APC
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#14697] Do not allow interruption of system APC in server_select
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/kernel32/tests/sync.c, dlls/ntdll/server.c
|
|
# |
|
|
if test "$enable_ntdll_Wait_User_APC" -eq 1; then
|
|
patch_apply ntdll-Wait_User_APC/0001-ntdll-Block-signals-while-executing-system-APCs.patch
|
|
(
|
|
printf '%s\n' '+ { "Sebastian Lackner", "ntdll: Block signals while executing system APCs.", 2 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset ntdll-Zero_mod_name
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/ntdll/loader.c
|
|
# |
|
|
if test "$enable_ntdll_Zero_mod_name" -eq 1; then
|
|
patch_apply ntdll-Zero_mod_name/0001-ntdll-Initialize-mod_name-to-zero.patch
|
|
(
|
|
printf '%s\n' '+ { "Qian Hong", "ntdll: Initialize mod_name to zero.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset ntdll-futex-condition-var
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#45524] Add a futex-based implementation of condition variables
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/ntdll/sync.c
|
|
# |
|
|
if test "$enable_ntdll_futex_condition_var" -eq 1; then
|
|
patch_apply ntdll-futex-condition-var/0001-ntdll-Add-a-futex-based-condition-variable-implement.patch
|
|
(
|
|
printf '%s\n' '+ { "Zebediah Figura", "ntdll: Add a futex-based condition variable implementation.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset ntdll-set_full_cpu_context
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/ntdll/signal_i386.c
|
|
# |
|
|
if test "$enable_ntdll_set_full_cpu_context" -eq 1; then
|
|
patch_apply ntdll-set_full_cpu_context/0001-ntdll-Add-back-SS-segment-prefixes-in-set_full_cpu_c.patch
|
|
(
|
|
printf '%s\n' '+ { "Sebastian Lackner", "ntdll: Add back SS segment prefixes in set_full_cpu_context.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset ntoskrnl-Stubs
|
|
# |
|
|
# | This patchset has the following (direct or indirect) dependencies:
|
|
# | * Compiler_Warnings
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/ntoskrnl.exe/ntoskrnl.c, dlls/ntoskrnl.exe/ntoskrnl.exe.spec, dlls/ntoskrnl.exe/tests/driver.c, include/ddk/wdm.h,
|
|
# | include/winnt.h
|
|
# |
|
|
if test "$enable_ntoskrnl_Stubs" -eq 1; then
|
|
patch_apply ntoskrnl-Stubs/0005-ntoskrnl.exe-Improve-KeReleaseMutex-stub.patch
|
|
patch_apply ntoskrnl-Stubs/0006-ntoskrnl.exe-Improve-KeInitializeSemaphore-stub.patch
|
|
patch_apply ntoskrnl-Stubs/0009-ntoskrnl.exe-Implement-MmMapLockedPages-and-MmUnmapL.patch
|
|
patch_apply ntoskrnl-Stubs/0010-ntoskrnl.exe-Implement-KeInitializeMutex.patch
|
|
patch_apply ntoskrnl-Stubs/0011-ntoskrnl.exe-Add-IoGetDeviceAttachmentBaseRef-stub.patch
|
|
patch_apply ntoskrnl-Stubs/0013-ntoskrnl.exe-Implement-NtBuildNumber.patch
|
|
patch_apply ntoskrnl-Stubs/0014-ntoskrnl.exe-Implement-ExInitializeNPagedLookasideLi.patch
|
|
(
|
|
printf '%s\n' '+ { "Alexander Morozov", "ntoskrnl.exe: Improve KeReleaseMutex stub.", 1 },';
|
|
printf '%s\n' '+ { "Alexander Morozov", "ntoskrnl.exe: Improve KeInitializeSemaphore stub.", 1 },';
|
|
printf '%s\n' '+ { "Christian Costa", "ntoskrnl.exe: Implement MmMapLockedPages and MmUnmapLockedPages.", 1 },';
|
|
printf '%s\n' '+ { "Alexander Morozov", "ntoskrnl.exe: Implement KeInitializeMutex.", 1 },';
|
|
printf '%s\n' '+ { "Jarkko Korpi", "ntoskrnl.exe: Add IoGetDeviceAttachmentBaseRef stub.", 1 },';
|
|
printf '%s\n' '+ { "Michael Müller", "ntoskrnl.exe: Implement NtBuildNumber.", 1 },';
|
|
printf '%s\n' '+ { "Michael Müller", "ntoskrnl.exe: Implement ExInitializeNPagedLookasideList.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset nvcuvid-CUDA_Video_Support
|
|
# |
|
|
# | This patchset has the following (direct or indirect) dependencies:
|
|
# | * nvcuda-CUDA_Support, nvapi-Stub_DLL
|
|
# |
|
|
# | Modified files:
|
|
# | * configure.ac, dlls/nvcuvid/Makefile.in, dlls/nvcuvid/nvcuvid.c, dlls/nvcuvid/nvcuvid.spec, include/Makefile.in,
|
|
# | include/cuviddec.h, include/nvcuvid.h
|
|
# |
|
|
if test "$enable_nvcuvid_CUDA_Video_Support" -eq 1; then
|
|
patch_apply nvcuvid-CUDA_Video_Support/0001-nvcuvid-First-implementation.patch
|
|
(
|
|
printf '%s\n' '+ { "Michael Müller", "nvcuvid: First implementation.", 2 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset nvencodeapi-Video_Encoder
|
|
# |
|
|
# | This patchset has the following (direct or indirect) dependencies:
|
|
# | * nvcuda-CUDA_Support, nvapi-Stub_DLL, nvcuvid-CUDA_Video_Support
|
|
# |
|
|
# | Modified files:
|
|
# | * configure.ac, dlls/nvencodeapi/Makefile.in, dlls/nvencodeapi/nvencodeapi.c, dlls/nvencodeapi/nvencodeapi.spec,
|
|
# | dlls/nvencodeapi64/Makefile.in, dlls/nvencodeapi64/nvencodeapi64.spec, include/Makefile.in, include/nvencodeapi.h
|
|
# |
|
|
if test "$enable_nvencodeapi_Video_Encoder" -eq 1; then
|
|
patch_apply nvencodeapi-Video_Encoder/0001-nvencodeapi-First-implementation.patch
|
|
patch_apply nvencodeapi-Video_Encoder/0002-nvencodeapi-Add-debian-specific-paths-to-native-libr.patch
|
|
patch_apply nvencodeapi-Video_Encoder/0003-nvencodeapi-Add-support-for-version-6.0.patch
|
|
(
|
|
printf '%s\n' '+ { "Michael Müller", "nvencodeapi: First implementation.", 1 },';
|
|
printf '%s\n' '+ { "Michael Müller", "nvencodeapi: Add debian specific paths to native library.", 1 },';
|
|
printf '%s\n' '+ { "Michael Müller", "nvencodeapi: Add support for version 6.0.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset ole32-HGLOBALStream
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#41738] Implement proper refcounting and locking for HGLOBAL based IStream
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/ole32/hglobalstream.c, dlls/ole32/tests/hglobalstream.c
|
|
# |
|
|
if test "$enable_ole32_HGLOBALStream" -eq 1; then
|
|
patch_apply ole32-HGLOBALStream/0001-ole32-tests-Add-a-bunch-of-tests-for-HGLOBAL-based-I.patch
|
|
patch_apply ole32-HGLOBALStream/0002-ole32-Add-a-check-for-hglobal-pointer-to-GetHGlobalF.patch
|
|
patch_apply ole32-HGLOBALStream/0003-ole32-Add-a-wrapper-for-memory-block-managed-by-HGLO.patch
|
|
patch_apply ole32-HGLOBALStream/0004-ole32-Set-DebugInfo-Spare-0-for-handle_wrapper-lock.patch
|
|
patch_apply ole32-HGLOBALStream/0005-ole32-Allow-moving-a-being-reallocated-block-of-memo.patch
|
|
patch_apply ole32-HGLOBALStream/0006-ole32-Improve-thread-safety-of-HGLOBALStreamImpl_Rea.patch
|
|
patch_apply ole32-HGLOBALStream/0007-ole32-Improve-thread-safety-of-HGLOBALStreamImpl_Wri.patch
|
|
(
|
|
printf '%s\n' '+ { "Dmitry Timoshkov", "ole32/tests: Add a bunch of tests for HGLOBAL based IStream::Clone.", 1 },';
|
|
printf '%s\n' '+ { "Dmitry Timoshkov", "ole32: Add a check for hglobal pointer to GetHGlobalFromStream.", 1 },';
|
|
printf '%s\n' '+ { "Dmitry Timoshkov", "ole32: Add a wrapper for memory block managed by HGLOBAL based IStream.", 1 },';
|
|
printf '%s\n' '+ { "Sebastian Lackner", "ole32: Set DebugInfo->Spare[0] for handle_wrapper lock.", 1 },';
|
|
printf '%s\n' '+ { "Dmitry Timoshkov", "ole32: Allow moving a being reallocated block of memory managed by HGLOBAL based IStream.", 1 },';
|
|
printf '%s\n' '+ { "Sebastian Lackner", "ole32: Improve thread-safety of HGLOBALStreamImpl_Read.", 1 },';
|
|
printf '%s\n' '+ { "Sebastian Lackner", "ole32: Improve thread-safety of HGLOBALStreamImpl_Write.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset ole32-STGPROP
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#42046] Multiple fixes for ole32 property storage
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/ole32/enumx.c, dlls/ole32/enumx.h, dlls/ole32/stg_prop.c
|
|
# |
|
|
if test "$enable_ole32_STGPROP" -eq 1; then
|
|
patch_apply ole32-STGPROP/0001-ole32-Correctly-parse-unicode-property-storage-dicti.patch
|
|
patch_apply ole32-STGPROP/0003-ole32-Implement-returning-a-name-in-IEnumSTATPROPSTG.patch
|
|
(
|
|
printf '%s\n' '+ { "Michael Müller", "ole32: Correctly parse unicode property storage dictionaries.", 1 },';
|
|
printf '%s\n' '+ { "Michael Müller", "ole32: Implement returning a name in IEnumSTATPROPSTG.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset oleaut32-CreateTypeLib
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#8780] Forward CreateTypeLib to CreateTypeLib2
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/oleaut32/typelib.c
|
|
# |
|
|
if test "$enable_oleaut32_CreateTypeLib" -eq 1; then
|
|
patch_apply oleaut32-CreateTypeLib/0001-oleaut32-Implement-semi-stub-for-CreateTypeLib.patch
|
|
(
|
|
printf '%s\n' '+ { "Alistair Leslie-Hughes", "oleaut32: Implement semi-stub for CreateTypeLib.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset oleaut32-DispCallFunc
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#40160] Fix calling function with instance and VARIANT return type in DispCallFunc
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/oleaut32/tests/typelib.c, dlls/oleaut32/typelib.c
|
|
# |
|
|
if test "$enable_oleaut32_DispCallFunc" -eq 1; then
|
|
patch_apply oleaut32-DispCallFunc/0001-oleaut32-Fix-calling-function-with-instance-and-VARI.patch
|
|
(
|
|
printf '%s\n' '+ { "Dmitry Timoshkov", "oleaut32: Fix calling function with instance and VARIANT return type.", 2 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset oleaut32-ITypeInfo_fnInvoke
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#41488] Accept DISP_E_PARAMNOTFOUND for missing optional param in typelib implementation
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/oleaut32/tests/tmarshal.c, dlls/oleaut32/typelib.c
|
|
# |
|
|
if test "$enable_oleaut32_ITypeInfo_fnInvoke" -eq 1; then
|
|
patch_apply oleaut32-ITypeInfo_fnInvoke/0001-oleaut32-Accept-DISP_E_PARAMNOTFOUND-for-missing-opt.patch
|
|
(
|
|
printf '%s\n' '+ { "Dmitry Timoshkov", "oleaut32: Accept DISP_E_PARAMNOTFOUND for missing optional parameters in ITypeInfo::Invoke implementation.", 3 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset oleaut32-Load_Save_EMF
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#40523] Implement support for loading and saving EMF to IPicture interface
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/oleaut32/olepicture.c, dlls/oleaut32/tests/olepicture.c
|
|
# |
|
|
if test "$enable_oleaut32_Load_Save_EMF" -eq 1; then
|
|
patch_apply oleaut32-Load_Save_EMF/0001-oleaut32-tests-Add-some-tests-for-loading-and-saving.patch
|
|
patch_apply oleaut32-Load_Save_EMF/0002-oleaut32-Add-support-for-loading-and-saving-EMF-to-I.patch
|
|
(
|
|
printf '%s\n' '+ { "Dmitry Timoshkov", "oleaut32/tests: Add some tests for loading and saving EMF using IPicture interface.", 1 },';
|
|
printf '%s\n' '+ { "Dmitry Timoshkov", "oleaut32: Add support for loading and saving EMF to IPicture interface.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset oleaut32-OLEPictureImpl_SaveAsFile
|
|
# |
|
|
# | This patchset has the following (direct or indirect) dependencies:
|
|
# | * oleaut32-Load_Save_EMF
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#8532] Implement a better stub for IPicture::SaveAsFile
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/oleaut32/olepicture.c, dlls/oleaut32/tests/olepicture.c
|
|
# |
|
|
if test "$enable_oleaut32_OLEPictureImpl_SaveAsFile" -eq 1; then
|
|
patch_apply oleaut32-OLEPictureImpl_SaveAsFile/0002-oleaut32-Implement-a-better-stub-for-IPicture-SaveAs.patch
|
|
patch_apply oleaut32-OLEPictureImpl_SaveAsFile/0003-oleaut32-Implement-SaveAsFile-for-PICTYPE_ENHMETAFIL.patch
|
|
(
|
|
printf '%s\n' '+ { "Dmitry Timoshkov", "oleaut32: Implement a better stub for IPicture::SaveAsFile.", 1 },';
|
|
printf '%s\n' '+ { "Sebastian Lackner", "oleaut32: Implement SaveAsFile for PICTYPE_ENHMETAFILE.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset oleaut32-OleLoadPicture
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#39474] Create DIB section in OleLoadPicture
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/oleaut32/olepicture.c, dlls/oleaut32/tests/olepicture.c
|
|
# |
|
|
if test "$enable_oleaut32_OleLoadPicture" -eq 1; then
|
|
patch_apply oleaut32-OleLoadPicture/0001-oleaut32-OleLoadPicture-should-create-a-DIB-section-.patch
|
|
patch_apply oleaut32-OleLoadPicture/0002-oleaut32-Make-OleLoadPicture-load-DIBs-using-WIC-dec.patch
|
|
(
|
|
printf '%s\n' '+ { "Dmitry Timoshkov", "oleaut32: OleLoadPicture should create a DIB section for a being loaded bitmap.", 3 },';
|
|
printf '%s\n' '+ { "Dmitry Timoshkov", "oleaut32: Make OleLoadPicture load DIBs using WIC decoder.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset oleaut32-OleLoadPictureFile
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/oleaut32/olepicture.c, dlls/oleaut32/tests/olepicture.c
|
|
# |
|
|
if test "$enable_oleaut32_OleLoadPictureFile" -eq 1; then
|
|
patch_apply oleaut32-OleLoadPictureFile/0001-oleaut32-Do-not-reimplement-OleLoadPicture-in-OleLoa.patch
|
|
patch_apply oleaut32-OleLoadPictureFile/0002-oleaut32-Factor-out-stream-creation-from-OleLoadPict.patch
|
|
patch_apply oleaut32-OleLoadPictureFile/0003-oleaut32-Implement-OleLoadPictureFile.patch
|
|
(
|
|
printf '%s\n' '+ { "Dmitry Timoshkov", "oleaut32: Do not reimplement OleLoadPicture in OleLoadPicturePath.", 1 },';
|
|
printf '%s\n' '+ { "Dmitry Timoshkov", "oleaut32: Factor out stream creation from OleLoadPicturePath.", 1 },';
|
|
printf '%s\n' '+ { "Dmitry Timoshkov", "oleaut32: Implement OleLoadPictureFile.", 2 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset oleaut32-TKIND_COCLASS
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#19016] Implement marshalling for TKIND_COCLASS
|
|
# | * [#39799] Implement ITypeInfo_fnInvoke for TKIND_COCLASS
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/oleaut32/tests/tmarshal.c, dlls/oleaut32/tmarshal.c, dlls/oleaut32/typelib.c
|
|
# |
|
|
if test "$enable_oleaut32_TKIND_COCLASS" -eq 1; then
|
|
patch_apply oleaut32-TKIND_COCLASS/0001-oleaut32-Pass-a-HREFTYPE-to-get_iface_guid.patch
|
|
patch_apply oleaut32-TKIND_COCLASS/0002-oleaut32-Implement-ITypeInfo_fnInvoke-for-TKIND_COCL.patch
|
|
patch_apply oleaut32-TKIND_COCLASS/0003-oleaut32-Handle-TKIND_COCLASS-in-proxy-stub-marshall.patch
|
|
patch_apply oleaut32-TKIND_COCLASS/0004-oleaut32-tests-Add-a-test-for-TKIND_COCLASS-in-proxy.patch
|
|
(
|
|
printf '%s\n' '+ { "Sebastian Lackner", "oleaut32: Pass a HREFTYPE to get_iface_guid.", 1 },';
|
|
printf '%s\n' '+ { "Sebastian Lackner", "oleaut32: Implement ITypeInfo_fnInvoke for TKIND_COCLASS in arguments.", 1 },';
|
|
printf '%s\n' '+ { "Sebastian Lackner", "oleaut32: Handle TKIND_COCLASS in proxy/stub marshalling.", 1 },';
|
|
printf '%s\n' '+ { "Sebastian Lackner", "oleaut32/tests: Add a test for TKIND_COCLASS in proxy/stub marshalling.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset oleaut32-x86_64_Marshaller
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#26768] Implement stubless proxies on x86_64
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/oleaut32/tmarshal.c, dlls/oleaut32/typelib.c, dlls/oleaut32/typelib.h
|
|
# |
|
|
if test "$enable_oleaut32_x86_64_Marshaller" -eq 1; then
|
|
patch_apply oleaut32-x86_64_Marshaller/0001-oleaut32-Initial-preparation-to-make-marshalling-com.patch
|
|
patch_apply oleaut32-x86_64_Marshaller/0002-oleaut32-Implement-TMStubImpl_Invoke-on-x86_64.patch
|
|
patch_apply oleaut32-x86_64_Marshaller/0003-oleaut32-Implement-asm-proxys-for-x86_64.patch
|
|
(
|
|
printf '%s\n' '+ { "Sebastian Lackner", "oleaut32: Initial preparation to make marshalling compatible with x86_64.", 1 },';
|
|
printf '%s\n' '+ { "Sebastian Lackner", "oleaut32: Implement TMStubImpl_Invoke on x86_64.", 1 },';
|
|
printf '%s\n' '+ { "Sebastian Lackner", "oleaut32: Implement asm proxys for x86_64.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset opengl32-Revert_Disable_Ext
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/opengl32/wgl.c
|
|
# |
|
|
if test "$enable_opengl32_Revert_Disable_Ext" -eq 1; then
|
|
patch_apply opengl32-Revert_Disable_Ext/0001-Revert-opengl32-Return-a-NULL-pointer-for-functions-.patch
|
|
(
|
|
printf '%s\n' '+ { "Sebastian Lackner", "Revert \"opengl32: Return a NULL pointer for functions requiring unsupported or disabled extensions.\".", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset opengl32-glDebugMessageCallback
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#38402] Fix calling convention of glDebugMessageCallback callback function
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/opengl32/make_opengl, dlls/opengl32/opengl_ext.c, dlls/opengl32/tests/opengl.c, dlls/opengl32/wgl.c
|
|
# |
|
|
if test "$enable_opengl32_glDebugMessageCallback" -eq 1; then
|
|
patch_apply opengl32-glDebugMessageCallback/0002-opengl32-Add-wrappers-for-glDebugMessageCallback-to-.patch
|
|
(
|
|
printf '%s\n' '+ { "Sebastian Lackner", "opengl32: Add wrappers for glDebugMessageCallback to handle calling convention differences.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset opengl32-wglChoosePixelFormat
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#43638] Treat invalid pixel types as PFD_TYPE_RGBA in wglChoosePixelFormat
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/opengl32/tests/opengl.c, dlls/opengl32/wgl.c
|
|
# |
|
|
if test "$enable_opengl32_wglChoosePixelFormat" -eq 1; then
|
|
patch_apply opengl32-wglChoosePixelFormat/0001-opengl32-Treat-invalid-pixel-types-as-PFD_TYPE_RGBA-.patch
|
|
(
|
|
printf '%s\n' '+ { "Michael Müller", "opengl32: Treat invalid pixel types as PFD_TYPE_RGBA in wglChoosePixelFormat.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset packager-DllMain
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#43472] Prefer native version of packager.dll
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/packager/packager_main.c
|
|
# |
|
|
if test "$enable_packager_DllMain" -eq 1; then
|
|
patch_apply packager-DllMain/0001-packager-Prefer-native-version.patch
|
|
(
|
|
printf '%s\n' '+ { "Sebastian Lackner", "packager: Prefer native version.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset quartz-MediaSeeking_Positions
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/quartz/filtergraph.c, dlls/strmbase/pospass.c
|
|
# |
|
|
if test "$enable_quartz_MediaSeeking_Positions" -eq 1; then
|
|
patch_apply quartz-MediaSeeking_Positions/0001-strmbase-Fix-MediaSeekingPassThru_GetPositions-retur.patch
|
|
patch_apply quartz-MediaSeeking_Positions/0002-quartz-Include-the-stream-position-in-addition-to-th.patch
|
|
patch_apply quartz-MediaSeeking_Positions/0003-quartz-Implement-MediaSeeking_GetCurrentPosition-on-.patch
|
|
patch_apply quartz-MediaSeeking_Positions/0004-quartz-Implement-MediaSeeking_GetStopPosition-on-top.patch
|
|
patch_apply quartz-MediaSeeking_Positions/0005-quartz-Remove-unused-cache-of-MediaSeeking-stop-posi.patch
|
|
(
|
|
printf '%s\n' '+ { "Erich E. Hoover", "strmbase: Fix MediaSeekingPassThru_GetPositions return when the pins are unconnected.", 1 },';
|
|
printf '%s\n' '+ { "Erich E. Hoover", "quartz: Include the stream position in addition to the reference clock offset in the time returned by MediaSeeking_GetPositions.", 1 },';
|
|
printf '%s\n' '+ { "Erich E. Hoover", "quartz: Implement MediaSeeking_GetCurrentPosition on top of MediaSeeking_GetPositions.", 1 },';
|
|
printf '%s\n' '+ { "Erich E. Hoover", "quartz: Implement MediaSeeking_GetStopPosition on top of MediaSeeking_GetPositions.", 1 },';
|
|
printf '%s\n' '+ { "Erich E. Hoover", "quartz: Remove unused cache of MediaSeeking stop position.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset quartz-Silence_FIXMEs
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/quartz/parser.c
|
|
# |
|
|
if test "$enable_quartz_Silence_FIXMEs" -eq 1; then
|
|
patch_apply quartz-Silence_FIXMEs/0001-quartz-Don-t-print-FIXME-for-IAMFilterMiscFlags-in-p.patch
|
|
(
|
|
printf '%s\n' '+ { "Christian Costa", "quartz: Don'\''t print FIXME for IAMFilterMiscFlags in parsers.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset riched20-Class_Tests
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/riched20/tests/editor.c
|
|
# |
|
|
if test "$enable_riched20_Class_Tests" -eq 1; then
|
|
patch_apply riched20-Class_Tests/0001-riched20-tests-Add-a-test-to-see-what-richedit-class.patch
|
|
(
|
|
printf '%s\n' '+ { "Dmitry Timoshkov", "riched20/tests: Add a test to see what richedit class flavours should be available.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset riched20-IText_Interface
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/riched20/richole.c, dlls/riched20/run.c, dlls/riched20/tests/richole.c
|
|
# |
|
|
if test "$enable_riched20_IText_Interface" -eq 1; then
|
|
patch_apply riched20-IText_Interface/0001-riched20-Implement-IText-Selection-Range-Set-Start-E.patch
|
|
patch_apply riched20-IText_Interface/0002-riched20-Stub-for-ITextFont-interface-and-implement-.patch
|
|
patch_apply riched20-IText_Interface/0003-riched20-Stub-for-ITextPara-interface-and-implement-.patch
|
|
patch_apply riched20-IText_Interface/0004-riched20-Fix-ME_RunOfsFromCharOfs-when-nCharOfs-strl.patch
|
|
patch_apply riched20-IText_Interface/0005-riched20-Implement-ITextRange-GetText.patch
|
|
patch_apply riched20-IText_Interface/0006-riched20-Implement-ITextRange-SetRange.patch
|
|
patch_apply riched20-IText_Interface/0007-riched20-Implement-ITextRange-IsEqual.patch
|
|
patch_apply riched20-IText_Interface/0008-riched20-Implement-ITextRange-GetStoryLength.patch
|
|
patch_apply riched20-IText_Interface/0009-riched20-Implement-ITextSelection-GetStoryLength.patch
|
|
patch_apply riched20-IText_Interface/0010-riched20-Silence-repeated-FIXMEs-triggered-by-Adobe-.patch
|
|
(
|
|
printf '%s\n' '+ { "Jactry Zeng", "riched20: Implement IText{Selection, Range}::Set{Start, End}.", 1 },';
|
|
printf '%s\n' '+ { "Jactry Zeng", "riched20: Stub for ITextFont interface and implement ITextRange::GetFont and ITextSelection::GetFont.", 1 },';
|
|
printf '%s\n' '+ { "Jactry Zeng", "riched20: Stub for ITextPara interface and implement ITextRange::GetPara.", 1 },';
|
|
printf '%s\n' '+ { "Jactry Zeng", "riched20: Fix ME_RunOfsFromCharOfs() when nCharOfs > strlen().", 1 },';
|
|
printf '%s\n' '+ { "Jactry Zeng", "riched20: Implement ITextRange::GetText.", 1 },';
|
|
printf '%s\n' '+ { "Jactry Zeng", "riched20: Implement ITextRange::SetRange.", 1 },';
|
|
printf '%s\n' '+ { "Jactry Zeng", "riched20: Implement ITextRange::IsEqual.", 1 },';
|
|
printf '%s\n' '+ { "Jactry Zeng", "riched20: Implement ITextRange::GetStoryLength.", 1 },';
|
|
printf '%s\n' '+ { "Jactry Zeng", "riched20: Implement ITextSelection::GetStoryLength.", 1 },';
|
|
printf '%s\n' '+ { "Sebastian Lackner", "riched20: Silence repeated FIXMEs triggered by Adobe Reader.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset server-ClipCursor
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#38791] Fix handling of cursor position clipping
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/user32/tests/input.c, server/queue.c
|
|
# |
|
|
if test "$enable_server_ClipCursor" -eq 1; then
|
|
patch_apply server-ClipCursor/0001-server-Fix-handling-of-cursor-position-clipping.patch
|
|
(
|
|
printf '%s\n' '+ { "Sebastian Lackner", "server: Improve handling of cursor position clipping for empty rectangle.", 2 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset server-Desktop_Refcount
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/user32/tests/winstation.c, dlls/user32/winstation.c, include/winuser.h, programs/explorer/desktop.c,
|
|
# | server/async.c, server/atom.c, server/change.c, server/clipboard.c, server/completion.c, server/console.c,
|
|
# | server/debugger.c, server/device.c, server/directory.c, server/event.c, server/fd.c, server/file.c, server/handle.c,
|
|
# | server/handle.h, server/hook.c, server/mailslot.c, server/mapping.c, server/mutex.c, server/named_pipe.c,
|
|
# | server/object.c, server/object.h, server/process.c, server/queue.c, server/registry.c, server/request.c,
|
|
# | server/semaphore.c, server/serial.c, server/signal.c, server/snapshot.c, server/sock.c, server/symlink.c,
|
|
# | server/thread.c, server/timer.c, server/token.c, server/winstation.c
|
|
# |
|
|
if test "$enable_server_Desktop_Refcount" -eq 1; then
|
|
patch_apply server-Desktop_Refcount/0001-server-Introduce-a-new-alloc_handle-object-callback..patch
|
|
patch_apply server-Desktop_Refcount/0002-server-Track-desktop-handle-count-more-correctly.patch
|
|
patch_apply server-Desktop_Refcount/0003-user32-Implement-CWF_CREATE_ONLY-flag-for-CreateWind.patch
|
|
patch_apply server-Desktop_Refcount/0004-server-Assign-random-name-when-no-name-was-passed-to.patch
|
|
(
|
|
printf '%s\n' '+ { "Sebastian Lackner", "server: Introduce a new alloc_handle object callback.", 2 },';
|
|
printf '%s\n' '+ { "Sebastian Lackner", "server: Track desktop handle count more correctly.", 1 },';
|
|
printf '%s\n' '+ { "Sebastian Lackner", "user32: Implement CWF_CREATE_ONLY flag for CreateWindowStation.", 1 },';
|
|
printf '%s\n' '+ { "Sebastian Lackner", "server: Assign random name when no name was passed to create_winstation.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset server-FileEndOfFileInformation
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/ntdll/file.c, server/fd.c, server/protocol.def
|
|
# |
|
|
if test "$enable_server_FileEndOfFileInformation" -eq 1; then
|
|
patch_apply server-FileEndOfFileInformation/0001-ntdll-Set-EOF-on-file-which-has-a-memory-mapping-sho.patch
|
|
patch_apply server-FileEndOfFileInformation/0002-server-Growing-files-which-are-mapped-to-memory-shou.patch
|
|
(
|
|
printf '%s\n' '+ { "Qian Hong", "ntdll: Set EOF on file which has a memory mapping should fail.", 1 },';
|
|
printf '%s\n' '+ { "Sebastian Lackner", "server: Growing files which are mapped to memory should still work.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset server-Stored_ACLs
|
|
# |
|
|
# | This patchset has the following (direct or indirect) dependencies:
|
|
# | * ntdll-DOS_Attributes, server-File_Permissions
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#33576] Support for stored file ACLs
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/advapi32/tests/security.c, include/wine/port.h, server/change.c, server/file.c, server/file.h, server/object.c,
|
|
# | server/object.h
|
|
# |
|
|
if test "$enable_server_Stored_ACLs" -eq 1; then
|
|
patch_apply server-Stored_ACLs/0001-server-Unify-the-storage-of-security-attributes-for-.patch
|
|
patch_apply server-Stored_ACLs/0002-server-Unify-the-retrieval-of-security-attributes-fo.patch
|
|
patch_apply server-Stored_ACLs/0003-server-Add-a-helper-function-set_sd_from_token_inter.patch
|
|
patch_apply server-Stored_ACLs/0004-server-Temporarily-store-the-full-security-descripto.patch
|
|
patch_apply server-Stored_ACLs/0005-server-Store-file-security-attributes-with-extended-.patch
|
|
patch_apply server-Stored_ACLs/0006-server-Convert-return-of-file-security-masks-with-ge.patch
|
|
patch_apply server-Stored_ACLs/0007-server-Retrieve-file-security-attributes-with-extend.patch
|
|
(
|
|
printf '%s\n' '+ { "Erich E. Hoover", "server: Unify the storage of security attributes for files and directories.", 7 },';
|
|
printf '%s\n' '+ { "Erich E. Hoover", "server: Unify the retrieval of security attributes for files and directories.", 7 },';
|
|
printf '%s\n' '+ { "Sebastian Lackner", "server: Add a helper function set_sd_from_token_internal to merge two security descriptors.", 1 },';
|
|
printf '%s\n' '+ { "Sebastian Lackner", "server: Temporarily store the full security descriptor for file objects.", 1 },';
|
|
printf '%s\n' '+ { "Erich E. Hoover", "server: Store file security attributes with extended file attributes.", 8 },';
|
|
printf '%s\n' '+ { "Erich E. Hoover", "server: Convert return of file security masks with generic access mappings.", 7 },';
|
|
printf '%s\n' '+ { "Erich E. Hoover", "server: Retrieve file security attributes with extended file attributes.", 7 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset server-Inherited_ACLs
|
|
# |
|
|
# | This patchset has the following (direct or indirect) dependencies:
|
|
# | * ntdll-DOS_Attributes, server-File_Permissions, server-Stored_ACLs
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/advapi32/tests/security.c, server/file.c
|
|
# |
|
|
if test "$enable_server_Inherited_ACLs" -eq 1; then
|
|
patch_apply server-Inherited_ACLs/0001-server-Inherit-security-attributes-from-parent-direc.patch
|
|
(
|
|
printf '%s\n' '+ { "Erich E. Hoover", "server: Inherit security attributes from parent directories on creation.", 7 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset server-Key_State
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#31899] Implement locking and synchronization of key states
|
|
# | * [#35907] Fix caps lock state issues with multiple processes
|
|
# |
|
|
# | Modified files:
|
|
# | * server/queue.c
|
|
# |
|
|
if test "$enable_server_Key_State" -eq 1; then
|
|
patch_apply server-Key_State/0001-server-Introduce-a-helper-function-to-update-the-thr.patch
|
|
patch_apply server-Key_State/0002-server-Implement-locking-and-synchronization-of-keys.patch
|
|
(
|
|
printf '%s\n' '+ { "Sebastian Lackner", "server: Introduce a helper function to update the thread_input key state.", 1 },';
|
|
printf '%s\n' '+ { "Sebastian Lackner", "server: Implement locking and synchronization of keystate buffer.", 3 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset server-PeekMessage
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#28884] GetMessage should remove already seen messages with higher priority
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/user32/tests/msg.c, server/queue.c
|
|
# |
|
|
if test "$enable_server_PeekMessage" -eq 1; then
|
|
patch_apply server-PeekMessage/0001-server-Fix-handling-of-GetMessage-after-previous-Pee.patch
|
|
(
|
|
printf '%s\n' '+ { "Sebastian Lackner", "server: Fix handling of GetMessage after previous PeekMessage call.", 3 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset server-Signal_Thread
|
|
# |
|
|
# | Modified files:
|
|
# | * server/thread.c, server/thread.h
|
|
# |
|
|
if test "$enable_server_Signal_Thread" -eq 1; then
|
|
patch_apply server-Signal_Thread/0001-server-Do-not-signal-thread-until-it-is-really-gone.patch
|
|
(
|
|
printf '%s\n' '+ { "Sebastian Lackner", "server: Do not signal thread until it is really gone.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset server-Shared_Memory
|
|
# |
|
|
# | This patchset has the following (direct or indirect) dependencies:
|
|
# | * ntdll-Threading, server-ClipCursor, server-Key_State, server-PeekMessage, server-Signal_Thread
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/ntdll/ntdll_misc.h, dlls/ntdll/server.c, dlls/ntdll/thread.c, dlls/ntdll/virtual.c, dlls/user32/focus.c,
|
|
# | dlls/user32/input.c, dlls/user32/message.c, dlls/user32/user_private.h, include/wine/server.h, include/winternl.h,
|
|
# | server/fd.c, server/file.h, server/main.c, server/mapping.c, server/protocol.def, server/queue.c, server/thread.c,
|
|
# | server/thread.h
|
|
# |
|
|
if test "$enable_server_Shared_Memory" -eq 1; then
|
|
patch_apply server-Shared_Memory/0001-ntdll-Implement-virtual_map_shared_memory.patch
|
|
patch_apply server-Shared_Memory/0002-server-Implement-support-for-global-and-local-shared.patch
|
|
patch_apply server-Shared_Memory/0003-user32-Get-rid-of-wineserver-call-for-GetInputState.patch
|
|
patch_apply server-Shared_Memory/0004-user32-Avoid-unnecessary-wineserver-calls-in-PeekMes.patch
|
|
patch_apply server-Shared_Memory/0005-user32-Get-rid-of-wineserver-call-for-GetLastInputIn.patch
|
|
patch_apply server-Shared_Memory/0006-ntdll-Only-enable-wineserver-shared-memory-communica.patch
|
|
patch_apply server-Shared_Memory/0007-server-Store-a-list-of-associated-queues-for-each-th.patch
|
|
patch_apply server-Shared_Memory/0008-user32-Get-rid-of-wineserver-call-for-GetActiveWindo.patch
|
|
patch_apply server-Shared_Memory/0009-user32-Cache-the-result-of-GetForegroundWindow.patch
|
|
(
|
|
printf '%s\n' '+ { "Sebastian Lackner", "ntdll: Implement virtual_map_shared_memory.", 1 },';
|
|
printf '%s\n' '+ { "Michael Müller", "server: Implement support for global and local shared memory blocks based on memfd.", 1 },';
|
|
printf '%s\n' '+ { "Sebastian Lackner", "user32: Get rid of wineserver call for GetInputState.", 1 },';
|
|
printf '%s\n' '+ { "Sebastian Lackner", "user32: Avoid unnecessary wineserver calls in PeekMessage/GetMessage.", 1 },';
|
|
printf '%s\n' '+ { "Michael Müller", "user32: Get rid of wineserver call for GetLastInputInfo.", 1 },';
|
|
printf '%s\n' '+ { "Sebastian Lackner", "ntdll: Only enable wineserver shared memory communication when a special environment variable is set.", 1 },';
|
|
printf '%s\n' '+ { "Sebastian Lackner", "server: Store a list of associated queues for each thread input.", 1 },';
|
|
printf '%s\n' '+ { "Sebastian Lackner", "user32: Get rid of wineserver call for GetActiveWindow, GetFocus, GetCapture.", 1 },';
|
|
printf '%s\n' '+ { "Sebastian Lackner", "user32: Cache the result of GetForegroundWindow.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset server-Object_Types
|
|
# |
|
|
# | This patchset has the following (direct or indirect) dependencies:
|
|
# | * server-Misc_ACL, ntdll-Threading, server-ClipCursor, server-Key_State, server-PeekMessage, server-Signal_Thread, server-
|
|
# | Shared_Memory
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#44629] Process Hacker can't enumerate handles
|
|
# | * [#45374] Yet Another Process Monitor (.NET 2.0 app) reports System.AccessViolationException
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/ntdll/nt.c, dlls/ntdll/om.c, dlls/ntdll/tests/info.c, dlls/ntdll/tests/om.c, include/winternl.h,
|
|
# | server/completion.c, server/directory.c, server/event.c, server/file.c, server/handle.c, server/mailslot.c,
|
|
# | server/main.c, server/mapping.c, server/mutex.c, server/named_pipe.c, server/object.c, server/object.h,
|
|
# | server/process.c, server/protocol.def, server/registry.c, server/semaphore.c, server/symlink.c, server/thread.c,
|
|
# | server/timer.c, server/token.c, server/winstation.c
|
|
# |
|
|
if test "$enable_server_Object_Types" -eq 1; then
|
|
patch_apply server-Object_Types/0001-ntdll-Implement-SystemExtendedHandleInformation-in-N.patch
|
|
patch_apply server-Object_Types/0002-ntdll-Implement-ObjectTypesInformation-in-NtQueryObj.patch
|
|
patch_apply server-Object_Types/0003-server-Register-types-during-startup.patch
|
|
patch_apply server-Object_Types/0004-server-Rename-ObjectType-to-Type.patch
|
|
patch_apply server-Object_Types/0005-server-Add-type-Token.patch
|
|
patch_apply server-Object_Types/0006-server-Add-type-Process.patch
|
|
patch_apply server-Object_Types/0007-server-Add-type-Thread.patch
|
|
patch_apply server-Object_Types/0008-ntdll-Set-TypeIndex-for-ObjectTypeInformation-in-NtQ.patch
|
|
patch_apply server-Object_Types/0009-ntdll-Set-object-type-for-System-Extended-HandleInfo.patch
|
|
patch_apply server-Object_Types/0010-ntdll-Mimic-object-type-behavior-for-different-windo.patch
|
|
(
|
|
printf '%s\n' '+ { "Michael Müller", "ntdll: Implement SystemExtendedHandleInformation in NtQuerySystemInformation.", 1 },';
|
|
printf '%s\n' '+ { "Michael Müller", "ntdll: Implement ObjectTypesInformation in NtQueryObject.", 1 },';
|
|
printf '%s\n' '+ { "Michael Müller", "server: Register types during startup.", 1 },';
|
|
printf '%s\n' '+ { "Michael Müller", "server: Rename ObjectType to Type.", 1 },';
|
|
printf '%s\n' '+ { "Michael Müller", "server: Add type Token.", 1 },';
|
|
printf '%s\n' '+ { "Michael Müller", "server: Add type Process.", 1 },';
|
|
printf '%s\n' '+ { "Michael Müller", "server: Add type Thread.", 1 },';
|
|
printf '%s\n' '+ { "Michael Müller", "ntdll: Set TypeIndex for ObjectTypeInformation in NtQueryObject.", 1 },';
|
|
printf '%s\n' '+ { "Michael Müller", "ntdll: Set object type for System(Extended)HandleInformation in NtQuerySystemInformation.", 1 },';
|
|
printf '%s\n' '+ { "Michael Müller", "ntdll: Mimic object type behavior for different windows versions.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset server-Realtime_Priority
|
|
# |
|
|
# | This patchset has the following (direct or indirect) dependencies:
|
|
# | * ntdll-ThreadTime
|
|
# |
|
|
# | Modified files:
|
|
# | * server/Makefile.in, server/main.c, server/scheduler.c, server/thread.c, server/thread.h
|
|
# |
|
|
if test "$enable_server_Realtime_Priority" -eq 1; then
|
|
patch_apply server-Realtime_Priority/0001-wineserver-Draft-to-implement-priority-levels-throug.patch
|
|
(
|
|
printf '%s\n' '+ { "Joakim Hernberg", "wineserver: Draft to implement priority levels through POSIX scheduling policies on linux.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset server-Registry_Notifications
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/ntdll/tests/reg.c, server/registry.c
|
|
# |
|
|
if test "$enable_server_Registry_Notifications" -eq 1; then
|
|
patch_apply server-Registry_Notifications/0001-server-Allow-multiple-registry-notifications-for-the.patch
|
|
patch_apply server-Registry_Notifications/0002-server-Introduce-refcounting-for-registry-notificati.patch
|
|
(
|
|
printf '%s\n' '+ { "Sebastian Lackner", "server: Allow multiple registry notifications for the same key.", 1 },';
|
|
printf '%s\n' '+ { "Sebastian Lackner", "server: Introduce refcounting for registry notifications.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset server-Timestamp_Compat
|
|
# |
|
|
# | Modified files:
|
|
# | * server/registry.c
|
|
# |
|
|
if test "$enable_server_Timestamp_Compat" -eq 1; then
|
|
patch_apply server-Timestamp_Compat/0001-server-Compatibility-with-Wine-Staging-format-for-hi.patch
|
|
(
|
|
printf '%s\n' '+ { "Michael Müller", "server: Compatibility with Wine Staging format for high precision registry timestamps.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset server-device_manager_destroy
|
|
# |
|
|
# | Modified files:
|
|
# | * server/device.c
|
|
# |
|
|
if test "$enable_server_device_manager_destroy" -eq 1; then
|
|
patch_apply server-device_manager_destroy/0001-server-Fix-crash-when-a-device-driver-segfaults-duri.patch
|
|
(
|
|
printf '%s\n' '+ { "Michael Müller", "server: Fix crash when a device driver segfaults during an open file request.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset server-send_hardware_message
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#43102] Improve handling of hooks for normal (non-injected) hardware messages
|
|
# |
|
|
# | Modified files:
|
|
# | * server/queue.c
|
|
# |
|
|
if test "$enable_server_send_hardware_message" -eq 1; then
|
|
patch_apply server-send_hardware_message/0001-server-Improve-handling-of-hooks-for-normal-non-inje.patch
|
|
(
|
|
printf '%s\n' '+ { "Michael Müller", "server: Improve handling of hooks for normal (non-injected) hardware messages.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset setupapi-DiskSpaceList
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/setupapi/diskspace.c, dlls/setupapi/queue.c, dlls/setupapi/setupapi.spec, dlls/setupapi/setupapi_private.h,
|
|
# | dlls/setupapi/stubs.c, dlls/setupapi/tests/diskspace.c, include/setupapi.h
|
|
# |
|
|
if test "$enable_setupapi_DiskSpaceList" -eq 1; then
|
|
patch_apply setupapi-DiskSpaceList/0001-setupapi-Rewrite-DiskSpaceList-logic-using-lists.patch
|
|
patch_apply setupapi-DiskSpaceList/0002-setupapi-Implement-SetupAddToDiskSpaceList.patch
|
|
patch_apply setupapi-DiskSpaceList/0003-setupapi-Implement-SetupQueryDrivesInDiskSpaceList.patch
|
|
patch_apply setupapi-DiskSpaceList/0004-setupapi-Ignore-deletion-of-added-files-in-SetupAddT.patch
|
|
patch_apply setupapi-DiskSpaceList/0005-setupapi-ImplementSetupAddSectionToDiskSpaceList.patch
|
|
patch_apply setupapi-DiskSpaceList/0006-setupapi-Implement-SetupAddInstallSectionToDiskSpace.patch
|
|
(
|
|
printf '%s\n' '+ { "Michael Müller", "setupapi: Rewrite DiskSpaceList logic using lists.", 1 },';
|
|
printf '%s\n' '+ { "Michael Müller", "setupapi: Implement SetupAddToDiskSpaceList.", 1 },';
|
|
printf '%s\n' '+ { "Michael Müller", "setupapi: Implement SetupQueryDrivesInDiskSpaceList.", 1 },';
|
|
printf '%s\n' '+ { "Michael Müller", "setupapi: Ignore deletion of added files in SetupAddToDiskSpaceList.", 1 },';
|
|
printf '%s\n' '+ { "Michael Müller", "setupapi: ImplementSetupAddSectionToDiskSpaceList.", 1 },';
|
|
printf '%s\n' '+ { "Michael Müller", "setupapi: Implement SetupAddInstallSectionToDiskSpaceList.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset setupapi-Display_Device
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#35345] Fix enumeration of display driver properties using setupapi
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/setupapi/devinst.c, dlls/setupapi/tests/devinst.c, loader/wine.inf.in
|
|
# |
|
|
if test "$enable_setupapi_Display_Device" -eq 1; then
|
|
patch_apply setupapi-Display_Device/0001-setupapi-Create-registry-keys-for-display-devices-an.patch
|
|
patch_apply setupapi-Display_Device/0002-setupapi-Handle-the-case-that-a-full-driver-path-is-.patch
|
|
patch_apply setupapi-Display_Device/0003-setupapi-Also-create-HardwareId-registry-key-for-dis.patch
|
|
(
|
|
printf '%s\n' '+ { "Michael Müller", "setupapi: Create registry keys for display devices and display drivers.", 1 },';
|
|
printf '%s\n' '+ { "Michael Müller", "setupapi: Handle the case that a full driver path is passed to SetupDiGetClassDevs.", 1 },';
|
|
printf '%s\n' '+ { "Sebastian Lackner", "setupapi: Also create HardwareId registry key for display devices.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset setupapi-HSPFILEQ_Check_Type
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#12332] Check handle type for HSPFILEQ handles
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/setupapi/queue.c
|
|
# |
|
|
if test "$enable_setupapi_HSPFILEQ_Check_Type" -eq 1; then
|
|
patch_apply setupapi-HSPFILEQ_Check_Type/0001-setupapi-Check-handle-type-for-HSPFILEQ-handles.patch
|
|
(
|
|
printf '%s\n' '+ { "Michael Müller", "setupapi: Check handle type for HSPFILEQ handles.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset setupapi-SPFILENOTIFY_FILEINCABINET
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#42827] Fix Param2 in SPFILENOTIFY_FILEINCABINET handler
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/setupapi/setupcab.c, dlls/setupapi/tests/setupcab.c
|
|
# |
|
|
if test "$enable_setupapi_SPFILENOTIFY_FILEINCABINET" -eq 1; then
|
|
patch_apply setupapi-SPFILENOTIFY_FILEINCABINET/0001-setupapi-tests-Add-more-tests-for-SPFILENOTIFY_FILEI.patch
|
|
patch_apply setupapi-SPFILENOTIFY_FILEINCABINET/0002-setupapi-Fix-CabinetName-passed-to-SPFILENOTIFY_CABI.patch
|
|
patch_apply setupapi-SPFILENOTIFY_FILEINCABINET/0003-setupapi-tests-Add-tests-for-cabinet-name-passed-to-.patch
|
|
patch_apply setupapi-SPFILENOTIFY_FILEINCABINET/0004-setupapi-Fix-parameters-of-SPFILENOTIFY_FILEINCABINE.patch
|
|
(
|
|
printf '%s\n' '+ { "Dmitry Timoshkov", "setupapi/tests: Add more tests for SPFILENOTIFY_FILEINCABINET handler.", 1 },';
|
|
printf '%s\n' '+ { "Sebastian Lackner", "setupapi: Fix CabinetName passed to SPFILENOTIFY_CABINETINFO handler.", 1 },';
|
|
printf '%s\n' '+ { "Sebastian Lackner", "setupapi/tests: Add tests for cabinet name passed to SPFILENOTIFY_FILEEXTRACTED.", 1 },';
|
|
printf '%s\n' '+ { "Dmitry Timoshkov", "setupapi: Fix parameters of SPFILENOTIFY_FILEINCABINET handler.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset setupapi-SP_COPY_IN_USE_NEEDS_REBOOT
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#36059] Implement support for SP_COPY_IN_USE_NEEDS_REBOOT in do_file_copyW
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/setupapi/queue.c
|
|
# |
|
|
if test "$enable_setupapi_SP_COPY_IN_USE_NEEDS_REBOOT" -eq 1; then
|
|
patch_apply setupapi-SP_COPY_IN_USE_NEEDS_REBOOT/0001-setupapi-Implement-SP_COPY_IN_USE_NEEDS_REBOOT.patch
|
|
(
|
|
printf '%s\n' '+ { "Michael Müller", "setupapi: Implement SP_COPY_IN_USE_NEEDS_REBOOT.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset setupapi-SetupDiGetDeviceInterfaceDetail
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/setupapi/devinst.c, dlls/setupapi/setupapi.spec, dlls/setupapi/tests/devinst.c
|
|
# |
|
|
if test "$enable_setupapi_SetupDiGetDeviceInterfaceDetail" -eq 1; then
|
|
patch_apply setupapi-SetupDiGetDeviceInterfaceDetail/0001-setupapi-Add-spec-file-stub-entry-for-SetupDiInstall.patch
|
|
patch_apply setupapi-SetupDiGetDeviceInterfaceDetail/0002-setupapi-SetupDiGetDeviceInterfaceDetail-should-fill.patch
|
|
(
|
|
printf '%s\n' '+ { "Michael Müller", "setupapi: Add spec file stub entry for SetupDiInstallDeviceInterfaces and SetupDiRegisterCoDeviceInstallers.", 1 },';
|
|
printf '%s\n' '+ { "Michael Müller", "setupapi: SetupDiGetDeviceInterfaceDetail should fill out DeviceInfoData even if the buffer for DeviceInterfaceData is too small.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset setupapi-SetupPromptForDisk
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#20465] Wine ignores IDF_CHECKFIRST flag in SetupPromptForDisk
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/setupapi/dialog.c, dlls/setupapi/tests/Makefile.in, dlls/setupapi/tests/dialog.c
|
|
# |
|
|
if test "$enable_setupapi_SetupPromptForDisk" -eq 1; then
|
|
patch_apply setupapi-SetupPromptForDisk/0001-setupapi-Add-support-for-IDF_CHECKFIRST-flag-in-Setu.patch
|
|
patch_apply setupapi-SetupPromptForDisk/0002-setupapi-tests-Add-test-for-IDF_CHECKFIRST-and-Setup.patch
|
|
patch_apply setupapi-SetupPromptForDisk/0003-setupapi-tests-Determine-path-to-system32-directory-.patch
|
|
(
|
|
printf '%s\n' '+ { "Michael Müller", "setupapi: Add support for IDF_CHECKFIRST flag in SetupPromptForDiskW.", 1 },';
|
|
printf '%s\n' '+ { "Michael Müller", "setupapi/tests: Add test for IDF_CHECKFIRST and SetupPromptForDiskA/W.", 1 },';
|
|
printf '%s\n' '+ { "Hermes Belusca-Maito", "setupapi/tests: Determine path to system32 directory at runtime.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset shdocvw-ParseURLFromOutsideSource_Tests
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/shdocvw/shdocvw_main.c, dlls/shdocvw/tests/shdocvw.c
|
|
# |
|
|
if test "$enable_shdocvw_ParseURLFromOutsideSource_Tests" -eq 1; then
|
|
patch_apply shdocvw-ParseURLFromOutsideSource_Tests/0001-shdocvw-Check-precisely-ParseURLFromOutsideSourceX-r.patch
|
|
(
|
|
printf '%s\n' '+ { "Christian Costa", "shdocvw: Check precisely ParseURLFromOutsideSourceX returned values in tests and make code clearer about that.", 3 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset shell32-SHFileOperation_Move
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#25207] SHFileOperation with FO_MOVE should create new directory on Vista+
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/shell32/shlfileop.c, dlls/shell32/tests/shlfileop.c
|
|
# |
|
|
if test "$enable_shell32_SHFileOperation_Move" -eq 1; then
|
|
patch_apply shell32-SHFileOperation_Move/0001-shell32-Fix-SHFileOperation-FO_MOVE-for-creating-sub.patch
|
|
(
|
|
printf '%s\n' '+ { "Zhenbo Li", "shell32: Fix SHFileOperation(FO_MOVE) for creating subdirectories.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset shell32-Progress_Dialog
|
|
# |
|
|
# | This patchset has the following (direct or indirect) dependencies:
|
|
# | * server-File_Permissions, ntdll-FileDispositionInformation, kernel32-CopyFileEx, shell32-SHFileOperation_Move
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/shell32/shell32.rc, dlls/shell32/shlfileop.c, dlls/shell32/shresdef.h
|
|
# |
|
|
if test "$enable_shell32_Progress_Dialog" -eq 1; then
|
|
patch_apply shell32-Progress_Dialog/0001-shell32-Correct-indentation-in-shfileop.c.patch
|
|
patch_apply shell32-Progress_Dialog/0002-shell32-Pass-FILE_INFORMATION-into-SHNotify-function.patch
|
|
patch_apply shell32-Progress_Dialog/0003-shell32-Implement-file-operation-progress-dialog.patch
|
|
patch_apply shell32-Progress_Dialog/0004-shell32-Show-animation-during-SHFileOperation.patch
|
|
(
|
|
printf '%s\n' '+ { "Michael Müller", "shell32: Correct indentation in shfileop.c.", 1 },';
|
|
printf '%s\n' '+ { "Michael Müller", "shell32: Pass FILE_INFORMATION into SHNotify* functions.", 1 },';
|
|
printf '%s\n' '+ { "Michael Müller", "shell32: Implement file operation progress dialog.", 1 },';
|
|
printf '%s\n' '+ { "Michael Müller", "shell32: Show animation during SHFileOperation.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset shell32-ACE_Viewer
|
|
# |
|
|
# | This patchset has the following (direct or indirect) dependencies:
|
|
# | * server-File_Permissions, ntdll-FileDispositionInformation, kernel32-CopyFileEx, shell32-SHFileOperation_Move,
|
|
# | shell32-Progress_Dialog
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/aclui/Makefile.in, dlls/aclui/aclui.rc, dlls/aclui/aclui_main.c, dlls/aclui/resource.h, dlls/aclui/user_icons.bmp,
|
|
# | dlls/shell32/Makefile.in, dlls/shell32/shell32.rc, dlls/shell32/shlview_cmenu.c, dlls/shell32/shresdef.h
|
|
# |
|
|
if test "$enable_shell32_ACE_Viewer" -eq 1; then
|
|
patch_apply shell32-ACE_Viewer/0001-aclui-Add-basic-ACE-viewer.patch
|
|
patch_apply shell32-ACE_Viewer/0002-shell32-Add-security-property-tab.patch
|
|
(
|
|
printf '%s\n' '+ { "Michael Müller", "aclui: Add basic ACE viewer.", 1 },';
|
|
printf '%s\n' '+ { "Michael Müller", "shell32: Add security property tab.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset shell32-Context_Menu
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#34319] Add support for Paste in context menu
|
|
# | * [#34322] Fix implementation of Cut file operation
|
|
# | * [#34321] Fix Cut/Copy/Paste keyboard shortcuts in Total Commander
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/shell32/clipboard.c, dlls/shell32/dataobject.c, dlls/shell32/recyclebin.c, dlls/shell32/shell32.rc,
|
|
# | dlls/shell32/shell32_main.h, dlls/shell32/shellfolder.h, dlls/shell32/shfldr_fs.c, dlls/shell32/shfldr_unixfs.c,
|
|
# | dlls/shell32/shlview.c, dlls/shell32/shlview_cmenu.c
|
|
# |
|
|
if test "$enable_shell32_Context_Menu" -eq 1; then
|
|
patch_apply shell32-Context_Menu/0001-shell32-Fix-copying-of-files-when-using-a-context-me.patch
|
|
patch_apply shell32-Context_Menu/0002-shell32-Set-return-value-correctly-in-DoPaste.patch
|
|
patch_apply shell32-Context_Menu/0003-shell32-Implement-insert-paste-for-item-context-menu.patch
|
|
patch_apply shell32-Context_Menu/0005-shell32-Add-support-for-setting-getting-PREFERREDDRO.patch
|
|
patch_apply shell32-Context_Menu/0006-shell32-Add-parameter-to-ISFHelper-DeleteItems-to-al.patch
|
|
patch_apply shell32-Context_Menu/0007-shell32-Remove-source-files-when-using-cut-in-the-co.patch
|
|
patch_apply shell32-Context_Menu/0008-shell32-Recognize-cut-copy-paste-string-verbs-in-ite.patch
|
|
(
|
|
printf '%s\n' '+ { "Michael Müller", "shell32: Fix copying of files when using a context menu.", 1 },';
|
|
printf '%s\n' '+ { "Michael Müller", "shell32: Set return value correctly in DoPaste.", 1 },';
|
|
printf '%s\n' '+ { "Michael Müller", "shell32: Implement insert/paste for item context menus.", 1 },';
|
|
printf '%s\n' '+ { "Michael Müller", "shell32: Add support for setting/getting PREFERREDDROPEFFECT in IDataObject.", 1 },';
|
|
printf '%s\n' '+ { "Michael Müller", "shell32: Add parameter to ISFHelper::DeleteItems to allow deleting files without confirmation.", 1 },';
|
|
printf '%s\n' '+ { "Michael Müller", "shell32: Remove source files when using cut in the context menu.", 1 },';
|
|
printf '%s\n' '+ { "Michael Müller", "shell32: Recognize cut/copy/paste string verbs in item menu context menu.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset shell32-NewMenu_Interface
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#24812] Implement shell32 NewMenu class with new folder item
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/shell32/Makefile.in, dlls/shell32/shell32_classes.idl, dlls/shell32/shell32_main.h, dlls/shell32/shellnew.c,
|
|
# | dlls/shell32/shellole.c, dlls/shell32/tests/shlview.c
|
|
# |
|
|
if test "$enable_shell32_NewMenu_Interface" -eq 1; then
|
|
patch_apply shell32-NewMenu_Interface/0001-shell32-Implement-NewMenu-with-new-folder-item.patch
|
|
(
|
|
printf '%s\n' '+ { "Michael Müller", "shell32: Implement NewMenu with new folder item.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset shell32-SFGAO_HASSUBFOLDER
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#24851] Only set SFGAO_HASSUBFOLDER when there are really subfolders
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/shell32/shfldr_unixfs.c, dlls/shell32/shlfolder.c
|
|
# |
|
|
if test "$enable_shell32_SFGAO_HASSUBFOLDER" -eq 1; then
|
|
patch_apply shell32-SFGAO_HASSUBFOLDER/0001-shell32-Set-SFGAO_HASSUBFOLDER-correctly-for-unixfs.patch
|
|
patch_apply shell32-SFGAO_HASSUBFOLDER/0002-shell32-Set-SFGAO_HASSUBFOLDER-correctly-for-normal-.patch
|
|
(
|
|
printf '%s\n' '+ { "Michael Müller", "shell32: Set SFGAO_HASSUBFOLDER correctly for unixfs.", 1 },';
|
|
printf '%s\n' '+ { "Michael Müller", "shell32: Set SFGAO_HASSUBFOLDER correctly for normal shellfolders.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset shell32-SHELL_execute
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/shell32/shlexec.c, dlls/shell32/tests/shlexec.c
|
|
# |
|
|
if test "$enable_shell32_SHELL_execute" -eq 1; then
|
|
patch_apply shell32-SHELL_execute/0001-shell32-Properly-fail-when-a-data-object-cannot-be-i.patch
|
|
(
|
|
printf '%s\n' '+ { "Mark Jansen", "shell32: Properly fail when a data object cannot be instantiated and expand environment strings in ShellExecute.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset shell32-Toolbar_Bitmaps
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#40236] Add missing resources for IE6 buttons
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/shell32/Makefile.in, dlls/shell32/resources/ietoolbar.bmp, dlls/shell32/resources/ietoolbar.svg,
|
|
# | dlls/shell32/resources/ietoolbar_small.bmp, dlls/shell32/resources/ietoolbar_small.svg, dlls/shell32/shell32.rc
|
|
# |
|
|
if test "$enable_shell32_Toolbar_Bitmaps" -eq 1; then
|
|
patch_apply shell32-Toolbar_Bitmaps/0001-shell32-Add-toolbar-bitmaps-compatible-with-IE6.patch
|
|
patch_apply shell32-Toolbar_Bitmaps/0002-shell32-Add-more-Tango-icons-to-the-IE-toolbar.patch
|
|
(
|
|
printf '%s\n' '+ { "Dmitry Timoshkov", "shell32: Add toolbar bitmaps compatible with IE6.", 1 },';
|
|
printf '%s\n' '+ { "Dmitry Timoshkov", "shell32: Add more Tango icons to the IE toolbar.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset shell32-UnixFS
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#43109] Do not use unixfs for devices without mountpoint
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/shell32/shfldr_desktop.c, dlls/shell32/tests/shlfolder.c
|
|
# |
|
|
if test "$enable_shell32_UnixFS" -eq 1; then
|
|
patch_apply shell32-UnixFS/0001-shell32-Do-not-use-unixfs-for-devices-without-mountp.patch
|
|
(
|
|
printf '%s\n' '+ { "Michael Müller", "shell32: Do not use unixfs for devices without mountpoint.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset shlwapi-AssocGetPerceivedType
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/shlwapi/assoc.c, dlls/shlwapi/tests/assoc.c
|
|
# |
|
|
if test "$enable_shlwapi_AssocGetPerceivedType" -eq 1; then
|
|
patch_apply shlwapi-AssocGetPerceivedType/0001-shlwapi-tests-Add-tests-for-AssocGetPerceivedType.patch
|
|
patch_apply shlwapi-AssocGetPerceivedType/0002-shlwapi-Implement-AssocGetPerceivedType.patch
|
|
(
|
|
printf '%s\n' '+ { "Mark Jansen", "shlwapi/tests: Add tests for AssocGetPerceivedType.", 1 },';
|
|
printf '%s\n' '+ { "Mark Jansen", "shlwapi: Implement AssocGetPerceivedType.", 2 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset shlwapi-SHAddDataBlock
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/shlwapi/clist.c, dlls/shlwapi/tests/clist.c
|
|
# |
|
|
if test "$enable_shlwapi_SHAddDataBlock" -eq 1; then
|
|
patch_apply shlwapi-SHAddDataBlock/0001-shlwapi-Fix-the-return-value-of-SHAddDataBlock.patch
|
|
(
|
|
printf '%s\n' '+ { "Hermès BÉLUSCA-MAÏTO", "shlwapi: Fix the return value of SHAddDataBlock.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset shlwapi-SHMapHandle
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/shlwapi/ordinal.c, dlls/shlwapi/tests/ordinal.c
|
|
# |
|
|
if test "$enable_shlwapi_SHMapHandle" -eq 1; then
|
|
patch_apply shlwapi-SHMapHandle/0002-shlwapi-SHMapHandle-should-not-set-error-when-NULL-i.patch
|
|
(
|
|
printf '%s\n' '+ { "Sebastian Lackner", "shlwapi: SHMapHandle should not set error when NULL is passed as hShared.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset shlwapi-UrlCombine
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/shlwapi/tests/url.c, dlls/shlwapi/url.c
|
|
# |
|
|
if test "$enable_shlwapi_UrlCombine" -eq 1; then
|
|
patch_apply shlwapi-UrlCombine/0001-shlwapi-tests-Add-additional-tests-for-UrlCombine-and-.patch
|
|
patch_apply shlwapi-UrlCombine/0002-shlwapi-UrlCombineW-workaround-for-relative-paths.patch
|
|
(
|
|
printf '%s\n' '+ { "Sebastian Lackner", "shlwapi/tests: Add additional tests for UrlCombine and UrlCanonicalize.", 1 },';
|
|
printf '%s\n' '+ { "Sebastian Lackner", "shlwapi: UrlCombineW workaround for relative paths.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset stdole32.idl-Typelib
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/stdole32.tlb/std_ole_v1.idl, include/Makefile.in, include/stdole32.idl
|
|
# |
|
|
if test "$enable_stdole32_idl_Typelib" -eq 1; then
|
|
patch_apply stdole32.idl-Typelib/0001-include-Make-stdole32.idl-a-public-component.patch
|
|
(
|
|
printf '%s\n' '+ { "Dmitry Timoshkov", "include: Make stdole32.idl a public component.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset widl-SLTG_Typelib_Support
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/oleaut32/typelib.c, dlls/oleaut32/typelib.h, tools/widl/Makefile.in, tools/widl/typelib.c, tools/widl/typelib.h,
|
|
# | tools/widl/widl.c, tools/widl/widl.h, tools/widl/write_sltg.c
|
|
# |
|
|
if test "$enable_widl_SLTG_Typelib_Support" -eq 1; then
|
|
patch_apply widl-SLTG_Typelib_Support/0001-widl-Add-initial-implementation-of-SLTG-typelib-gene.patch
|
|
patch_apply widl-SLTG_Typelib_Support/0002-widl-Add-support-for-structures.patch
|
|
patch_apply widl-SLTG_Typelib_Support/0003-widl-Properly-align-name-table-entries.patch
|
|
patch_apply widl-SLTG_Typelib_Support/0004-widl-More-accurately-report-variable-descriptions-da.patch
|
|
patch_apply widl-SLTG_Typelib_Support/0005-widl-Calculate-size-of-instance-for-structures.patch
|
|
patch_apply widl-SLTG_Typelib_Support/0006-widl-Write-correct-typekind-to-the-SLTG-typeinfo-blo.patch
|
|
patch_apply widl-SLTG_Typelib_Support/0007-widl-Write-SLTG-blocks-according-to-the-index-order.patch
|
|
patch_apply widl-SLTG_Typelib_Support/0008-widl-Write-correct-syskind-by-SLTG-typelib-generator.patch
|
|
patch_apply widl-SLTG_Typelib_Support/0009-widl-Add-support-for-VT_VOID-and-VT_VARIANT-to-SLTG-.patch
|
|
patch_apply widl-SLTG_Typelib_Support/0010-widl-Add-support-for-VT_USERDEFINED-to-SLTG-typelib-.patch
|
|
patch_apply widl-SLTG_Typelib_Support/0011-widl-Factor-out-SLTG-tail-initialization.patch
|
|
patch_apply widl-SLTG_Typelib_Support/0012-widl-Add-support-for-recursive-type-references-to-SL.patch
|
|
patch_apply widl-SLTG_Typelib_Support/0013-widl-Add-support-for-interfaces-to-SLTG-typelib-gene.patch
|
|
patch_apply widl-SLTG_Typelib_Support/0014-widl-Add-support-for-inherited-interfaces-to-SLTG-ty.patch
|
|
patch_apply widl-SLTG_Typelib_Support/0015-widl-Make-automatic-dispid-generation-scheme-better-.patch
|
|
patch_apply widl-SLTG_Typelib_Support/0016-widl-Create-library-block-index-right-after-the-Comp.patch
|
|
patch_apply widl-SLTG_Typelib_Support/0017-widl-Fix-generation-of-resources-containing-an-old-t.patch
|
|
patch_apply widl-SLTG_Typelib_Support/0018-widl-Add-oldtlb-switch-in-usage-message.patch
|
|
patch_apply widl-SLTG_Typelib_Support/0019-widl-Avoid-relying-on-side-effects-when-marking-func.patch
|
|
patch_apply widl-SLTG_Typelib_Support/0020-widl-Set-the-lowest-bit-in-the-param-name-to-indicat.patch
|
|
patch_apply widl-SLTG_Typelib_Support/0021-oleaut32-Fix-logic-for-deciding-whether-type-descrip.patch
|
|
patch_apply widl-SLTG_Typelib_Support/0022-widl-Add-support-for-function-parameter-flags-to-SLT.patch
|
|
patch_apply widl-SLTG_Typelib_Support/0023-oleaut32-Implement-decoding-of-SLTG-help-strings.patch
|
|
patch_apply widl-SLTG_Typelib_Support/0024-oleaut32-Add-support-for-decoding-SLTG-function-help.patch
|
|
patch_apply widl-SLTG_Typelib_Support/0025-oleaut32-Add-support-for-decoding-SLTG-variable-help.patch
|
|
patch_apply widl-SLTG_Typelib_Support/0026-widl-Minor-cosmetic-clean-up.patch
|
|
(
|
|
printf '%s\n' '+ { "Dmitry Timoshkov", "widl: Add initial implementation of SLTG typelib generator.", 1 },';
|
|
printf '%s\n' '+ { "Dmitry Timoshkov", "widl: Add support for structures.", 1 },';
|
|
printf '%s\n' '+ { "Dmitry Timoshkov", "widl: Properly align name table entries.", 1 },';
|
|
printf '%s\n' '+ { "Dmitry Timoshkov", "widl: More accurately report variable descriptions data size.", 1 },';
|
|
printf '%s\n' '+ { "Dmitry Timoshkov", "widl: Calculate size of instance for structures.", 1 },';
|
|
printf '%s\n' '+ { "Dmitry Timoshkov", "widl: Write correct typekind to the SLTG typeinfo block.", 1 },';
|
|
printf '%s\n' '+ { "Dmitry Timoshkov", "widl: Write SLTG blocks according to the index order.", 1 },';
|
|
printf '%s\n' '+ { "Dmitry Timoshkov", "widl: Write correct syskind by SLTG typelib generator.", 1 },';
|
|
printf '%s\n' '+ { "Dmitry Timoshkov", "widl: Add support for VT_VOID and VT_VARIANT to SLTG typelib generator.", 1 },';
|
|
printf '%s\n' '+ { "Dmitry Timoshkov", "widl: Add support for VT_USERDEFINED to SLTG typelib generator.", 1 },';
|
|
printf '%s\n' '+ { "Dmitry Timoshkov", "widl: Factor out SLTG tail initialization.", 1 },';
|
|
printf '%s\n' '+ { "Dmitry Timoshkov", "widl: Add support for recursive type references to SLTG typelib generator.", 1 },';
|
|
printf '%s\n' '+ { "Dmitry Timoshkov", "widl: Add support for interfaces to SLTG typelib generator.", 1 },';
|
|
printf '%s\n' '+ { "Dmitry Timoshkov", "widl: Add support for inherited interfaces to SLTG typelib generator.", 1 },';
|
|
printf '%s\n' '+ { "Dmitry Timoshkov", "widl: Make automatic dispid generation scheme better match what midl does.", 1 },';
|
|
printf '%s\n' '+ { "Dmitry Timoshkov", "widl: Create library block index right after the CompObj one.", 1 },';
|
|
printf '%s\n' '+ { "Dmitry Timoshkov", "widl: Fix generation of resources containing an old typelib.", 1 },';
|
|
printf '%s\n' '+ { "Sebastian Lackner", "widl: Add --oldtlb switch in usage message.", 1 },';
|
|
printf '%s\n' '+ { "Dmitry Timoshkov", "widl: Avoid relying on side effects when marking function index as the last one.", 1 },';
|
|
printf '%s\n' '+ { "Dmitry Timoshkov", "widl: Set the lowest bit in the param name to indicate whether type description follows the name.", 1 },';
|
|
printf '%s\n' '+ { "Dmitry Timoshkov", "oleaut32: Fix logic for deciding whether type description follows the name.", 2 },';
|
|
printf '%s\n' '+ { "Dmitry Timoshkov", "widl: Add support for function parameter flags to SLTG typelib generator.", 1 },';
|
|
printf '%s\n' '+ { "Dmitry Timoshkov", "oleaut32: Implement decoding of SLTG help strings.", 1 },';
|
|
printf '%s\n' '+ { "Dmitry Timoshkov", "oleaut32: Add support for decoding SLTG function help strings.", 1 },';
|
|
printf '%s\n' '+ { "Dmitry Timoshkov", "oleaut32: Add support for decoding SLTG variable help strings.", 1 },';
|
|
printf '%s\n' '+ { "Dmitry Timoshkov", "widl: Minor/cosmetic clean up.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset stdole32.tlb-SLTG_Typelib
|
|
# |
|
|
# | This patchset has the following (direct or indirect) dependencies:
|
|
# | * widl-SLTG_Typelib_Support
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#3689] Compile stdole32.tlb in SLTG typelib format
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/stdole32.tlb/Makefile.in
|
|
# |
|
|
if test "$enable_stdole32_tlb_SLTG_Typelib" -eq 1; then
|
|
patch_apply stdole32.tlb-SLTG_Typelib/0020-stdole32.tlb-Compile-typelib-with-oldtlb.patch
|
|
(
|
|
printf '%s\n' '+ { "Sebastian Lackner", "stdole32.tlb: Compile typelib with --oldtlb.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset taskmgr-Memory_Usage
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/ntdll/nt.c, programs/taskmgr/font.bmp, programs/taskmgr/graph.c, programs/taskmgr/resource.h,
|
|
# | programs/taskmgr/taskmgr.c, programs/taskmgr/taskmgr.rc
|
|
# |
|
|
if test "$enable_taskmgr_Memory_Usage" -eq 1; then
|
|
patch_apply taskmgr-Memory_Usage/0002-ntdll-Report-system-information-SystemPerformanceInf.patch
|
|
patch_apply taskmgr-Memory_Usage/0003-taskmgr-Use-system-font-instead-of-special-bitmap-fo.patch
|
|
patch_apply taskmgr-Memory_Usage/0004-taskmgr-Use-different-units-depending-on-memory-usag.patch
|
|
patch_apply taskmgr-Memory_Usage/0005-ntdll-Implement-basic-IO-stats-for-SystemPerformance.patch
|
|
(
|
|
printf '%s\n' '+ { "Michael Müller", "ntdll: Report system information SystemPerformanceInformation info class.", 2 },';
|
|
printf '%s\n' '+ { "Michael Müller", "taskmgr: Use system font instead of special bitmap font.", 1 },';
|
|
printf '%s\n' '+ { "Michael Müller", "taskmgr: Use different units depending on memory usage.", 1 },';
|
|
printf '%s\n' '+ { "Michael Müller", "ntdll: Implement basic IO stats for SystemPerformanceInformation in NtQuerySystemInformation.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset uianimation-stubs
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#41369] Add UIAnimation and stubs interfaces
|
|
# |
|
|
# | Modified files:
|
|
# | * configure, configure.ac, dlls/uianimation/Makefile.in, dlls/uianimation/main.c, dlls/uianimation/uianimation.spec,
|
|
# | dlls/uianimation/uianimation_typelib.idl, include/uianimation.idl
|
|
# |
|
|
if test "$enable_uianimation_stubs" -eq 1; then
|
|
patch_apply uianimation-stubs/0001-uianimation.idl-add-more-interfaces.patch
|
|
patch_apply uianimation-stubs/0002-uianimation-add-stub-dll.patch
|
|
(
|
|
printf '%s\n' '+ { "Louis Lenders", "uianimation.idl: Add more interfaces.", 1 },';
|
|
printf '%s\n' '+ { "Louis Lenders", "uianimation: Add stub dll.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset user32-Auto_Radio_Button
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#42010] Move the auto radio button group logic from BM_SETCHECK to WM_LBUTTONUP handler
|
|
# | * [#16845] Add support for navigating a group of radio buttons using a keyboard.
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/user32/button.c, dlls/user32/dialog.c, dlls/user32/tests/msg.c, dlls/user32/tests/resource.rc
|
|
# |
|
|
if test "$enable_user32_Auto_Radio_Button" -eq 1; then
|
|
patch_apply user32-Auto_Radio_Button/0001-user32-Move-the-auto-radio-button-group-logic-from-B.patch
|
|
patch_apply user32-Auto_Radio_Button/0002-user32-tests-Add-a-message-test-for-group-of-radio-b.patch
|
|
patch_apply user32-Auto_Radio_Button/0003-user32-tests-Simplify-the-test-for-BM_CLICK-on-autor.patch
|
|
patch_apply user32-Auto_Radio_Button/0004-user32-tests-Add-a-test-for-navigating-a-group-of-bu.patch
|
|
patch_apply user32-Auto_Radio_Button/0005-user32-Add-support-for-navigating-a-group-of-radio-b.patch
|
|
(
|
|
printf '%s\n' '+ { "Dmitry Timoshkov", "user32: Move the auto radio button group logic from BM_SETCHECK to WM_LBUTTONUP handler.", 1 },';
|
|
printf '%s\n' '+ { "Dmitry Timoshkov", "user32/tests: Add a message test for group of radio buttons.", 1 },';
|
|
printf '%s\n' '+ { "Dmitry Timoshkov", "user32/tests: Simplify the test for BM_CLICK on autoradio button by using a dialog.", 1 },';
|
|
printf '%s\n' '+ { "Dmitry Timoshkov", "user32/tests: Add a test for navigating a group of buttons using keyboard events.", 1 },';
|
|
printf '%s\n' '+ { "Dmitry Timoshkov", "user32: Add support for navigating a group of radio buttons using a keyboard.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset user32-Combobox_WM_SIZE
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#41404] Don't force a combobox repaint on WM_SIZE
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/user32/combo.c
|
|
# |
|
|
if test "$enable_user32_Combobox_WM_SIZE" -eq 1; then
|
|
patch_apply user32-Combobox_WM_SIZE/0001-user32-Don-t-force-a-combobox-repaint-on-WM_SIZE.patch
|
|
(
|
|
printf '%s\n' '+ { "Dmitry Timoshkov", "user32: Don'\''t force a combobox repaint on WM_SIZE.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset user32-DM_SETDEFID
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#22764] Use root dialog for DM_SETDEFID/DM_GETDEFID in DefDlgProc
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/user32/defdlg.c, dlls/user32/dialog.c, dlls/user32/tests/win.c
|
|
# |
|
|
if test "$enable_user32_DM_SETDEFID" -eq 1; then
|
|
patch_apply user32-DM_SETDEFID/0001-user32-Do-not-initialize-dialog-info-for-every-windo.patch
|
|
patch_apply user32-DM_SETDEFID/0002-user32-Use-root-dialog-for-DM_SETDEFID-DM_GETDEFID-i.patch
|
|
patch_apply user32-DM_SETDEFID/0003-user32-tests-Add-a-bunch-of-tests-for-DM_SETDEFID-DM.patch
|
|
(
|
|
printf '%s\n' '+ { "Dmitry Timoshkov", "user32: Do not initialize dialog info for every window passed to DefDlgProc.", 1 },';
|
|
printf '%s\n' '+ { "Dmitry Timoshkov", "user32: Use root dialog for DM_SETDEFID/DM_GETDEFID in DefDlgProc.", 1 },';
|
|
printf '%s\n' '+ { "Dmitry Timoshkov", "user32/tests: Add a bunch of tests for DM_SETDEFID/DM_GETDEFID handling by a DefDlgProc.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset user32-Dialog_Focus
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#5402] Set focus to dialog itself when it has no controls
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/user32/dialog.c, dlls/user32/tests/msg.c
|
|
# |
|
|
if test "$enable_user32_Dialog_Focus" -eq 1; then
|
|
patch_apply user32-Dialog_Focus/0001-user32-tests-Add-a-focus-test-for-an-empty-dialog-th.patch
|
|
patch_apply user32-Dialog_Focus/0002-user32-If-there-is-no-dialog-controls-to-set-focus-t.patch
|
|
(
|
|
printf '%s\n' '+ { "Dmitry Timoshkov", "user32/tests: Add a focus test for an empty dialog that returns TRUE in WM_INITDIALOG.", 1 },';
|
|
printf '%s\n' '+ { "Dmitry Timoshkov", "user32: If there is no dialog controls to set focus to then set focus to dialog itself.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset user32-Dialog_Paint_Event
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#35652] Send WM_PAINT event during dialog creation
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/user32/dialog.c
|
|
# |
|
|
if test "$enable_user32_Dialog_Paint_Event" -eq 1; then
|
|
patch_apply user32-Dialog_Paint_Event/0001-user32-Call-UpdateWindow-during-DIALOG_CreateIndirec.patch
|
|
(
|
|
printf '%s\n' '+ { "Sebastian Lackner", "user32: Call UpdateWindow() during DIALOG_CreateIndirect.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset user32-DrawMenuItem
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#40704] Add a check if the menu text is a valid string in MENU_DrawMenuItem
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/user32/menu.c
|
|
# |
|
|
if test "$enable_user32_DrawMenuItem" -eq 1; then
|
|
patch_apply user32-DrawMenuItem/0001-user32-Add-a-check-if-the-menu-text-is-a-valid-strin.patch
|
|
(
|
|
printf '%s\n' '+ { "Dmitry Timoshkov", "user32: Add a check if the menu text is a valid string.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset user32-DrawTextExW
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#22109] Fix handling of invert_y in DrawTextExW
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/user32/text.c
|
|
# |
|
|
if test "$enable_user32_DrawTextExW" -eq 1; then
|
|
patch_apply user32-DrawTextExW/0001-user32-Fix-handling-of-invert_y-in-DrawTextExW.patch
|
|
(
|
|
printf '%s\n' '+ { "Sebastian Lackner", "user32: Fix handling of invert_y in DrawTextExW.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset user32-FlashWindowEx
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/user32/tests/win.c, dlls/user32/win.c
|
|
# |
|
|
if test "$enable_user32_FlashWindowEx" -eq 1; then
|
|
patch_apply user32-FlashWindowEx/0001-user32-Improve-FlashWindowEx-message-and-return-valu.patch
|
|
(
|
|
printf '%s\n' '+ { "James Coonradt", "user32: Improve FlashWindowEx message and return value.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset user32-GetSystemMetrics
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#18732] Make it possible to change media center / tablet pc status
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/user32/sysparams.c
|
|
# |
|
|
if test "$enable_user32_GetSystemMetrics" -eq 1; then
|
|
patch_apply user32-GetSystemMetrics/0001-user32-Allow-changing-the-tablet-media-center-status.patch
|
|
(
|
|
printf '%s\n' '+ { "Michael Müller", "user32: Allow changing the tablet / media center status via wine registry key.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset user32-LR_LOADFROMFILE
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#24963] Workaround for Windows 3.1 apps which call LoadImage(LR_LOADFROMFILE) with a resource id
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/user32/cursoricon.c
|
|
# |
|
|
if test "$enable_user32_LR_LOADFROMFILE" -eq 1; then
|
|
patch_apply user32-LR_LOADFROMFILE/0001-user32-Add-a-workaround-for-Windows-3.1-apps-which-c.patch
|
|
(
|
|
printf '%s\n' '+ { "Dmitry Timoshkov", "user32: Add a workaround for Windows 3.1 apps which call LoadImage(LR_LOADFROMFILE) with a resource id.", 2 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset user32-ListBox_Size
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#38142] Fix calculation of listbox size when horizontal scrollbar is present
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/user32/listbox.c
|
|
# |
|
|
if test "$enable_user32_ListBox_Size" -eq 1; then
|
|
patch_apply user32-ListBox_Size/0001-user32-Fix-calculation-of-listbox-size-when-horizont.patch
|
|
(
|
|
printf '%s\n' '+ { "Michael Müller", "user32: Fix calculation of listbox size when horizontal scrollbar is present.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset user32-lpCreateParams
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#40303] Fix pointer to custom dialog control data
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/user32/dialog.c, dlls/user32/tests/dialog.c, dlls/user32/tests/resource.rc, tools/wrc/genres.c
|
|
# |
|
|
if test "$enable_user32_lpCreateParams" -eq 1; then
|
|
patch_apply user32-lpCreateParams/0001-user32-tests-Add-a-test-for-custom-dialog-control-da.patch
|
|
patch_apply user32-lpCreateParams/0002-tools-wrc-Fix-generation-of-custom-dialog-control-da.patch
|
|
patch_apply user32-lpCreateParams/0003-user32-Fix-the-pointer-to-custom-dialog-control-data.patch
|
|
(
|
|
printf '%s\n' '+ { "Dmitry Timoshkov", "user32/tests: Add a test for custom dialog control data.", 1 },';
|
|
printf '%s\n' '+ { "Dmitry Timoshkov", "tools/wrc: Fix generation of custom dialog control data.", 1 },';
|
|
printf '%s\n' '+ { "Dmitry Timoshkov", "user32: Fix the pointer to custom dialog control data.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset user32-MessageBox_WS_EX_TOPMOST
|
|
# |
|
|
# | This patchset has the following (direct or indirect) dependencies:
|
|
# | * user32-lpCreateParams
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/user32/msgbox.c, dlls/user32/tests/dialog.c
|
|
# |
|
|
if test "$enable_user32_MessageBox_WS_EX_TOPMOST" -eq 1; then
|
|
patch_apply user32-MessageBox_WS_EX_TOPMOST/0001-user32-tests-Add-some-tests-to-see-when-MessageBox-g.patch
|
|
patch_apply user32-MessageBox_WS_EX_TOPMOST/0002-user32-MessageBox-should-be-topmost-when-MB_SYSTEMMO.patch
|
|
(
|
|
printf '%s\n' '+ { "Dmitry Timoshkov", "user32/tests: Add some tests to see when MessageBox gains WS_EX_TOPMOST style.", 1 },';
|
|
printf '%s\n' '+ { "Dmitry Timoshkov", "user32: MessageBox should be topmost when MB_SYSTEMMODAL style is set.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset user32-Mouse_Message_Hwnd
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#22458] Fix issues with inserting symbols by clicking on center in Word 2007 & 2010
|
|
# | * [#12007] Fix issues with dragging layers between images in Adobe Photoshop 7.0
|
|
# | * [#9512] Make sure popups don't block access to objects underneath in DVDPro
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/user32/message.c, dlls/user32/tests/input.c, dlls/winex11.drv/bitblt.c, server/protocol.def, server/window.c
|
|
# |
|
|
if test "$enable_user32_Mouse_Message_Hwnd" -eq 1; then
|
|
patch_apply user32-Mouse_Message_Hwnd/0001-user32-Try-harder-to-find-a-target-for-mouse-message.patch
|
|
patch_apply user32-Mouse_Message_Hwnd/0002-user32-tests-Add-tests-for-clicking-through-layered-.patch
|
|
patch_apply user32-Mouse_Message_Hwnd/0003-user32-tests-Add-tests-for-window-region-of-layered-.patch
|
|
patch_apply user32-Mouse_Message_Hwnd/0004-user32-tests-Add-tests-for-DC-region.patch
|
|
patch_apply user32-Mouse_Message_Hwnd/0005-server-Add-support-for-a-layered-window-region.-v2.patch
|
|
(
|
|
printf '%s\n' '+ { "Dmitry Timoshkov", "user32: Try harder to find a target for mouse messages.", 1 },';
|
|
printf '%s\n' '+ { "Sebastian Lackner", "user32/tests: Add tests for clicking through layered window.", 1 },';
|
|
printf '%s\n' '+ { "Sebastian Lackner", "user32/tests: Add tests for window region of layered windows.", 1 },';
|
|
printf '%s\n' '+ { "Sebastian Lackner", "user32/tests: Add tests for DC region.", 1 },';
|
|
printf '%s\n' '+ { "Dmitry Timoshkov", "server: Add support for a layered window region.", 3 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset user32-Refresh_MDI_Menus
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#21855] Refresh MDI menus when DefMDIChildProc(WM_SETTEXT) is called
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/user32/mdi.c
|
|
# |
|
|
if test "$enable_user32_Refresh_MDI_Menus" -eq 1; then
|
|
patch_apply user32-Refresh_MDI_Menus/0001-user32-Refresh-MDI-menus-when-DefMDIChildProcW-WM_SE.patch
|
|
(
|
|
printf '%s\n' '+ { "Sebastian Lackner", "user32: Refresh MDI menus when DefMDIChildProc(WM_SETTEXT) is called.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset user32-ScrollWindowEx
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#37706] Fix return value of ScrollWindowEx for invisible windows
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/user32/painting.c
|
|
# |
|
|
if test "$enable_user32_ScrollWindowEx" -eq 1; then
|
|
patch_apply user32-ScrollWindowEx/0001-user32-Fix-return-value-of-ScrollWindowEx-for-invisi.patch
|
|
(
|
|
printf '%s\n' '+ { "Dmitry Timoshkov", "user32: Fix return value of ScrollWindowEx for invisible windows.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset user32-ShowWindow
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#39731] Fix handling of ShowWindow when window is already visible
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/user32/winpos.c
|
|
# |
|
|
if test "$enable_user32_ShowWindow" -eq 1; then
|
|
patch_apply user32-ShowWindow/0001-user32-ShowWindow-should-not-send-message-when-windo.patch
|
|
(
|
|
printf '%s\n' '+ { "Kimmo Myllyvirta", "user32: ShowWindow should not send message when window is already visible.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset uxtheme-CloseThemeClass
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#41729] Protect CloseThemeData() from invalid input
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/uxtheme/msstyles.c, dlls/uxtheme/msstyles.h, dlls/uxtheme/tests/system.c
|
|
# |
|
|
if test "$enable_uxtheme_CloseThemeClass" -eq 1; then
|
|
patch_apply uxtheme-CloseThemeClass/0001-uxtheme-Protect-CloseThemeData-from-invalid-input.patch
|
|
(
|
|
printf '%s\n' '+ { "Dmitry Timoshkov", "uxtheme: Protect CloseThemeData() from invalid input.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset uxtheme-GTK_Theming
|
|
# |
|
|
# | This patchset has the following (direct or indirect) dependencies:
|
|
# | * ntdll-DllOverrides_WOW64, ntdll-Loader_Machine_Type, wow64cpu-Wow64Transition, ntdll-DllRedirects
|
|
# |
|
|
# | Modified files:
|
|
# | * aclocal.m4, configure.ac, dlls/uxtheme-gtk/Makefile.in, dlls/uxtheme-gtk/button.c, dlls/uxtheme-gtk/combobox.c, dlls
|
|
# | /uxtheme-gtk/edit.c, dlls/uxtheme-gtk/header.c, dlls/uxtheme-gtk/listbox.c, dlls/uxtheme-gtk/listview.c, dlls/uxtheme-
|
|
# | gtk/menu.c, dlls/uxtheme-gtk/rebar.c, dlls/uxtheme-gtk/status.c, dlls/uxtheme-gtk/tab.c, dlls/uxtheme-gtk/toolbar.c,
|
|
# | dlls/uxtheme-gtk/trackbar.c, dlls/uxtheme-gtk/uxtheme-gtk.spec, dlls/uxtheme-gtk/uxtheme.c, dlls/uxtheme-
|
|
# | gtk/uxthemegtk.h, dlls/uxtheme-gtk/version.rc, dlls/uxtheme-gtk/window.c
|
|
# |
|
|
if test "$enable_uxtheme_GTK_Theming" -eq 1; then
|
|
patch_apply uxtheme-GTK_Theming/0001-uxthemegtk-Add-configure-check-and-stub-dll.patch
|
|
patch_apply uxtheme-GTK_Theming/0002-uxthemegtk-Initial-implementation.patch
|
|
patch_apply uxtheme-GTK_Theming/0003-uxthemegtk-Implement-enumeration-of-themes-color-and.patch
|
|
patch_apply uxtheme-GTK_Theming/0004-uxthemegtk-Correctly-render-buttons-with-GTK-3.14.0.patch
|
|
patch_apply uxtheme-GTK_Theming/0005-uxthemegtk-Print-class-name-before-calling-vtable-fu.patch
|
|
patch_apply uxtheme-GTK_Theming/0006-uxthemegtk-Reset-FPU-flags-before-calling-GTK3-funct.patch
|
|
patch_apply uxtheme-GTK_Theming/0007-uxthemegtk-Add-export-for-OpenThemeDataEx.patch
|
|
patch_apply uxtheme-GTK_Theming/0008-uxthemegtk-Fix-some-incorrect-error-codes.patch
|
|
patch_apply uxtheme-GTK_Theming/0009-uxthemegtk-Validate-theme-handles-before-accessing-p.patch
|
|
(
|
|
printf '%s\n' '+ { "Michael Müller", "uxthemegtk: Add configure check and stub dll.", 1 },';
|
|
printf '%s\n' '+ { "Ivan Akulinchev", "uxthemegtk: Initial implementation.", 1 },';
|
|
printf '%s\n' '+ { "Michael Müller", "uxthemegtk: Implement enumeration of themes, color and sizes.", 1 },';
|
|
printf '%s\n' '+ { "Sebastian Lackner", "uxthemegtk: Correctly render buttons with GTK >= 3.14.0.", 1 },';
|
|
printf '%s\n' '+ { "Michael Müller", "uxthemegtk: Print class name before calling vtable functions.", 1 },';
|
|
printf '%s\n' '+ { "Michael Müller", "uxthemegtk: Reset FPU flags before calling GTK3 functions.", 1 },';
|
|
printf '%s\n' '+ { "Sebastian Lackner", "uxthemegtk: Add export for OpenThemeDataEx.", 1 },';
|
|
printf '%s\n' '+ { "Sebastian Lackner", "uxthemegtk: Fix some incorrect error codes.", 1 },';
|
|
printf '%s\n' '+ { "Sebastian Lackner", "uxthemegtk: Validate theme handles before accessing private data.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset version-VerFindFileA
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/version/tests/Makefile.in, dlls/version/tests/install.c, dlls/version/version.c
|
|
# |
|
|
if test "$enable_version_VerFindFileA" -eq 1; then
|
|
patch_apply version-VerFindFileA/0001-version-Correctly-return-VFF_CURNEDEST-in-VerFindFil.patch
|
|
(
|
|
printf '%s\n' '+ { "Michael Müller", "version: Correctly return VFF_CURNEDEST in VerFindFileA.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset version-VerQueryValue
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/version/tests/info.c
|
|
# |
|
|
if test "$enable_version_VerQueryValue" -eq 1; then
|
|
patch_apply version-VerQueryValue/0001-version-Test-for-VerQueryValueA-try-2.patch
|
|
(
|
|
printf '%s\n' '+ { "Mark Jansen", "version: Test for VerQueryValueA.", 2 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset virtdisk-GetStorageDependencyInformation
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#42577] Add stub for virtdisk.GetStorageDependencyInformation
|
|
# |
|
|
# | Modified files:
|
|
# | * configure, configure.ac, dlls/virtdisk/tests/Makefile.in, dlls/virtdisk/tests/virtdisk.c, dlls/virtdisk/virtdisk.spec,
|
|
# | dlls/virtdisk/virtdisk_main.c, include/Makefile.in, include/virtdisk.h
|
|
# |
|
|
if test "$enable_virtdisk_GetStorageDependencyInformation" -eq 1; then
|
|
patch_apply virtdisk-GetStorageDependencyInformation/0001-include-add-headerfile-virtdisk.h.patch
|
|
patch_apply virtdisk-GetStorageDependencyInformation/0002-virtdisk-Add-GetStorageDependencyInformation-stub.patch
|
|
patch_apply virtdisk-GetStorageDependencyInformation/0003-virtdisk-tests-Add-GetStorageDependencyInformation-t.patch
|
|
(
|
|
printf '%s\n' '+ { "Louis Lenders", "include: Add headerfile virtdisk.h.", 1 },';
|
|
printf '%s\n' '+ { "Michael Müller", "virtdisk: Add GetStorageDependencyInformation stub.", 1 },';
|
|
printf '%s\n' '+ { "Gijs Vermeulen", "virtdisk/tests: Add GetStorageDependencyInformation tests.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset windowscodecs-Palette_Images
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/windowscodecs/bmpdecode.c, dlls/windowscodecs/bmpencode.c, dlls/windowscodecs/imgfactory.c,
|
|
# | dlls/windowscodecs/info.c, dlls/windowscodecs/pngformat.c, dlls/windowscodecs/regsvr.c,
|
|
# | dlls/windowscodecs/tests/converter.c, dlls/windowscodecs/tests/pngformat.c, dlls/windowscodecs/tiffformat.c
|
|
# |
|
|
if test "$enable_windowscodecs_Palette_Images" -eq 1; then
|
|
patch_apply windowscodecs-Palette_Images/0012-windowscodecs-tests-Add-tests-for-encoding-2bpp-4bpp.patch
|
|
patch_apply windowscodecs-Palette_Images/0013-windowscodecs-Use-V_UI1-instead-of-V_UNION-to-assign.patch
|
|
patch_apply windowscodecs-Palette_Images/0014-windowscodecs-Add-support-for-palette-image-formats-.patch
|
|
patch_apply windowscodecs-Palette_Images/0016-windowscodecs-Limit-number-of-colors-in-a-palette-in.patch
|
|
patch_apply windowscodecs-Palette_Images/0017-windowscodecs-Add-support-for-palette-image-formats-.patch
|
|
patch_apply windowscodecs-Palette_Images/0020-windowscodecs-find_decoder-should-return-an-error-it.patch
|
|
patch_apply windowscodecs-Palette_Images/0021-windowscodecs-PNG-decoder-should-return-WINCODEC_ERR.patch
|
|
(
|
|
printf '%s\n' '+ { "Dmitry Timoshkov", "windowscodecs/tests: Add tests for encoding 2bpp/4bpp images with a palette.", 1 },';
|
|
printf '%s\n' '+ { "Dmitry Timoshkov", "windowscodecs: Use V_UI1() instead of V_UNION() to assign a VT_UI1 variant member.", 1 },';
|
|
printf '%s\n' '+ { "Dmitry Timoshkov", "windowscodecs: Add support for palette image formats to TIFF encoder.", 1 },';
|
|
printf '%s\n' '+ { "Dmitry Timoshkov", "windowscodecs: Limit number of colors in a palette in BMP decoder.", 1 },';
|
|
printf '%s\n' '+ { "Dmitry Timoshkov", "windowscodecs: Add support for palette image formats to BMP encoder.", 1 },';
|
|
printf '%s\n' '+ { "Dmitry Timoshkov", "windowscodecs: Find_decoder() should return an error it received from the decoder.", 1 },';
|
|
printf '%s\n' '+ { "Dmitry Timoshkov", "windowscodecs: PNG decoder should return WINCODEC_ERR_UNKNOWNIMAGEFORMAT when image loading fails.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset windowscodecs-GIF_Encoder
|
|
# |
|
|
# | This patchset has the following (direct or indirect) dependencies:
|
|
# | * windowscodecs-Palette_Images
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/gdiplus/tests/image.c, dlls/windowscodecs/bmpencode.c, dlls/windowscodecs/clsfactory.c,
|
|
# | dlls/windowscodecs/converter.c, dlls/windowscodecs/gifformat.c, dlls/windowscodecs/info.c,
|
|
# | dlls/windowscodecs/jpegformat.c, dlls/windowscodecs/pngformat.c, dlls/windowscodecs/regsvr.c,
|
|
# | dlls/windowscodecs/tests/converter.c, dlls/windowscodecs/tiffformat.c, dlls/windowscodecs/wincodecs_private.h,
|
|
# | dlls/windowscodecs/windowscodecs_wincodec.idl
|
|
# |
|
|
if test "$enable_windowscodecs_GIF_Encoder" -eq 1; then
|
|
patch_apply windowscodecs-GIF_Encoder/0001-windowscodecs-Implement-IWICBitmapEncoder-GetEncoder.patch
|
|
patch_apply windowscodecs-GIF_Encoder/0002-windowscodecs-Implement-IWICBitmapEncoderInfo-GetFil.patch
|
|
patch_apply windowscodecs-GIF_Encoder/0004-windowscodecs-Implement-IWICBitmapEncoder-GetEncoder.patch
|
|
patch_apply windowscodecs-GIF_Encoder/0006-windowscodecs-Implement-IWICBitmapEncoder-GetEncoder.patch
|
|
patch_apply windowscodecs-GIF_Encoder/0007-windowscodecs-tests-Add-IWICBitmapEncoderInfo-test.patch
|
|
patch_apply windowscodecs-GIF_Encoder/0008-windowscodecs-Add-initial-implementation-of-the-GIF-.patch
|
|
patch_apply windowscodecs-GIF_Encoder/0010-windowscodecs-Initialize-empty-property-bag-in-GIF-e.patch
|
|
patch_apply windowscodecs-GIF_Encoder/0011-windowscodecs-Add-registration-for-GUID_WICPixelForm.patch
|
|
patch_apply windowscodecs-GIF_Encoder/0012-windowscodecs-Implement-IWICBitmapDecoder-GetMetadat.patch
|
|
patch_apply windowscodecs-GIF_Encoder/0014-windowscodecs-Fix-the-buffer-size-check-in-the-TIFF-.patch
|
|
patch_apply windowscodecs-GIF_Encoder/0015-windowscodecs-Add-support-for-converting-to-8bppInde.patch
|
|
patch_apply windowscodecs-GIF_Encoder/0016-windowscodecs-WICConvertBitmapSource-should-ask-IWIC.patch
|
|
patch_apply windowscodecs-GIF_Encoder/0017-windowscodecs-Implement-IWICBitmapEncoder-GetEncoder.patch
|
|
patch_apply windowscodecs-GIF_Encoder/0018-windowscodecs-Implement-IWICBitmapEncoder-GetEncoder.patch
|
|
patch_apply windowscodecs-GIF_Encoder/0019-windowscodecs-Improve-stub-for-IWICBitmapDecoder-Get.patch
|
|
patch_apply windowscodecs-GIF_Encoder/0020-windowscodecs-Add-registration-of-the-GIF-encoder.patch
|
|
patch_apply windowscodecs-GIF_Encoder/0021-windowscodecs-Fix-IWICBitmapDecoder-CopyPalette-for-.patch
|
|
patch_apply windowscodecs-GIF_Encoder/0022-windowscodecs-Better-follow-the-GIF-spec-and-don-t-s.patch
|
|
patch_apply windowscodecs-GIF_Encoder/0023-windowscodecs-Fix-behaviour-of-format-converter-for-.patch
|
|
patch_apply windowscodecs-GIF_Encoder/0024-windowscodecs-tests-Add-a-bunch-of-new-tests-for-ind.patch
|
|
patch_apply windowscodecs-GIF_Encoder/0025-windowscodecs-tests-Add-some-tests-for-converting-24.patch
|
|
patch_apply windowscodecs-GIF_Encoder/0026-windowscodecs-tests-Add-the-tests-for-GIF-encoder-an.patch
|
|
patch_apply windowscodecs-GIF_Encoder/0027-windowscodecs-tests-Add-a-missing-check-for-IWICBitm.patch
|
|
patch_apply windowscodecs-GIF_Encoder/0028-windowscodecs-Correctly-indicate-that-the-global-inf.patch
|
|
(
|
|
printf '%s\n' '+ { "Dmitry Timoshkov", "windowscodecs: Implement IWICBitmapEncoder::GetEncoderInfo in BMP encoder.", 1 },';
|
|
printf '%s\n' '+ { "Dmitry Timoshkov", "windowscodecs: Implement IWICBitmapEncoderInfo::GetFileExtensions.", 1 },';
|
|
printf '%s\n' '+ { "Dmitry Timoshkov", "windowscodecs: Implement IWICBitmapEncoder::GetEncoderInfo in JPEG encoder.", 1 },';
|
|
printf '%s\n' '+ { "Dmitry Timoshkov", "windowscodecs: Implement IWICBitmapEncoder::GetEncoderInfo in TIFF encoder.", 1 },';
|
|
printf '%s\n' '+ { "Alistair Leslie-Hughes", "windowscodecs/tests: Add IWICBitmapEncoderInfo test.", 1 },';
|
|
printf '%s\n' '+ { "Dmitry Timoshkov", "windowscodecs: Add initial implementation of the GIF encoder.", 1 },';
|
|
printf '%s\n' '+ { "Dmitry Timoshkov", "windowscodecs: Initialize empty property bag in GIF encoder'\''s CreateNewFrame implementation.", 1 },';
|
|
printf '%s\n' '+ { "Dmitry Timoshkov", "windowscodecs: Add registration for GUID_WICPixelFormat32bppGrayFloat pixel format.", 1 },';
|
|
printf '%s\n' '+ { "Dmitry Timoshkov", "windowscodecs: Implement IWICBitmapDecoder::GetMetadataQueryReader in the TIFF decoder.", 1 },';
|
|
printf '%s\n' '+ { "Dmitry Timoshkov", "windowscodecs: Fix the buffer size check in the TIFF decoder'\''s IWICBitmapFrameDecode::CopyPixels implementation.", 1 },';
|
|
printf '%s\n' '+ { "Dmitry Timoshkov", "windowscodecs: Add support for converting to 8bppIndexed format to IWICFormatConverter.", 1 },';
|
|
printf '%s\n' '+ { "Dmitry Timoshkov", "windowscodecs: WICConvertBitmapSource should ask IWICFormatConverter::Initialize to use an optimized palette.", 1 },';
|
|
printf '%s\n' '+ { "Dmitry Timoshkov", "windowscodecs: Implement IWICBitmapEncoder::GetEncoderInfo in the JPEG encoder.", 1 },';
|
|
printf '%s\n' '+ { "Dmitry Timoshkov", "windowscodecs: Implement IWICBitmapEncoder::GetEncoderInfo in the PNG encoder.", 1 },';
|
|
printf '%s\n' '+ { "Dmitry Timoshkov", "windowscodecs: Improve stub for IWICBitmapDecoder::GetMetadataQueryReader in the PNG decoder.", 1 },';
|
|
printf '%s\n' '+ { "Dmitry Timoshkov", "windowscodecs: Add registration of the GIF encoder.", 1 },';
|
|
printf '%s\n' '+ { "Dmitry Timoshkov", "windowscodecs: Fix IWICBitmapDecoder::CopyPalette for a not initialized case in the GIF decoder.", 1 },';
|
|
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 },';
|
|
printf '%s\n' '+ { "Dmitry Timoshkov", "windowscodecs: Fix behaviour of format converter for indexed formats when NULL or empty palette has been provided.", 1 },';
|
|
printf '%s\n' '+ { "Dmitry Timoshkov", "windowscodecs/tests: Add a bunch of new tests for indexed format conversions.", 1 },';
|
|
printf '%s\n' '+ { "Dmitry Timoshkov", "windowscodecs/tests: Add some tests for converting 24bppBGR to 8bppIndexed format.", 1 },';
|
|
printf '%s\n' '+ { "Dmitry Timoshkov", "windowscodecs/tests: Add the tests for GIF encoder and decoder.", 1 },';
|
|
printf '%s\n' '+ { "Dmitry Timoshkov", "windowscodecs/tests: Add a missing check for IWICBitmapFrameDecode::GetPixelFormat return value.", 1 },';
|
|
printf '%s\n' '+ { "Dmitry Timoshkov", "windowscodecs: Correctly indicate that the global info was written even without the global palette.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset windowscodecs-IWICPalette_InitializeFromBitmap
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#39890] Implement IWICPalette::InitializeFromBitmap
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/gdiplus/gdiplus.spec, dlls/gdiplus/image.c, dlls/gdiplus/tests/image.c, dlls/windowscodecs/palette.c,
|
|
# | dlls/windowscodecs/tests/palette.c, include/gdiplusflat.h
|
|
# |
|
|
if test "$enable_windowscodecs_IWICPalette_InitializeFromBitmap" -eq 1; then
|
|
patch_apply windowscodecs-IWICPalette_InitializeFromBitmap/0001-windowscodecs-tests-Add-some-tests-for-IWICPalette-I.patch
|
|
patch_apply windowscodecs-IWICPalette_InitializeFromBitmap/0002-windowscodecs-Implement-IWICPalette-InitializeFromBi.patch
|
|
patch_apply windowscodecs-IWICPalette_InitializeFromBitmap/0003-gdiplus-Implement-GdipInitializePalette.-v2.patch
|
|
patch_apply windowscodecs-IWICPalette_InitializeFromBitmap/0004-gdiplus-tests-Add-some-tests-for-GdipInitializePalet.patch
|
|
(
|
|
printf '%s\n' '+ { "Dmitry Timoshkov", "windowscodecs/tests: Add some tests for IWICPalette::InitializeFromBitmap.", 2 },';
|
|
printf '%s\n' '+ { "Dmitry Timoshkov", "windowscodecs: Implement IWICPalette::InitializeFromBitmap.", 5 },';
|
|
printf '%s\n' '+ { "Dmitry Timoshkov", "gdiplus: Implement GdipInitializePalette.", 2 },';
|
|
printf '%s\n' '+ { "Dmitry Timoshkov", "gdiplus/tests: Add some tests for GdipInitializePalette.", 2 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset windowscodecs-TIFF_Support
|
|
# |
|
|
# | This patchset has the following (direct or indirect) dependencies:
|
|
# | * windowscodecs-Palette_Images, windowscodecs-GIF_Encoder, windowscodecs-IWICPalette_InitializeFromBitmap
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/gdiplus/image.c, dlls/gdiplus/tests/image.c, dlls/windowscodecs/metadatahandler.c, dlls/windowscodecs/regsvr.c,
|
|
# | dlls/windowscodecs/tests/tiffformat.c, dlls/windowscodecs/tiffformat.c, include/wincodec.idl
|
|
# |
|
|
if test "$enable_windowscodecs_TIFF_Support" -eq 1; then
|
|
patch_apply windowscodecs-TIFF_Support/0001-windowscodecs-tests-Add-a-test-for-8bpp-indexed-TIFF.patch
|
|
patch_apply windowscodecs-TIFF_Support/0002-windowscodecs-tests-Make-the-test-for-8bpp-indexed-T.patch
|
|
patch_apply windowscodecs-TIFF_Support/0003-windowscodecs-Fix-the-SupportsTransparency-flag-valu.patch
|
|
patch_apply windowscodecs-TIFF_Support/0004-windowscodecs-Fail-earlier-in-TIFF-decoder-s-Initial.patch
|
|
patch_apply windowscodecs-TIFF_Support/0005-windowscodecs-Avoid-redundant-checks-when-reading-a-.patch
|
|
patch_apply windowscodecs-TIFF_Support/0006-windowscodecs-Add-support-for-16bppGray-and-32bppGra.patch
|
|
patch_apply windowscodecs-TIFF_Support/0007-windowscodecs-Add-support-for-3bps-RGB-format-to-TIF.patch
|
|
patch_apply windowscodecs-TIFF_Support/0008-windowscodecs-Add-support-for-12bpp-RGB-format-to-TI.patch
|
|
patch_apply windowscodecs-TIFF_Support/0009-windowscodecs-Add-support-for-128bppRGBAFloat-format.patch
|
|
patch_apply windowscodecs-TIFF_Support/0011-windowscodecs-Add-support-for-32bppCMYK-and-64bppCMY.patch
|
|
patch_apply windowscodecs-TIFF_Support/0012-windowscodecs-Add-support-for-4bpp-RGBA-format-to-TI.patch
|
|
patch_apply windowscodecs-TIFF_Support/0013-windowscodecs-Add-support-for-16bpp-RGBA-format-to-T.patch
|
|
patch_apply windowscodecs-TIFF_Support/0014-windowscodecs-Add-some-tests-for-various-TIFF-color-.patch
|
|
patch_apply windowscodecs-TIFF_Support/0015-windowscodecs-Tolerate-partial-reads-in-the-IFD-meta.patch
|
|
patch_apply windowscodecs-TIFF_Support/0016-gdiplus-Add-support-for-more-image-color-formats.patch
|
|
patch_apply windowscodecs-TIFF_Support/0017-gdiplus-tests-Add-some-tests-for-loading-TIFF-images.patch
|
|
(
|
|
printf '%s\n' '+ { "Dmitry Timoshkov", "windowscodecs/tests: Add a test for 8bpp indexed TIFF format.", 1 },';
|
|
printf '%s\n' '+ { "Dmitry Timoshkov", "windowscodecs/tests: Make the test for 8bpp indexed TIFF format run under XP.", 1 },';
|
|
printf '%s\n' '+ { "Dmitry Timoshkov", "windowscodecs: Fix the SupportsTransparency flag value for various pixel formats.", 1 },';
|
|
printf '%s\n' '+ { "Dmitry Timoshkov", "windowscodecs: Fail earlier in TIFF decoder'\''s Initialize method for unsupported pixel formats.", 1 },';
|
|
printf '%s\n' '+ { "Dmitry Timoshkov", "windowscodecs: Avoid redundant checks when reading a TIFF tile.", 1 },';
|
|
printf '%s\n' '+ { "Dmitry Timoshkov", "windowscodecs: Add support for 16bppGray and 32bppGrayFloat formats to TIFF decoder.", 1 },';
|
|
printf '%s\n' '+ { "Dmitry Timoshkov", "windowscodecs: Add support for 3bps RGB format to TIFF decoder.", 1 },';
|
|
printf '%s\n' '+ { "Dmitry Timoshkov", "windowscodecs: Add support for 12bpp RGB format to TIFF decoder.", 1 },';
|
|
printf '%s\n' '+ { "Dmitry Timoshkov", "windowscodecs: Add support for 128bppRGBAFloat format to TIFF decoder.", 1 },';
|
|
printf '%s\n' '+ { "Dmitry Timoshkov", "windowscodecs: Add support for 32bppCMYK and 64bppCMYK formats to TIFF decoder.", 1 },';
|
|
printf '%s\n' '+ { "Dmitry Timoshkov", "windowscodecs: Add support for 4bpp RGBA format to TIFF decoder.", 1 },';
|
|
printf '%s\n' '+ { "Dmitry Timoshkov", "windowscodecs: Add support for 16bpp RGBA format to TIFF decoder.", 1 },';
|
|
printf '%s\n' '+ { "Dmitry Timoshkov", "windowscodecs: Add some tests for various TIFF color formats.", 1 },';
|
|
printf '%s\n' '+ { "Dmitry Timoshkov", "windowscodecs: Tolerate partial reads in the IFD metadata loader.", 1 },';
|
|
printf '%s\n' '+ { "Dmitry Timoshkov", "gdiplus: Add support for more image color formats.", 1 },';
|
|
printf '%s\n' '+ { "Dmitry Timoshkov", "gdiplus/tests: Add some tests for loading TIFF images in various color formats.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset windowscodecs-32bppPRGBA
|
|
# |
|
|
# | This patchset has the following (direct or indirect) dependencies:
|
|
# | * windowscodecs-Palette_Images, windowscodecs-GIF_Encoder, windowscodecs-IWICPalette_InitializeFromBitmap, windowscodecs-
|
|
# | TIFF_Support
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/windowscodecs/converter.c, dlls/windowscodecs/info.c, dlls/windowscodecs/regsvr.c,
|
|
# | dlls/windowscodecs/tests/converter.c
|
|
# |
|
|
if test "$enable_windowscodecs_32bppPRGBA" -eq 1; then
|
|
patch_apply windowscodecs-32bppPRGBA/0001-windowscodecs-Add-support-for-32bppRGB-32bppRGBA-and.patch
|
|
patch_apply windowscodecs-32bppPRGBA/0002-windowscodecs-Fix-32bppRGB-to-32bppRGBA-conversion.patch
|
|
(
|
|
printf '%s\n' '+ { "Dmitry Timoshkov", "windowscodecs: Add support for 32bppRGB, 32bppRGBA and 32bppPRGBA to format converter.", 1 },';
|
|
printf '%s\n' '+ { "Dmitry Timoshkov", "windowscodecs: Fix 32bppRGB to 32bppRGBA conversion.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset windowscodecs-IMILBitmapSource
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#34764] Improve compatibility of IMILBitmapSource interface
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/windowscodecs/bitmap.c, dlls/windowscodecs/scaler.c, dlls/windowscodecs/wincodecs_private.h
|
|
# |
|
|
if test "$enable_windowscodecs_IMILBitmapSource" -eq 1; then
|
|
patch_apply windowscodecs-IMILBitmapSource/0001-windowscodecs-Improve-compatibility-of-IMILBitmapSou.patch
|
|
patch_apply windowscodecs-IMILBitmapSource/0002-windowscodecs-Add-support-for-IMILBitmapScaler-inter.patch
|
|
(
|
|
printf '%s\n' '+ { "Dmitry Timoshkov", "windowscodecs: Improve compatibility of IMILBitmapSource interface.", 3 },';
|
|
printf '%s\n' '+ { "Dmitry Timoshkov", "windowscodecs: Add support for IMILBitmapScaler interface.", 2 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset windowscodecs-JPEG_Decoder
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/windowscodecs/converter.c, dlls/windowscodecs/jpegformat.c
|
|
# |
|
|
if test "$enable_windowscodecs_JPEG_Decoder" -eq 1; then
|
|
patch_apply windowscodecs-JPEG_Decoder/0004-windowscodecs-Move-JPEG-frame-image-data-initializat.patch
|
|
patch_apply windowscodecs-JPEG_Decoder/0005-windowscodecs-Add-support-for-CMYK-to-BGR-conversion.patch
|
|
(
|
|
printf '%s\n' '+ { "Dmitry Timoshkov", "windowscodecs: Move JPEG frame image data initialization from Frame::CopyPixels to Decoder::Initialize.", 2 },';
|
|
printf '%s\n' '+ { "Dmitry Timoshkov", "windowscodecs: Add support for CMYK to BGR conversion.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset wine.inf-Directory_ContextMenuHandlers
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#29523] Add 'New' context menu handler entry for directories
|
|
# |
|
|
# | Modified files:
|
|
# | * loader/wine.inf.in
|
|
# |
|
|
if test "$enable_wine_inf_Directory_ContextMenuHandlers" -eq 1; then
|
|
patch_apply wine.inf-Directory_ContextMenuHandlers/0001-wine.inf-Add-New-context-menu-handler-entry-for-dire.patch
|
|
(
|
|
printf '%s\n' '+ { "Michael Müller", "wine.inf: Add '\''New'\'' context menu handler entry for directories.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset wine.inf-Dummy_CA_Certificate
|
|
# |
|
|
# | Modified files:
|
|
# | * loader/wine.inf.in
|
|
# |
|
|
if test "$enable_wine_inf_Dummy_CA_Certificate" -eq 1; then
|
|
patch_apply wine.inf-Dummy_CA_Certificate/0001-wine.inf.in-Add-invalid-dummy-certificate-to-CA-cert.patch
|
|
(
|
|
printf '%s\n' '+ { "Michael Müller", "wine.inf.in: Add invalid dummy certificate to CA certificate store.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset wine.inf-Performance
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#33661] Add performance library registry keys needed by MS SQL Server Management Studio Express 2008 R2
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/advapi32/tests/registry.c, loader/wine.inf.in
|
|
# |
|
|
if test "$enable_wine_inf_Performance" -eq 1; then
|
|
patch_apply wine.inf-Performance/0001-wine.inf-Add-registry-keys-for-Windows-Performance-L.patch
|
|
patch_apply wine.inf-Performance/0002-wine.inf-Add-Counters-to-the-perflib-key-as-an-alias.patch
|
|
patch_apply wine.inf-Performance/0003-advapi32-tests-Add-test-for-perflib-registry-key.patch
|
|
(
|
|
printf '%s\n' '+ { "Daniel Jelinski", "wine.inf: Add registry keys for Windows Performance Library.", 1 },';
|
|
printf '%s\n' '+ { "Dmitry Timoshkov", "wine.inf: Add '\''Counters'\'' to the perflib key as an alias for '\''Counter'\''.", 1 },';
|
|
printf '%s\n' '+ { "Michael Müller", "advapi32/tests: Add test for perflib registry key.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset wine.inf-ProfileList_UserSID
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#15670] Add a ProfileList\<UserSID> registry subkey
|
|
# | * [#42249] Add a ProfileImagePath key with users profile directory
|
|
# |
|
|
# | Modified files:
|
|
# | * loader/wine.inf.in
|
|
# |
|
|
if test "$enable_wine_inf_ProfileList_UserSID" -eq 1; then
|
|
patch_apply wine.inf-ProfileList_UserSID/0001-wine.inf-Add-a-ProfileList-UserSID-registry-subkey.patch
|
|
patch_apply wine.inf-ProfileList_UserSID/0002-wine.inf-Add-ProfileImagePath-with-the-user-s-profil.patch
|
|
(
|
|
printf '%s\n' '+ { "Sebastian Lackner", "wine.inf: Add a ProfileList\\<UserSID> registry subkey.", 1 },';
|
|
printf '%s\n' '+ { "Dmitry Timoshkov", "wine.inf: Add \"ProfileImagePath\" with the user'\''s profile directory under ProfileList key.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset wine.inf-WMP_12
|
|
# |
|
|
# | Modified files:
|
|
# | * loader/wine.inf.in
|
|
# |
|
|
if test "$enable_wine_inf_WMP_12" -eq 1; then
|
|
patch_apply wine.inf-WMP_12/0001-wine.inf-Add-WMP-12-as-installed-windows-feature.patch
|
|
(
|
|
printf '%s\n' '+ { "Michael Müller", "wine.inf: Add WMP 12 as installed windows feature.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset wineboot-DriveSerial
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#17823] Assign a drive serial number during prefix creation/update
|
|
# |
|
|
# | Modified files:
|
|
# | * programs/wineboot/wineboot.c
|
|
# |
|
|
if test "$enable_wineboot_DriveSerial" -eq 1; then
|
|
patch_apply wineboot-DriveSerial/0001-wineboot-Assign-a-drive-serial-number-during-prefix-.patch
|
|
(
|
|
printf '%s\n' '+ { "Sebastian Lackner", "wineboot: Assign a drive serial number during prefix creation/update.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset wineboot-HKEY_DYN_DATA
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#7115] Need for Speed 3 installer requires devices in HKEY_DYN_DATA
|
|
# |
|
|
# | Modified files:
|
|
# | * programs/wineboot/wineboot.c
|
|
# |
|
|
if test "$enable_wineboot_HKEY_DYN_DATA" -eq 1; then
|
|
patch_apply wineboot-HKEY_DYN_DATA/0001-wineboot-Add-some-generic-hardware-in-HKEY_DYN_DATA-.patch
|
|
(
|
|
printf '%s\n' '+ { "Michael Müller", "wineboot: Add some generic hardware in HKEY_DYN_DATA\\Config Manager\\Enum.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset wineboot-drivers_etc_Stubs
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#12076] Create stub files for system32/drivers/etc/{services,hosts,networks,protocol}
|
|
# |
|
|
# | Modified files:
|
|
# | * programs/wineboot/wineboot.c
|
|
# |
|
|
if test "$enable_wineboot_drivers_etc_Stubs" -eq 1; then
|
|
patch_apply wineboot-drivers_etc_Stubs/0001-wineboot-Init-system32-drivers-etc-host-networks-pro.patch
|
|
(
|
|
printf '%s\n' '+ { "Sebastian Lackner", "wineboot: Init system32/drivers/etc/{host,networks,protocol,services}.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset wineboot-ProxySettings
|
|
# |
|
|
# | This patchset has the following (direct or indirect) dependencies:
|
|
# | * wineboot-DriveSerial, wineboot-drivers_etc_Stubs
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#42024] Create ProxyEnable key on wineprefix update
|
|
# |
|
|
# | Modified files:
|
|
# | * programs/wineboot/Makefile.in, programs/wineboot/wineboot.c
|
|
# |
|
|
if test "$enable_wineboot_ProxySettings" -eq 1; then
|
|
patch_apply wineboot-ProxySettings/0001-wineboot-Initialize-proxy-settings-registry-key.patch
|
|
(
|
|
printf '%s\n' '+ { "Michael Müller", "wineboot: Initialize proxy settings registry key.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset winebuild-Fake_Dlls
|
|
# |
|
|
# | This patchset has the following (direct or indirect) dependencies:
|
|
# | * ntdll-ThreadTime, ntdll-Hide_Wine_Exports, ntdll-User_Shared_Data
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#21232] Chromium-based browser engines (Chrome, Opera, Comodo Dragon, SRWare Iron) crash on startup unless '--no-
|
|
# | sandbox' is used (native API sandboxing/hooking scheme incompatible with Wine)
|
|
# | * [#42741] StarCraft I: 1.18 PTR fails to initialize ClientSdk.dll
|
|
# | * [#45349] Multiple applications and games crash due to missing support for 64-bit syscall thunks (StreetFighter V)
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/dbghelp/cpu_i386.c, dlls/kernel32/tests/loader.c, dlls/krnl386.exe16/kernel.c,
|
|
# | dlls/krnl386.exe16/kernel16_private.h, dlls/krnl386.exe16/ne_module.c, dlls/krnl386.exe16/ne_segment.c,
|
|
# | dlls/krnl386.exe16/task.c, dlls/krnl386.exe16/thunk.c, dlls/krnl386.exe16/wowthunk.c, dlls/ntdll/signal_i386.c,
|
|
# | dlls/ntdll/signal_x86_64.c, dlls/ntdll/tests/exception.c, dlls/ntdll/thread.c, dlls/system.drv16/system.c,
|
|
# | dlls/toolhelp.dll16/toolhelp.c, dlls/user.exe16/message.c, dlls/user.exe16/user.c, dlls/user.exe16/window.c,
|
|
# | include/winternl.h, libs/wine/loader.c, tools/winebuild/build.h, tools/winebuild/import.c, tools/winebuild/parser.c,
|
|
# | tools/winebuild/relay.c, tools/winebuild/res32.c, tools/winebuild/spec16.c, tools/winebuild/spec32.c,
|
|
# | tools/winebuild/utils.c
|
|
# |
|
|
if test "$enable_winebuild_Fake_Dlls" -eq 1; then
|
|
patch_apply winebuild-Fake_Dlls/0001-kernel32-tests-Add-basic-tests-for-fake-dlls.patch
|
|
patch_apply winebuild-Fake_Dlls/0002-krnl386.exe16-Do-not-abuse-WOW32Reserved-field-for-1.patch
|
|
patch_apply winebuild-Fake_Dlls/0003-winebuild-Generate-syscall-thunks-for-ntdll-exports.patch
|
|
patch_apply winebuild-Fake_Dlls/0004-winebuild-Use-multipass-label-system-to-generate-fak.patch
|
|
patch_apply winebuild-Fake_Dlls/0005-winebuild-Add-stub-functions-in-fake-dlls.patch
|
|
patch_apply winebuild-Fake_Dlls/0006-winebuild-Add-syscall-thunks-in-fake-dlls.patch
|
|
patch_apply winebuild-Fake_Dlls/0007-winebuild-Fix-size-of-relocation-information-in-fake.patch
|
|
patch_apply winebuild-Fake_Dlls/0008-winebuild-Try-to-make-sure-RVA-matches-between-fake-.patch
|
|
patch_apply winebuild-Fake_Dlls/0009-libs-wine-Use-same-file-alignment-for-fake-and-built.patch
|
|
patch_apply winebuild-Fake_Dlls/0010-tools-winebuild-Add-syscall-thunks-for-64-bit.patch
|
|
(
|
|
printf '%s\n' '+ { "Michael Müller", "kernel32/tests: Add basic tests for fake dlls.", 1 },';
|
|
printf '%s\n' '+ { "Sebastian Lackner", "krnl386.exe16: Do not abuse WOW32Reserved field for 16-bit stack address.", 1 },';
|
|
printf '%s\n' '+ { "Michael Müller", "winebuild: Generate syscall thunks for ntdll exports.", 1 },';
|
|
printf '%s\n' '+ { "Michael Müller", "winebuild: Use multipass label system to generate fake dlls.", 1 },';
|
|
printf '%s\n' '+ { "Michael Müller", "winebuild: Add stub functions in fake dlls.", 1 },';
|
|
printf '%s\n' '+ { "Michael Müller", "winebuild: Add syscall thunks in fake dlls.", 1 },';
|
|
printf '%s\n' '+ { "Michael Müller", "winebuild: Fix size of relocation information in fake dlls.", 1 },';
|
|
printf '%s\n' '+ { "Michael Müller", "winebuild: Try to make sure RVA matches between fake and builtin DLLs.", 1 },';
|
|
printf '%s\n' '+ { "Michael Müller", "libs/wine: Use same file alignment for fake and builtin DLLs.", 1 },';
|
|
printf '%s\n' '+ { "Michael Müller", "tools/winebuild: Add syscall thunks for 64 bit.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset winecfg-Libraries
|
|
# |
|
|
# | Modified files:
|
|
# | * programs/winecfg/libraries.c
|
|
# |
|
|
if test "$enable_winecfg_Libraries" -eq 1; then
|
|
patch_apply winecfg-Libraries/0001-winecfg-Double-click-in-dlls-list-to-edit-item-s-ove.patch
|
|
(
|
|
printf '%s\n' '+ { "Hao Peng", "winecfg: Double click in dlls list to edit item'\''s overides.", 3 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset winecfg-Staging
|
|
# |
|
|
# | Modified files:
|
|
# | * programs/winecfg/Makefile.in, programs/winecfg/about.c, programs/winecfg/main.c, programs/winecfg/resource.h,
|
|
# | programs/winecfg/staging.c, programs/winecfg/winecfg.h, programs/winecfg/winecfg.rc
|
|
# |
|
|
if test "$enable_winecfg_Staging" -eq 1; then
|
|
patch_apply winecfg-Staging/0001-winecfg-Add-staging-tab-for-CSMT.patch
|
|
patch_apply winecfg-Staging/0002-winecfg-Add-checkbox-to-enable-disable-vaapi-GPU-dec.patch
|
|
patch_apply winecfg-Staging/0003-winecfg-Add-checkbox-to-enable-disable-EAX-support.patch
|
|
patch_apply winecfg-Staging/0004-winecfg-Add-checkbox-to-enable-disable-HideWineExpor.patch
|
|
patch_apply winecfg-Staging/0005-winecfg-Add-option-to-enable-disable-GTK3-theming.patch
|
|
(
|
|
printf '%s\n' '+ { "Michael Müller", "winecfg: Add staging tab for CSMT.", 1 },';
|
|
printf '%s\n' '+ { "Sebastian Lackner", "winecfg: Add checkbox to enable/disable vaapi GPU decoder.", 1 },';
|
|
printf '%s\n' '+ { "Mark Harmstone", "winecfg: Add checkbox to enable/disable EAX support.", 1 },';
|
|
printf '%s\n' '+ { "Sebastian Lackner", "winecfg: Add checkbox to enable/disable HideWineExports registry key.", 1 },';
|
|
printf '%s\n' '+ { "Michael Müller", "winecfg: Add option to enable/disable GTK3 theming.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset winecfg-Unmounted_Devices
|
|
# |
|
|
# | Modified files:
|
|
# | * programs/winecfg/drive.c, programs/winecfg/drivedetect.c, programs/winecfg/driveui.c
|
|
# |
|
|
if test "$enable_winecfg_Unmounted_Devices" -eq 1; then
|
|
patch_apply winecfg-Unmounted_Devices/0001-winecfg-Show-unmounted-devices-and-allow-changing-th.patch
|
|
(
|
|
printf '%s\n' '+ { "Michael Müller", "winecfg: Show unmounted devices and allow changing the device value.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset wined3d-Accounting
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/d3d9/tests/device.c, dlls/wined3d/adapter_gl.c, dlls/wined3d/device.c, dlls/wined3d/wined3d_gl.h
|
|
# |
|
|
if test "$enable_wined3d_Accounting" -eq 1; then
|
|
patch_apply wined3d-Accounting/0001-wined3d-Use-real-values-for-memory-accounting-on-NVI.patch
|
|
(
|
|
printf '%s\n' '+ { "Michael Müller", "wined3d: Use real values for memory accounting on NVIDIA cards.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset wined3d-Dual_Source_Blending
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/d3d11/tests/d3d11.c, dlls/wined3d/adapter_gl.c, dlls/wined3d/context.c, dlls/wined3d/glsl_shader.c,
|
|
# | dlls/wined3d/shader.c, dlls/wined3d/state.c, dlls/wined3d/wined3d_private.h
|
|
# |
|
|
if test "$enable_wined3d_Dual_Source_Blending" -eq 1; then
|
|
patch_apply wined3d-Dual_Source_Blending/0002-d3d11-tests-Add-basic-dual-source-blend-test.patch
|
|
patch_apply wined3d-Dual_Source_Blending/0003-wined3d-Implement-dual-source-blending.patch
|
|
(
|
|
printf '%s\n' '+ { "Michael Müller", "d3d11/tests: Add basic dual source blend test.", 1 },';
|
|
printf '%s\n' '+ { "Michael Müller", "wined3d: Implement dual source blending.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset wined3d-QUERY_Stubs
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#20776] Add stubs for QUERY_TYPE_SO_STATISTICS and QUERY_TYPE_SO_OVERFLOW
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/d3d10core/tests/d3d10core.c, dlls/d3d11/tests/d3d11.c, dlls/wined3d/query.c
|
|
# |
|
|
if test "$enable_wined3d_QUERY_Stubs" -eq 1; then
|
|
patch_apply wined3d-QUERY_Stubs/0001-wined3d-Add-stubs-for-QUERY_TYPE_SO_STATISTICS-and-Q.patch
|
|
(
|
|
printf '%s\n' '+ { "Michael Müller", "wined3d: Add stubs for QUERY_TYPE_SO_STATISTICS and QUERY_TYPE_SO_OVERFLOW.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset wined3d-Silence_FIXMEs
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/wined3d/resource.c, dlls/wined3d/surface.c, dlls/wined3d/texture.c
|
|
# |
|
|
if test "$enable_wined3d_Silence_FIXMEs" -eq 1; then
|
|
patch_apply wined3d-Silence_FIXMEs/0003-wined3d-Silence-repeated-resource_check_usage-FIXME.patch
|
|
patch_apply wined3d-Silence_FIXMEs/0004-wined3d-Print-FIXME-only-once-in-surface_cpu_blt.patch
|
|
patch_apply wined3d-Silence_FIXMEs/0006-wined3d-Silence-extremely-noisy-FIXME-in-wined3d_tex.patch
|
|
(
|
|
printf '%s\n' '+ { "Erich E. Hoover", "wined3d: Silence repeated resource_check_usage FIXME.", 2 },';
|
|
printf '%s\n' '+ { "Christian Costa", "wined3d: Print FIXME only once in surface_cpu_blt.", 1 },';
|
|
printf '%s\n' '+ { "Sebastian Lackner", "wined3d: Silence extremely noisy FIXME in wined3d_texture_add_dirty_region.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset wined3d-UAV_Counters
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/d3d11/device.c, dlls/wined3d/cs.c, dlls/wined3d/device.c
|
|
# |
|
|
if test "$enable_wined3d_UAV_Counters" -eq 1; then
|
|
patch_apply wined3d-UAV_Counters/0001-wined3d-Remaining-UAV-counter-changes.patch
|
|
(
|
|
printf '%s\n' '+ { "Sebastian Lackner", "wined3d: Remaining UAV counter changes.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset wined3d-CSMT_Main
|
|
# |
|
|
# | This patchset has the following (direct or indirect) dependencies:
|
|
# | * nvcuda-CUDA_Support, nvapi-Stub_DLL, d3d11-Deferred_Context, d3d9-Tests, wined3d-Accounting, wined3d-
|
|
# | WINED3DFMT_B8G8R8X8_UNORM, wined3d-DXTn, wined3d-Dual_Source_Blending, wined3d-QUERY_Stubs, wined3d-Silence_FIXMEs,
|
|
# | wined3d-UAV_Counters
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/wined3d/cs.c, dlls/wined3d/device.c, dlls/wined3d/view.c, dlls/wined3d/wined3d_private.h
|
|
# |
|
|
if test "$enable_wined3d_CSMT_Main" -eq 1; then
|
|
patch_apply wined3d-CSMT_Main/0001-wined3d-Add-additional-synchronization-CS-ops.patch
|
|
patch_apply wined3d-CSMT_Main/0042-wined3d-Reset-context-before-destruction.patch
|
|
patch_apply wined3d-CSMT_Main/0045-wined3d-Improve-wined3d_cs_emit_update_sub_resource.patch
|
|
(
|
|
printf '%s\n' '+ { "Sebastian Lackner", "wined3d: Add additional synchronization CS ops.", 1 },';
|
|
printf '%s\n' '+ { "Sebastian Lackner", "wined3d: Reset context before destruction.", 1 },';
|
|
printf '%s\n' '+ { "Michael Müller", "wined3d: Improve wined3d_cs_emit_update_sub_resource.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset wined3d-WINED3D_RS_COLORWRITEENABLE
|
|
# |
|
|
# | This patchset has the following (direct or indirect) dependencies:
|
|
# | * d3d11-Depth_Bias
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/d3d11/device.c, dlls/d3d11/state.c, dlls/wined3d/context.c, dlls/wined3d/device.c, dlls/wined3d/state.c,
|
|
# | dlls/wined3d/stateblock.c, dlls/wined3d/surface.c, dlls/wined3d/utils.c, dlls/wined3d/wined3d_private.h,
|
|
# | include/wine/wined3d.h
|
|
# |
|
|
if test "$enable_wined3d_WINED3D_RS_COLORWRITEENABLE" -eq 1; then
|
|
patch_apply wined3d-WINED3D_RS_COLORWRITEENABLE/0001-wined3d-Implement-all-8-d3d11-color-write-masks.patch
|
|
(
|
|
printf '%s\n' '+ { "Michael Müller", "wined3d: Implement all 8 d3d11 color write masks.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset wined3d-Indexed_Vertex_Blending
|
|
# |
|
|
# | This patchset has the following (direct or indirect) dependencies:
|
|
# | * d3d11-Depth_Bias, wined3d-WINED3D_RS_COLORWRITEENABLE
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#39057] Support for indexed vertex blending
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/d3d9/tests/visual.c, dlls/wined3d/context.c, dlls/wined3d/device.c, dlls/wined3d/directx.c,
|
|
# | dlls/wined3d/glsl_shader.c, dlls/wined3d/utils.c, dlls/wined3d/vertexdeclaration.c, dlls/wined3d/wined3d_private.h
|
|
# |
|
|
if test "$enable_wined3d_Indexed_Vertex_Blending" -eq 1; then
|
|
patch_apply wined3d-Indexed_Vertex_Blending/0001-d3d9-tests-Add-test-for-indexed-vertex-blending.patch
|
|
patch_apply wined3d-Indexed_Vertex_Blending/0002-wined3d-Implement-hardware-indexed-vertex-blending-w.patch
|
|
patch_apply wined3d-Indexed_Vertex_Blending/0003-d3d9-tests-Test-normal-calculation-when-indexed-vert.patch
|
|
patch_apply wined3d-Indexed_Vertex_Blending/0004-wined3d-Fix-calculation-of-normal-when-vertex-blendi.patch
|
|
patch_apply wined3d-Indexed_Vertex_Blending/0005-wined3d-Move-matrix-inversion-functions-into-utils.c.patch
|
|
patch_apply wined3d-Indexed_Vertex_Blending/0006-wined3d-Implement-software-processing-for-indexed-ve.patch
|
|
patch_apply wined3d-Indexed_Vertex_Blending/0007-d3d9-tests-Check-MaxVertexBlendMatrixIndex-capabilit.patch
|
|
patch_apply wined3d-Indexed_Vertex_Blending/0008-wined3d-Report-correct-number-of-blend-matrices-when.patch
|
|
patch_apply wined3d-Indexed_Vertex_Blending/0009-wined3d-Track-updates-of-vertex-blend-matrices-separ.patch
|
|
(
|
|
printf '%s\n' '+ { "Paul Gofman", "d3d9/tests: Add test for indexed vertex blending.", 1 },';
|
|
printf '%s\n' '+ { "Paul Gofman", "wined3d: Implement hardware indexed vertex blending with 9 matrices.", 1 },';
|
|
printf '%s\n' '+ { "Michael Müller", "d3d9/tests: Test normal calculation when indexed vertex blending is enabled.", 1 },';
|
|
printf '%s\n' '+ { "Michael Müller", "wined3d: Fix calculation of normal when vertex blending is enabled.", 1 },';
|
|
printf '%s\n' '+ { "Michael Müller", "wined3d: Move matrix inversion functions into utils.c.", 1 },';
|
|
printf '%s\n' '+ { "Michael Müller", "wined3d: Implement software processing for indexed vertex blending.", 1 },';
|
|
printf '%s\n' '+ { "Michael Müller", "d3d9/tests: Check MaxVertexBlendMatrixIndex capability.", 1 },';
|
|
printf '%s\n' '+ { "Michael Müller", "wined3d: Report correct number of blend matrices when software vertex processing is used.", 1 },';
|
|
printf '%s\n' '+ { "Sebastian Lackner", "wined3d: Track updates of vertex blend matrices separately.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset wined3d-wined3d_guess_gl_vendor
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#42538] Add check for GL_VENDOR = "Brian Paul" to detect Mesa
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/wined3d/adapter_gl.c
|
|
# |
|
|
if test "$enable_wined3d_wined3d_guess_gl_vendor" -eq 1; then
|
|
patch_apply wined3d-wined3d_guess_gl_vendor/0001-wined3d-Also-check-for-Brian-Paul-to-detect-Mesa-gl_.patch
|
|
(
|
|
printf '%s\n' '+ { "Jarkko Korpi", "wined3d: Also check for '\''Brian Paul'\'' to detect Mesa gl_vendor.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset winedbg-Process_Arguments
|
|
# |
|
|
# | Modified files:
|
|
# | * programs/winedbg/info.c
|
|
# |
|
|
if test "$enable_winedbg_Process_Arguments" -eq 1; then
|
|
patch_apply winedbg-Process_Arguments/0001-programs-winedbg-Print-process-arguments-in-info-thr.patch
|
|
(
|
|
printf '%s\n' '+ { "Michael Müller", "programs/winedbg: Print process arguments in info threads.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset winedevice-Default_Drivers
|
|
# |
|
|
# | This patchset has the following (direct or indirect) dependencies:
|
|
# | * dxva2-Video_Decoder, Compiler_Warnings, ntoskrnl-Stubs
|
|
# |
|
|
# | Modified files:
|
|
# | * configure.ac, dlls/dxgkrnl.sys/Makefile.in, dlls/dxgkrnl.sys/dxgkrnl.sys.spec, dlls/dxgkrnl.sys/main.c,
|
|
# | dlls/dxgmms1.sys/Makefile.in, dlls/dxgmms1.sys/dxgmms1.sys.spec, dlls/dxgmms1.sys/main.c,
|
|
# | dlls/ntoskrnl.exe/tests/driver.c, dlls/win32k.sys/Makefile.in, dlls/win32k.sys/main.c, dlls/win32k.sys/win32k.sys.spec,
|
|
# | include/ddk/ntddk.h, loader/wine.inf.in, programs/winedevice/device.c, tools/make_specfiles
|
|
# |
|
|
if test "$enable_winedevice_Default_Drivers" -eq 1; then
|
|
patch_apply winedevice-Default_Drivers/0001-win32k.sys-Add-stub-driver.patch
|
|
patch_apply winedevice-Default_Drivers/0002-dxgkrnl.sys-Add-stub-driver.patch
|
|
patch_apply winedevice-Default_Drivers/0003-dxgmms1.sys-Add-stub-driver.patch
|
|
patch_apply winedevice-Default_Drivers/0004-programs-winedevice-Load-some-common-drivers-and-fix.patch
|
|
(
|
|
printf '%s\n' '+ { "Michael Müller", "win32k.sys: Add stub driver.", 1 },';
|
|
printf '%s\n' '+ { "Michael Müller", "dxgkrnl.sys: Add stub driver.", 1 },';
|
|
printf '%s\n' '+ { "Michael Müller", "dxgmms1.sys: Add stub driver.", 1 },';
|
|
printf '%s\n' '+ { "Michael Müller", "programs/winedevice: Load some common drivers and fix ldr order.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset winedevice-Fix_Relocation
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#28254] Fix crash of winedevice when relocation entry crosses page boundary
|
|
# |
|
|
# | Modified files:
|
|
# | * programs/winedevice/device.c
|
|
# |
|
|
if test "$enable_winedevice_Fix_Relocation" -eq 1; then
|
|
patch_apply winedevice-Fix_Relocation/0001-winedevice-Avoid-invalid-memory-access-when-relocati.patch
|
|
(
|
|
printf '%s\n' '+ { "Sebastian Lackner", "winedevice: Avoid invalid memory access when relocation block addresses memory outside of the current page.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset winemapi-user-xdg-mail
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#11770] - use xdg-email if it's available.
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/winemapi/Makefile.in, dlls/winemapi/sendmail.c, dlls/winemapi/winemapi_private.h, dlls/winemapi/xdg-email.c
|
|
# |
|
|
if test "$enable_winemapi_user_xdg_mail" -eq 1; then
|
|
patch_apply winemapi-user-xdg-mail/0001-winemapi-Directly-use-xdg-email-if-available-enablin.patch
|
|
(
|
|
printf '%s\n' '+ { "Jeremy White", "winemapi: Directly use xdg-email if available, enabling file attachments.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset winemenubuilder-Desktop_Icon_Path
|
|
# |
|
|
# | Modified files:
|
|
# | * programs/winemenubuilder/Makefile.in, programs/winemenubuilder/winemenubuilder.c
|
|
# |
|
|
if test "$enable_winemenubuilder_Desktop_Icon_Path" -eq 1; then
|
|
patch_apply winemenubuilder-Desktop_Icon_Path/0001-winemenubuilder-Create-desktop-shortcuts-with-absolu.patch
|
|
(
|
|
printf '%s\n' '+ { "Sebastian Lackner", "winemenubuilder: Create desktop shortcuts with absolute wine path.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset winemp3.acm-MPEG3_StreamOpen
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/l3codeca.acm/mpegl3.c, dlls/msacm32/tests/msacm.c
|
|
# |
|
|
if test "$enable_winemp3_acm_MPEG3_StreamOpen" -eq 1; then
|
|
patch_apply winemp3.acm-MPEG3_StreamOpen/0001-winemp3.acm-Check-input-format-in-MPEG3_StreamOpen.patch
|
|
(
|
|
printf '%s\n' '+ { "Michael Müller", "l3codeca.acm: Check input format in MPEG3_StreamOpen.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset wineps.drv-PostScript_Fixes
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#4836] Various improvements for wineps.drv for Adobe PageMaker compatibility
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/gdi32/printdrv.c, dlls/gdi32/tests/dc.c, dlls/wineps.drv/download.c, dlls/wineps.drv/escape.c,
|
|
# | dlls/wineps.drv/psdrv.h
|
|
# |
|
|
if test "$enable_wineps_drv_PostScript_Fixes" -eq 1; then
|
|
patch_apply wineps.drv-PostScript_Fixes/0001-gdi32-tests-Add-a-simple-test-for-printing-to-a-Post.patch
|
|
patch_apply wineps.drv-PostScript_Fixes/0002-gdi32-Trace-full-contents-of-DOCINFO-in-StartDoc.patch
|
|
patch_apply wineps.drv-PostScript_Fixes/0003-wineps.drv-Add-stubs-for-escapes-required-by-Adobe-P.patch
|
|
patch_apply wineps.drv-PostScript_Fixes/0004-wineps.drv-Add-support-for-GETFACENAME-and-DOWNLOADF.patch
|
|
patch_apply wineps.drv-PostScript_Fixes/0005-wineps.drv-PostScript-header-should-be-written-by-St.patch
|
|
(
|
|
printf '%s\n' '+ { "Dmitry Timoshkov", "gdi32/tests: Add a simple test for printing to a PostScript device.", 1 },';
|
|
printf '%s\n' '+ { "Dmitry Timoshkov", "gdi32: Trace full contents of DOCINFO in StartDoc.", 1 },';
|
|
printf '%s\n' '+ { "Dmitry Timoshkov", "wineps.drv: Add stubs for escapes required by Adobe PageMaker.", 1 },';
|
|
printf '%s\n' '+ { "Dmitry Timoshkov", "wineps.drv: Add support for GETFACENAME and DOWNLOADFACE escapes.", 1 },';
|
|
printf '%s\n' '+ { "Dmitry Timoshkov", "wineps.drv: PostScript header should be written by StartDoc instead of StartPage.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset winepulse-PulseAudio_Support
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/winepulse.drv/Makefile.in, dlls/winepulse.drv/mmdevdrv.c
|
|
# |
|
|
if test "$enable_winepulse_PulseAudio_Support" -eq 1; then
|
|
patch_apply winepulse-PulseAudio_Support/0001-winepulse.drv-Use-a-separate-mainloop-and-ctx-for-pu.patch
|
|
patch_apply winepulse-PulseAudio_Support/0002-winepulse-Don-t-rely-on-pulseaudio-callbacks-for-tim.patch
|
|
patch_apply winepulse-PulseAudio_Support/0003-winepulse-expose-audio-devices-directly-to-programs.patch
|
|
patch_apply winepulse-PulseAudio_Support/0004-winepulse-fix-segfault-in-pulse_rd_loop.patch
|
|
patch_apply winepulse-PulseAudio_Support/0005-winepulse-implement-GetPropValue.patch
|
|
patch_apply winepulse-PulseAudio_Support/0006-winepulse-fetch-actual-program-name-if-possible.patch
|
|
patch_apply winepulse-PulseAudio_Support/0007-winepulse-return-PKEY_AudioEndpoint_PhysicalSpeakers.patch
|
|
patch_apply winepulse-PulseAudio_Support/0008-winepulse-Fix-up-recording.patch
|
|
(
|
|
printf '%s\n' '+ { "Sebastian Lackner", "winepulse.drv: Use a separate mainloop and ctx for pulse_test_connect.", 1 },';
|
|
printf '%s\n' '+ { "Andrew Eikum", "winepulse: Don'\''t rely on pulseaudio callbacks for timing.", 1 },';
|
|
printf '%s\n' '+ { "Mark Harmstone", "winepulse: Expose audio devices directly to programs.", 1 },';
|
|
printf '%s\n' '+ { "Mark Harmstone", "winepulse: Fix segfault in pulse_rd_loop.", 1 },';
|
|
printf '%s\n' '+ { "Mark Harmstone", "winepulse: Implement GetPropValue.", 1 },';
|
|
printf '%s\n' '+ { "Mark Harmstone", "winepulse: Fetch actual program name if possible.", 1 },';
|
|
printf '%s\n' '+ { "Mark Harmstone", "winepulse: Return PKEY_AudioEndpoint_PhysicalSpeakers device prop.", 1 },';
|
|
printf '%s\n' '+ { "Andrew Eikum", "winepulse: Fix up recording.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset winex11-CandidateWindowPos
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#30938] Update a XIM candidate position when cursor location changes
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/user32/caret.c, dlls/user32/driver.c, dlls/user32/user_private.h, dlls/winex11.drv/winex11.drv.spec,
|
|
# | dlls/winex11.drv/xim.c
|
|
# |
|
|
if test "$enable_winex11_CandidateWindowPos" -eq 1; then
|
|
patch_apply winex11-CandidateWindowPos/0001-winex11.drv-Update-a-candidate-window-s-position-wit.patch
|
|
(
|
|
printf '%s\n' '+ { "Felix Yan", "winex11.drv: Update a candidate window'\''s position with over-the-spot style.", 2 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset winex11-ClipCursor
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#38087] Fix multithreading issues with fullscreen clipping
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/winex11.drv/mouse.c
|
|
# |
|
|
if test "$enable_winex11_ClipCursor" -eq 1; then
|
|
patch_apply winex11-ClipCursor/0001-winex11-Forward-all-clipping-requests-to-the-right-t.patch
|
|
(
|
|
printf '%s\n' '+ { "Sebastian Lackner", "winex11: Forward all clipping requests to the right thread (including fullscreen clipping).", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset winex11-DefaultDisplayFrequency
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/winex11.drv/settings.c, dlls/winex11.drv/x11drv.h, dlls/winex11.drv/x11drv_main.c
|
|
# |
|
|
if test "$enable_winex11_DefaultDisplayFrequency" -eq 1; then
|
|
patch_apply winex11-DefaultDisplayFrequency/0001-winex11.drv-Allow-to-select-default-display-frequenc.patch
|
|
(
|
|
printf '%s\n' '+ { "Michael Müller", "winex11.drv: Allow to select default display frequency in registry key.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset winex11-MWM_Decorations
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#42117] Avoid double captions observed under some WMs
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/winex11.drv/window.c
|
|
# |
|
|
if test "$enable_winex11_MWM_Decorations" -eq 1; then
|
|
patch_apply winex11-MWM_Decorations/0001-winex11.drv-Don-t-use-MWM_DECOR_RESIZEH-window-resiz.patch
|
|
patch_apply winex11-MWM_Decorations/0002-winex11.drv-Don-t-add-MWM_DECOR_BORDER-to-windows-wi.patch
|
|
(
|
|
printf '%s\n' '+ { "Dmitry Timoshkov", "winex11.drv: Don'\''t use MWM_DECOR_RESIZEH, window resizing is controlled by MWM_FUNC_RESIZE.", 1 },';
|
|
printf '%s\n' '+ { "Dmitry Timoshkov", "winex11.drv: Don'\''t add MWM_DECOR_BORDER to windows without a caption.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset winex11-UpdateLayeredWindow
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#33943] Fix alpha blending in X11DRV_UpdateLayeredWindow
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/winex11.drv/window.c
|
|
# |
|
|
if test "$enable_winex11_UpdateLayeredWindow" -eq 1; then
|
|
patch_apply winex11-UpdateLayeredWindow/0001-winex11-Fix-alpha-blending-in-X11DRV_UpdateLayeredWi.patch
|
|
(
|
|
printf '%s\n' '+ { "Sebastian Lackner", "winex11: Fix alpha blending in X11DRV_UpdateLayeredWindow.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset winex11-Vulkan_support
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#44775] Allow vulkan support to be detected at runtime.
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/winex11.drv/vulkan.c
|
|
# |
|
|
if test "$enable_winex11_Vulkan_support" -eq 1; then
|
|
patch_apply winex11-Vulkan_support/0001-winex11-Specify-a-default-vulkan-driver-if-one-not-f.patch
|
|
(
|
|
printf '%s\n' '+ { "Alistair Leslie-Hughes", "winex11: Specify a default vulkan driver if one not found at build time.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset winex11-_NET_ACTIVE_WINDOW
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#2155] Forward activate window requests to WM using _NET_ACTIVE_WINDOW
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/user32/driver.c, dlls/user32/focus.c, dlls/user32/user_private.h, dlls/winex11.drv/event.c,
|
|
# | dlls/winex11.drv/window.c, dlls/winex11.drv/winex11.drv.spec, dlls/winex11.drv/x11drv.h, dlls/winex11.drv/x11drv_main.c
|
|
# |
|
|
if test "$enable_winex11__NET_ACTIVE_WINDOW" -eq 1; then
|
|
patch_apply winex11-_NET_ACTIVE_WINDOW/0001-winex11.drv-Add-support-for-_NET_ACTIVE_WINDOW.patch
|
|
patch_apply winex11-_NET_ACTIVE_WINDOW/0002-user32-Before-asking-a-WM-to-activate-a-window-make-.patch
|
|
(
|
|
printf '%s\n' '+ { "Dmitry Timoshkov", "winex11.drv: Add support for _NET_ACTIVE_WINDOW.", 2 },';
|
|
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 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset winex11-WM_WINDOWPOSCHANGING
|
|
# |
|
|
# | This patchset has the following (direct or indirect) dependencies:
|
|
# | * winex11-_NET_ACTIVE_WINDOW
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#34594] Fix handling of WM_WINDOWPOS{CHANGING,CHANGED} for deactivated topmost window
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/winex11.drv/event.c
|
|
# |
|
|
if test "$enable_winex11_WM_WINDOWPOSCHANGING" -eq 1; then
|
|
patch_apply winex11-WM_WINDOWPOSCHANGING/0001-winex11.drv-Send-WM_WINDOWPOSCHANGING-WM_WINDOWPOSCH.patch
|
|
(
|
|
printf '%s\n' '+ { "Dmitry Timoshkov", "winex11.drv: Send WM_WINDOWPOSCHANGING/WM_WINDOWPOSCHANGED messages to a being deactivated topmost window.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset winex11-Window_Style
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#37876] Fix handling of window attributes for WS_EX_LAYERED | WS_EX_COMPOSITED
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/winex11.drv/window.c
|
|
# |
|
|
if test "$enable_winex11_Window_Style" -eq 1; then
|
|
patch_apply winex11-Window_Style/0001-winex11-Fix-handling-of-window-attributes-for-WS_EX_.patch
|
|
(
|
|
printf '%s\n' '+ { "Dmitry Timoshkov", "winex11: Fix handling of window attributes for WS_EX_LAYERED | WS_EX_COMPOSITED.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset winex11-XEMBED
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/winex11.drv/event.c
|
|
# |
|
|
if test "$enable_winex11_XEMBED" -eq 1; then
|
|
patch_apply winex11-XEMBED/0001-winex11-Enable-disable-windows-when-they-are-un-mapped.patch
|
|
(
|
|
printf '%s\n' '+ { "Sebastian Lackner", "winex11: Enable/disable windows when they are (un)mapped by foreign applications.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset winex11-wglShareLists
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#11436] Do not fail when a used context is passed to wglShareLists
|
|
# | * [#25419] Fix broken textures in XIII Century: Death or Glory
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/opengl32/tests/opengl.c, dlls/winex11.drv/opengl.c
|
|
# |
|
|
if test "$enable_winex11_wglShareLists" -eq 1; then
|
|
patch_apply winex11-wglShareLists/0001-winex11.drv-Only-warn-about-used-contexts-in-wglShar.patch
|
|
(
|
|
printf '%s\n' '+ { "Michael Müller", "winex11.drv: Only warn about used contexts in wglShareLists.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset winhttp-Accept_Headers
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/winhttp/request.c, dlls/winhttp/session.c, dlls/winhttp/winhttp_private.h
|
|
# |
|
|
if test "$enable_winhttp_Accept_Headers" -eq 1; then
|
|
patch_apply winhttp-Accept_Headers/0001-winhttp-Fix-handling-of-Accept-headers.patch
|
|
(
|
|
printf '%s\n' '+ { "Sebastian Lackner", "winhttp: Fix handling of Accept headers.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset winhttp-System_Proxy_Autoconfig
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/wininet/internet.c
|
|
# |
|
|
if test "$enable_winhttp_System_Proxy_Autoconfig" -eq 1; then
|
|
patch_apply winhttp-System_Proxy_Autoconfig/0002-wininet-Silence-wininet-no-support-on-this-platform-.patch
|
|
(
|
|
printf '%s\n' '+ { "Jarkko Korpi", "wininet: Silence wininet no support on this platform message.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset wininet-Cleanup
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/wininet/http.c, dlls/wininet/tests/http.c
|
|
# |
|
|
if test "$enable_wininet_Cleanup" -eq 1; then
|
|
patch_apply wininet-Cleanup/0001-wininet-tests-Add-more-tests-for-cookies.patch
|
|
patch_apply wininet-Cleanup/0002-wininet-tests-Test-auth-credential-reusage-with-host.patch
|
|
patch_apply wininet-Cleanup/0003-wininet-tests-Check-cookie-behaviour-when-overriding.patch
|
|
patch_apply wininet-Cleanup/0004-wininet-Strip-filename-if-no-path-is-set-in-cookie.patch
|
|
patch_apply wininet-Cleanup/0005-wininet-Replacing-header-fields-should-fail-if-they-.patch
|
|
(
|
|
printf '%s\n' '+ { "Michael Müller", "wininet/tests: Add more tests for cookies.", 1 },';
|
|
printf '%s\n' '+ { "Michael Müller", "wininet/tests: Test auth credential reusage with host override.", 1 },';
|
|
printf '%s\n' '+ { "Michael Müller", "wininet/tests: Check cookie behaviour when overriding host.", 1 },';
|
|
printf '%s\n' '+ { "Michael Müller", "wininet: Strip filename if no path is set in cookie.", 1 },';
|
|
printf '%s\n' '+ { "Michael Müller", "wininet: Replacing header fields should fail if they do not exist yet.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset wininet-Http_Decoding
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#42374] Allow to set INTERNET_OPTION_HTTP_DECODING on wininet sessions and connections
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/wininet/http.c, dlls/wininet/internet.c, dlls/wininet/internet.h, dlls/wininet/tests/http.c
|
|
# |
|
|
if test "$enable_wininet_Http_Decoding" -eq 1; then
|
|
patch_apply wininet-Http_Decoding/0001-wininet-Allow-to-set-INTERNET_OPTION_HTTP_DECODING-o.patch
|
|
(
|
|
printf '%s\n' '+ { "Michael Müller", "wininet: Allow to set INTERNET_OPTION_HTTP_DECODING on sessions and connections.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset wininet-InternetCrackUrlW
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#40598] Resize buffer when call to InternetCanonicalizeUrlW fails in InternetCrackUrlW
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/wininet/internet.c, dlls/wininet/tests/url.c
|
|
# |
|
|
if test "$enable_wininet_InternetCrackUrlW" -eq 1; then
|
|
patch_apply wininet-InternetCrackUrlW/0002-wininet-Resize-buffer-when-call-to-InternetCanonical.patch
|
|
(
|
|
printf '%s\n' '+ { "Michael Müller", "wininet: Resize buffer when call to InternetCanonicalizeUrlW fails in InternetCrackUrlW.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset winmm-Delay_Import_Depends
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#37983] Jedi Knight: Dark Forces II crashes with winmm set to native
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/winmm/Makefile.in
|
|
# |
|
|
if test "$enable_winmm_Delay_Import_Depends" -eq 1; then
|
|
patch_apply winmm-Delay_Import_Depends/0001-winmm-Delay-import-ole32-msacm32-to-workaround-bug-w.patch
|
|
(
|
|
printf '%s\n' '+ { "Michael Müller", "winmm: Delay import ole32 msacm32 to workaround bug when loading multiple winmm versions.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset winmm-mciSendCommandA
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/winmm/mci.c
|
|
# |
|
|
if test "$enable_winmm_mciSendCommandA" -eq 1; then
|
|
patch_apply winmm-mciSendCommandA/0001-winmm-Do-not-crash-in-Win-9X-mode-when-an-invalid-de.patch
|
|
(
|
|
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 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset wintab32-improvements
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#11846] Improve pressure sensitivity.
|
|
# | * [#15443] Improve Wacom Bambo drawing support
|
|
# | * [#18517] Improve eraser from working.
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/winex11.drv/wintab.c, dlls/wintab32/context.c
|
|
# |
|
|
if test "$enable_wintab32_improvements" -eq 1; then
|
|
patch_apply wintab32-improvements/0001-winex11-Implement-PK_CHANGE-for-wintab.patch
|
|
patch_apply wintab32-improvements/0002-wintab32-Set-lcSysExtX-Y-for-the-first-index-of-WTI_.patch
|
|
patch_apply wintab32-improvements/0003-winex11-Handle-negative-orAltitude-values.patch
|
|
patch_apply wintab32-improvements/0004-winex11.drv-Support-multiplex-categories-WTI_DSCTXS-.patch
|
|
patch_apply wintab32-improvements/0005-winex11-Support-WTI_STATUS-in-WTInfo.patch
|
|
(
|
|
printf '%s\n' '+ { "Eriks Dobelis", "winex11: Implement PK_CHANGE for wintab.", 1 },';
|
|
printf '%s\n' '+ { "Alistair Leslie-Hughes", "wintab32: Set lcSysExtX/Y for the first index of WTI_DDCTXS.", 1 },';
|
|
printf '%s\n' '+ { "Alistair Leslie-Hughes", "winex11: Handle negative orAltitude values.", 1 },';
|
|
printf '%s\n' '+ { "Alistair Leslie-Hughes", "winex11.drv: Support multiplex categories WTI_DSCTXS and WTI_DDCTXS.", 1 },';
|
|
printf '%s\n' '+ { "Alistair Leslie-Hughes", "winex11: Support WTI_STATUS in WTInfo.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset wintrust-WinVerifyTrust
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#42518] Implement image hash verification in WinVerifyTrust
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/wintrust/softpub.c, dlls/wintrust/tests/softpub.c
|
|
# |
|
|
if test "$enable_wintrust_WinVerifyTrust" -eq 1; then
|
|
patch_apply wintrust-WinVerifyTrust/0001-wintrust-tests-Add-tests-for-WinVerifyTrust.-v2.patch
|
|
patch_apply wintrust-WinVerifyTrust/0002-wintrust-tests-Add-some-additional-tests.patch
|
|
patch_apply wintrust-WinVerifyTrust/0003-wintrust-Verify-image-hash-in-WinVerifyTrust.patch
|
|
patch_apply wintrust-WinVerifyTrust/0004-wintrust-use-enhanced-crypto-provider-in-VerifyImage.patch
|
|
(
|
|
printf '%s\n' '+ { "Mark Jansen", "wintrust/tests: Add tests for WinVerifyTrust.", 2 },';
|
|
printf '%s\n' '+ { "Sebastian Lackner", "wintrust/tests: Add some additional tests.", 1 },';
|
|
printf '%s\n' '+ { "Mark Jansen", "wintrust: Verify image hash in WinVerifyTrust.", 2 },';
|
|
printf '%s\n' '+ { "Marko Friedemann", "wintrust: Use enhanced crypto provider in VerifyImageHash.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset wintrust-WTHelperGetProvCertFromChain
|
|
# |
|
|
# | This patchset has the following (direct or indirect) dependencies:
|
|
# | * wintrust-WinVerifyTrust
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#44061] Check Parameter in WTHelperGetProvCertFromChain
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/wintrust/tests/softpub.c, dlls/wintrust/wintrust_main.c
|
|
# |
|
|
if test "$enable_wintrust_WTHelperGetProvCertFromChain" -eq 1; then
|
|
patch_apply wintrust-WTHelperGetProvCertFromChain/0001-wintrust-Add-parameter-check-in-WTHelperGetProvCertF.patch
|
|
(
|
|
printf '%s\n' '+ { "Alistair Leslie-Hughes", "wintrust: Add parameter check in WTHelperGetProvCertFromChain.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset wpcap-Dynamic_Linking
|
|
# |
|
|
# | Modified files:
|
|
# | * configure.ac, dlls/wpcap/Makefile.in, dlls/wpcap/wpcap.c
|
|
# |
|
|
if test "$enable_wpcap_Dynamic_Linking" -eq 1; then
|
|
patch_apply wpcap-Dynamic_Linking/0001-wpcap-Load-libpcap-dynamically.patch
|
|
(
|
|
printf '%s\n' '+ { "André Hentschel", "wpcap: Load libpcap dynamically.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset ws2_32-APC_Performance
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/ws2_32/socket.c
|
|
# |
|
|
if test "$enable_ws2_32_APC_Performance" -eq 1; then
|
|
patch_apply ws2_32-APC_Performance/0001-ws2_32-Reuse-old-async-ws2_async_io-structures-if-po.patch
|
|
(
|
|
printf '%s\n' '+ { "Sebastian Lackner", "ws2_32: Reuse old async ws2_async_io structures if possible.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset ws2_32-Connect_Time
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/ws2_32/socket.c, dlls/ws2_32/tests/sock.c, server/protocol.def, server/sock.c
|
|
# |
|
|
if test "$enable_ws2_32_Connect_Time" -eq 1; then
|
|
patch_apply ws2_32-Connect_Time/0001-ws2_32-Implement-returning-the-proper-time-with-SO_C.patch
|
|
(
|
|
printf '%s\n' '+ { "Sebastian Lackner", "ws2_32: Implement returning the proper time with SO_CONNECT_TIME.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset ws2_32-Tests
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/ws2_32/tests/sock.c
|
|
# |
|
|
if test "$enable_ws2_32_Tests" -eq 1; then
|
|
patch_apply ws2_32-Tests/0001-ws2_32-tests-Hide-random-test-failures-in-socket-tests.patch
|
|
(
|
|
printf '%s\n' '+ { "Sebastian Lackner", "ws2_32/tests: Hide random test failures in socket tests.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset ws2_32-TransmitFile
|
|
# |
|
|
# | This patchset has the following (direct or indirect) dependencies:
|
|
# | * server-Desktop_Refcount
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/ws2_32/socket.c, dlls/ws2_32/tests/sock.c, include/winsock.h, server/protocol.def, server/sock.c
|
|
# |
|
|
if test "$enable_ws2_32_TransmitFile" -eq 1; then
|
|
patch_apply ws2_32-TransmitFile/0001-ws2_32-Add-support-for-TF_DISCONNECT-to-TransmitFile.patch
|
|
patch_apply ws2_32-TransmitFile/0002-ws2_32-Add-support-for-TF_REUSE_SOCKET-to-TransmitFi.patch
|
|
(
|
|
printf '%s\n' '+ { "Erich E. Hoover", "ws2_32: Add support for TF_DISCONNECT to TransmitFile.", 1 },';
|
|
printf '%s\n' '+ { "Erich E. Hoover", "ws2_32: Add support for TF_REUSE_SOCKET to TransmitFile.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset ws2_32-WSACleanup
|
|
# |
|
|
# | This patchset has the following (direct or indirect) dependencies:
|
|
# | * server-Desktop_Refcount
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#18670] Properly close sockets when WSACleanup is called
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/ntdll/ntdll.spec, dlls/ntdll/server.c, dlls/ws2_32/socket.c, dlls/ws2_32/tests/sock.c, include/wine/server.h,
|
|
# | server/protocol.def, server/sock.c
|
|
# |
|
|
if test "$enable_ws2_32_WSACleanup" -eq 1; then
|
|
patch_apply ws2_32-WSACleanup/0001-ws2_32-Proper-WSACleanup-implementation-using-winese.patch
|
|
patch_apply ws2_32-WSACleanup/0002-ws2_32-Invalidate-client-side-file-descriptor-cache-.patch
|
|
(
|
|
printf '%s\n' '+ { "Matt Durgavich", "ws2_32: Proper WSACleanup implementation using wineserver function.", 2 },';
|
|
printf '%s\n' '+ { "Sebastian Lackner", "ws2_32: Invalidate client-side file descriptor cache in WSACleanup.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset ws2_32-getaddrinfo
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/ws2_32/socket.c
|
|
# |
|
|
if test "$enable_ws2_32_getaddrinfo" -eq 1; then
|
|
patch_apply ws2_32-getaddrinfo/0001-ws2_32-Fix-handling-of-empty-string-in-WS_getaddrinf.patch
|
|
(
|
|
printf '%s\n' '+ { "Sebastian Lackner", "ws2_32: Fix handling of empty string in WS_getaddrinfo.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset ws2_32-getsockopt
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#8606] Divide values returned by SO_RCVBUF and SO_SNDBUF getsockopt options by two
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/ws2_32/socket.c, dlls/ws2_32/tests/sock.c
|
|
# |
|
|
if test "$enable_ws2_32_getsockopt" -eq 1; then
|
|
patch_apply ws2_32-getsockopt/0001-ws2_32-Divide-values-returned-by-SO_RCVBUF-and-SO_SN.patch
|
|
(
|
|
printf '%s\n' '+ { "Sebastian Lackner", "ws2_32: Divide values returned by SO_RCVBUF and SO_SNDBUF getsockopt options by two.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset wtsapi32-EnumerateProcesses
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#29903] Support for WTSEnumerateProcessesW
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/wtsapi32/tests/wtsapi.c, dlls/wtsapi32/wtsapi32.c
|
|
# |
|
|
if test "$enable_wtsapi32_EnumerateProcesses" -eq 1; then
|
|
patch_apply wtsapi32-EnumerateProcesses/0001-wtsapi32-Partial-implementation-of-WTSEnumerateProce.patch
|
|
(
|
|
printf '%s\n' '+ { "Sebastian Lackner", "wtsapi32: Partial implementation of WTSEnumerateProcessesW.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset wtsapi32-WTSQueryUserToken
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#39663] Improve WTSQueryUserToken stub to make GOG Galaxy happy
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/wtsapi32/wtsapi32.c
|
|
# |
|
|
if test "$enable_wtsapi32_WTSQueryUserToken" -eq 1; then
|
|
patch_apply wtsapi32-WTSQueryUserToken/0001-wtsapi32-Improve-WTSQueryUserToken-stub.patch
|
|
(
|
|
printf '%s\n' '+ { "Sebastian Lackner", "wtsapi32: Improve WTSQueryUserToken stub.", 2 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset wuauserv-Dummy_Service
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#37781] Implement wuauserv dummy service
|
|
# |
|
|
# | Modified files:
|
|
# | * configure.ac, loader/wine.inf.in, programs/wuauserv/Makefile.in, programs/wuauserv/main.c
|
|
# |
|
|
if test "$enable_wuauserv_Dummy_Service" -eq 1; then
|
|
patch_apply wuauserv-Dummy_Service/0001-wuauserv-Add-dummy-service.patch
|
|
(
|
|
printf '%s\n' '+ { "Michael Müller", "wuauserv: Add dummy service.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset wusa-MSU_Package_Installer
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#26757] Initial implementation of wusa.exe (MSU package installer)
|
|
# |
|
|
# | Modified files:
|
|
# | * programs/wusa/Makefile.in, programs/wusa/main.c, programs/wusa/manifest.c, programs/wusa/wusa.h
|
|
# |
|
|
if test "$enable_wusa_MSU_Package_Installer" -eq 1; then
|
|
patch_apply wusa-MSU_Package_Installer/0001-wusa-Implement-basic-installation-logic.patch
|
|
patch_apply wusa-MSU_Package_Installer/0002-wusa-Ignore-systemProtection-subkey-of-registry-key.patch
|
|
patch_apply wusa-MSU_Package_Installer/0003-wusa-Treat-empty-update-list-as-error.patch
|
|
patch_apply wusa-MSU_Package_Installer/0004-wusa-Implement-WOW64-support.patch
|
|
patch_apply wusa-MSU_Package_Installer/0005-wusa-Add-workaround-to-be-compatible-with-Vista-pack.patch
|
|
patch_apply wusa-MSU_Package_Installer/0006-wusa-Improve-tracing-of-installation-process.patch
|
|
patch_apply wusa-MSU_Package_Installer/0007-wusa-Print-warning-when-encountering-msdelta-compres.patch
|
|
(
|
|
printf '%s\n' '+ { "Michael Müller", "wusa: Implement basic installation logic.", 1 },';
|
|
printf '%s\n' '+ { "Michael Müller", "wusa: Ignore systemProtection subkey of registry key.", 1 },';
|
|
printf '%s\n' '+ { "Michael Müller", "wusa: Treat empty update list as error.", 1 },';
|
|
printf '%s\n' '+ { "Michael Müller", "wusa: Implement WOW64 support.", 1 },';
|
|
printf '%s\n' '+ { "Sebastian Lackner", "wusa: Add workaround to be compatible with Vista packages.", 1 },';
|
|
printf '%s\n' '+ { "Sebastian Lackner", "wusa: Improve tracing of installation process.", 1 },';
|
|
printf '%s\n' '+ { "Michael Müller", "wusa: Print warning when encountering msdelta compressed files.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset xaudio2_7-OnVoiceProcessingPassStart
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#43358] Use assembly wrapper to call OnVoiceProcessingPassStart callback
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/xaudio2_7/xaudio_dll.c
|
|
# |
|
|
if test "$enable_xaudio2_7_OnVoiceProcessingPassStart" -eq 1; then
|
|
patch_apply xaudio2_7-OnVoiceProcessingPassStart/0001-xaudio2_7-Use-assembly-wrapper-to-call-OnVoiceProces.patch
|
|
(
|
|
printf '%s\n' '+ { "Sebastian Lackner", "xaudio2_7: Use assembly wrapper to call OnVoiceProcessingPassStart callback.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset xaudio2_7-WMA_support
|
|
# |
|
|
# | This patchset has the following (direct or indirect) dependencies:
|
|
# | * xaudio2_7-OnVoiceProcessingPassStart
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#39402] Use ffmpeg 4.x to convert WMA format
|
|
# |
|
|
# | Modified files:
|
|
# | * configure.ac, dlls/x3daudio1_0/Makefile.in, dlls/x3daudio1_1/Makefile.in, dlls/x3daudio1_2/Makefile.in,
|
|
# | dlls/x3daudio1_3/Makefile.in, dlls/x3daudio1_4/Makefile.in, dlls/x3daudio1_5/Makefile.in, dlls/x3daudio1_6/Makefile.in,
|
|
# | dlls/x3daudio1_7/Makefile.in, dlls/xapofx1_1/Makefile.in, dlls/xapofx1_2/Makefile.in, dlls/xapofx1_3/Makefile.in,
|
|
# | dlls/xapofx1_4/Makefile.in, dlls/xapofx1_5/Makefile.in, dlls/xaudio2_0/Makefile.in, dlls/xaudio2_1/Makefile.in,
|
|
# | dlls/xaudio2_2/Makefile.in, dlls/xaudio2_3/Makefile.in, dlls/xaudio2_4/Makefile.in, dlls/xaudio2_5/Makefile.in,
|
|
# | dlls/xaudio2_6/Makefile.in, dlls/xaudio2_7/Makefile.in, dlls/xaudio2_7/xaudio_dll.c, dlls/xaudio2_7/xaudio_private.h,
|
|
# | dlls/xaudio2_8/Makefile.in, dlls/xaudio2_9/Makefile.in, include/config.h.in, include/mmreg.h
|
|
# |
|
|
if test "$enable_xaudio2_7_WMA_support" -eq 1; then
|
|
patch_apply xaudio2_7-WMA_support/0001-xaudio2-Use-ffmpeg-to-convert-WMA-formats.patch
|
|
(
|
|
printf '%s\n' '+ { "Andrew Eikum", "xaudio2: Use ffmpeg to convert WMA formats.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
# Patchset xaudio2_CommitChanges
|
|
# |
|
|
# | This patchset fixes the following Wine bugs:
|
|
# | * [#44883] Return S_OK from IXAudio2Impl_CommitChanges()
|
|
# |
|
|
# | Modified files:
|
|
# | * dlls/xaudio2_7/xaudio_dll.c
|
|
# |
|
|
if test "$enable_xaudio2_CommitChanges" -eq 1; then
|
|
patch_apply xaudio2_CommitChanges/0001-xaudio2-Return-S_OK-in-IXAudio2-in-CommitChanges.patch
|
|
(
|
|
printf '%s\n' '+ { "Thomas Crider", "xaudio2: Return S_OK in IXAudio2 in CommitChanges.", 1 },';
|
|
) >> "$patchlist"
|
|
fi
|
|
|
|
|
|
if test "$enable_patchlist" -eq 1; then
|
|
|
|
# Generate a temporary patch containing the patchlist and apply it
|
|
patch_data=$(cat "$patchlist" | sort)
|
|
if test ! -z "$patch_data"; then
|
|
patch_lines=$(printf '%s\n' "$patch_data" | wc -l)
|
|
patch_lines=$((${patch_lines}+21))
|
|
cat > "$patchlist" <<EOF
|
|
From: Wine Staging Team <webmaster@fds-team.de>
|
|
Subject: Autogenerated patch list.
|
|
|
|
diff --git a/libs/wine/config.c b/libs/wine/config.c
|
|
index 5262c76..0a3182f 100644
|
|
--- a/libs/wine/config.c
|
|
+++ b/libs/wine/config.c
|
|
@@ -478,10 +478,${patch_lines} @@ const char *wine_get_version(void)
|
|
return PACKAGE_VERSION;
|
|
}
|
|
|
|
+static const struct
|
|
+{
|
|
+ const char *author;
|
|
+ const char *subject;
|
|
+ int revision;
|
|
+}
|
|
+wine_patch_data[] =
|
|
+{
|
|
${patch_data}
|
|
+ { NULL, NULL, 0 }
|
|
+};
|
|
+
|
|
/* return the applied non-standard patches */
|
|
const void *wine_get_patches(void)
|
|
{
|
|
- return NULL;
|
|
+ return &wine_patch_data[0];
|
|
}
|
|
|
|
/* return the build id string */
|
|
EOF
|
|
patch_apply_file "$patchlist"
|
|
fi
|
|
rm "$patchlist"
|
|
fi
|
|
|
|
if test "$enable_autoconf" -eq 1; then
|
|
if ! update_configure; then
|
|
abort "'autoreconf -f' failed."
|
|
fi
|
|
if ! update_protocol; then
|
|
abort "'./tools/make_requests' failed."
|
|
fi
|
|
fi
|
|
# Success
|
|
exit 0
|