WineHQ
Wine source repository – Patch status
IDStatusAuthorSubjectTestbotJob ID
110321NewFrédéric Delanoy [website] French translation for release 1.7.39
110320NewHugh McMaster [PATCH] cmd: Add basic handling of Ctrl-C (try 2)
110319NewPiotr Caban [PATCH 5/5] advapi32: Add DACL inheritance support in SetSecurityInfo (try2)OK12450
110318NewPiotr Caban [PATCH 4/5] advapi32: Add test for mapping DACL to permission (try2)OK12449
110317NewPiotr Caban [PATCH 3/5] advapi32: Add SetNamedSecurityInfo test with empty DACL (try2)OK12448
110316NewPiotr Caban [PATCH 2/5] server: Make directory DACL entries inheritable (try2)OK12447
110315NewPiotr Caban [PATCH 1/5] advapi: Don't use CreateFile when opening file with possibly empty DACL (try2)
110314NewSebastian Lackner wiaservc: Return pointer to vtbl instead of implementation in wiadevmgr_Constructor.
110313NewHenri Verbeet [PATCH 5/5] d2d1: Use a D2D1_DRAWING_STATE_DESCRIPTION structure to store render target drawing state.
110312NewHenri Verbeet [PATCH 4/5] d2d1: Implement d2d_d3d_render_target_GetTags().
110311NewHenri Verbeet [PATCH 3/5] d2d1: Implement d2d_d3d_render_target_SetTags().
110310NewHenri Verbeet [PATCH 2/5] d2d1: Implement d2d_d3d_render_target_GetTextAntialiasMode().
110309NewHenri Verbeet [PATCH 1/5] d2d1: Implement d2d_d3d_render_target_SetTextAntialiasMode().
110308NewJason Overland winecfg: improve user experience by adding all Windows versions and accompanying error message
110307NewShuai Meng [PATCH] vbscript: Implemented OctFailed12441
110306NewAndré Hentschel [2/2] ntdll: Get available CPU info from FreeBSD on ARM
110305NewAndré Hentschel [1/2] ntdll: Fix CPU level on ARM
110304NewAndré Hentschel ntdll: Add support for FreeBSD on ARM
110303NewMatteo Bruni [PATCH 6/6] wined3d: Don't use the builtin FFP uniforms for texture transformation matrices. (v2)
110302NewMatteo Bruni [PATCH 5/6] wined3d: Introduce a shader_snprintf() function.
110301NewMatteo Bruni [PATCH 4/6] wined3d: Don't use the builtin FFP uniform for the projection matrix. (v2)
110300NewMatteo Bruni [PATCH 2/6] d3d9/tests: Add more lighting tests.OK12439
110299NewMatteo Bruni [PATCH 1/6] wined3d: Don't use the builtin FFP uniform for the normal matrix. (v2)
110298NewMatteo Bruni [PATCH 3/6] d3d8/tests: Add more lighting tests.OK12440
110297NewStefan Dösinger [PATCH 4/4] include: Use cpp_quote for ID3DInclude.
110296NewStefan Dösinger [PATCH 2/4] ddraw/tests: Port test_color_fill to earlier versions.OK12438
110295NewStefan Dösinger [PATCH 3/4] wined3d: Implement per stage constants in atifs.
110294NewStefan Dösinger [PATCH 1/4] ddraw/tests: Make sure color keying is on in test_texturemapblend.OK12437
110293NewPiotr Caban [PATCH 4/4] advapi32: Add SetNamedSecurityInfo test with empty DACLOK12432
110292NewPiotr Caban [PATCH 3/4] advapi32: Add DACL inheritance support in SetSecurityInfo
110291NewPiotr Caban [PATCH 2/4] server: Make directory DACL entries inheritableOK12431
110290NewPiotr Caban [PATCH 1/4] advapi: Don't use CreateFile when opening file with possibly empty DACL
110289CommittedFrancois Gouget riched20: Mark internal symbols with hidden visibility.
110288CommittedFrancois Gouget opengl32: Mark internal symbols with hidden visibility.
110287CommittedFrancois Gouget oleaut32: Mark internal symbols with hidden visibility.
110286CommittedFrancois Gouget mshtml: Mark internal symbols with hidden visibility.
110285CommittedFrancois Gouget windowscodecs: Remove unneeded NONAMELESSXXX directives.
110284CommittedFrancois Gouget user32: Remove an unneeded NONAMELESSSTRUCT directive.
110283CommittedFrancois Gouget usbd.sys: Remove an unneeded NONAMELESSSTRUCT directive.
110282CommittedFrancois Gouget wineoss.drv: Remove an uneeded NONAMELESSUNION directive.
110281CommittedFrancois Gouget urlmon: Remove unneeded NONAMELESSXXX directives.OK12430
110280NewHugh McMaster [PATCH] wineconsole: Set input stream buffer length per OS limit
110279NewHugh McMaster [PATCH] cmd: Add basic handling of Ctrl-C
110278NewHugh McMaster [PATCH 1/2, resend] Add a new header for unified output handling in console-based programs
110277NewHugh McMaster [PATCH] netstat: Fix incorrect comment
110276NewHugh McMaster [PATCH 2/2, resend] attrib.exe: Use program_output.h for console writing
110275CommittedPiotr Caban msvcp90: Use NAN and INFINITY definitions from port.h in Ctraits::_Isnan testsOK12426
110274CommittedNikolay Sivov dwrite: Pass sideways run flag to shaping methods
110273CommittedNikolay Sivov po: Corrected Russian translation
110272CommittedHenri Verbeet [PATCH 5/5] d2d1: Implement d2d_d3d_render_target_GetAntialiasMode().
110271CommittedHenri Verbeet [PATCH 4/5] d2d1: Implement d2d_d3d_render_target_SetAntialiasMode().
110269CommittedHenri Verbeet [PATCH 3/5] d2d1: Implement d2d_d3d_render_target_GetTextRenderingParams().
110270CommittedHenri Verbeet [PATCH 2/5] d2d1: Implement d2d_d3d_render_target_SetTextRenderingParams().
110268CommittedHenri Verbeet [PATCH 1/5] d2d1: Implement d2d_d3d_render_target_GetFactory().
110267CommittedSebastian Lackner ntoskrnl: Emulate 'mov Eb, Gb' instruction on x86 processor architecture.
110266CommittedSebastian Lackner ntdll/tests: Add tests for GetFinalPathNameByHandleA/W.Failed12425
110265CommittedSebastian Lackner browseui: Avoid race-conditions when progress dialog is released before thread terminates.
110264NewVincent Povirk [3/3] windowscodecs: Implement PngDecoder_Block_GetReaderByIndex.
110263NewVincent Povirk [2/3] windowscodecs: Implement PngDecoder_Block_GetCount.
110262NewVincent Povirk [1/3] gdiplus: Add support for reading PNG tEXt metadata.
110261CommittedNikolay Sivov [PATCH 2/2] rpcrt4: Fix RpcMgmtStopServerListening() return value when we're not listeningOK12421
110260CommittedNikolay Sivov [PATCH 1/2] rpcrt4/tests: Use status definitions instead of numeric valuesOK12420
110258CommittedPierre Schweitzer [PATCH 3/3] setupapi/tests: Add tests for the SetupOpenLog(), SetupLogErrorA(), SetupCloseLog() functionsOK12419
110259CommittedPierre Schweitzer [PATCH 2/3] setupapi: Implement SetupLogErrorA(), SetupLogErrorW()
110257CommittedPierre Schweitzer [PATCH 1/3] setupapi: Implement SetupOpenLog(), SetupCloseLog()
110256CommittedVincent Povirk mscoree: Remove the runtime version selection logic and just use 4.0.
110255CommittedPiotr Caban user32: Don't send mouse clicks to other process windows in input testsOK12410
110254CommittedJacek Caban d3d11_1.idl: Fixed ClearView argument (missing const).
110253CommittedJacek Caban d3d11.idl: Added D3D11_FEATURE_DATA_D3D11_OPTIONS declaration.
110252CommittedJacek Caban dxgi1_2.idl: Added IDXGIAdapter2 declaration.
110251CommittedJacek Caban d3d11sdklayers.idl: Added ID3D11Debug declaration.
110250CommittedHans Leidekker [6/6] msi: Check file state before installing global assemblies.
110249CommittedHans Leidekker [5/6] msi: Skip files from the original media if a patch is applied.
110248CommittedHans Leidekker [4/6] msi: Check the component enabled flag earlier.
110247CommittedHans Leidekker [3/6] msi: Use the last sequence number specified for patch media when updating media records.
110246CommittedHans Leidekker [2/6] msi: Avoid allocating a database handle only to retrieve the summary information.
110245CommittedHans Leidekker [1/6] msi: Fall back to the database summary information stream in MSI_OpenPackageW.
110244CommittedPiotr Caban [PATCH 2/2] msvcrt: Use NAN and INFINITY definitions from port.h in printf tests (try2)OK12408
110243CommittedPiotr Caban [PATCH 1/2] msvcrt: Fix NAN handling in printf (try2)
110242CommittedPiotr Caban msvcrt: Add atan, tanh and exp tests on invalid argumentsOK12407
110241CommittedJacek Caban wininet: Pass timeout as DWORD in setsockopt calls.
110240SupersededPiotr Caban msvcrt: Use NAN and INFINITY definitions from port.h in printf testsFailed12406
110239CommittedZheng Chen Correct atan/exp/tanh errno setting (try 2)
110238CommittedZheng Chen msvcrt: Fix _copysign bugs for NAN/INF(try 2)
110237CommittedSebastian Lackner ntdll: Define a couple more information classes.
110236CommittedSebastian Lackner [2/2] netprofm/tests: Add tests for ConnectionPointContainer::FindConnectionPoint.OK12405
110235CommittedSebastian Lackner [1/2] netprofm: Add stubbed IConnectionPoint interface.
110234CommittedMichael Stefaniuc mshtml/tests: Actually test the return of IHTMLTable_get_width()OK12403
110233CommittedMichael Stefaniuc taskschd/tests: Test the correct return value.OK12402
110232CommittedHenri Verbeet [PATCH 5/5] d2d1: Implement d2d_state_block_SetDescription().
110231CommittedHenri Verbeet [PATCH 4/5] d2d1: Implement d2d_state_block_GetDescription().
110230CommittedHenri Verbeet [PATCH 3/5] d2d1: Implement d2d_state_block_SetTextRenderingParams().
110228CommittedHenri Verbeet [PATCH 2/5] d2d1: Implement d2d_state_block_GetTextRenderingParams().
110229CommittedHenri Verbeet [PATCH 1/5] d2d1: Properly take the source offset into account in d2d_d3d_render_target_DrawBitmap().
110221CommittedHuw Davies [PATCH 10/10] ole32/tests: Add tests for loading a dib 'CONTENTS' stream.OK12401
110220CommittedHuw Davies [PATCH 09/10] ole32: Implement QueryGetData().
110223CommittedHuw Davies [PATCH 08/10] ole32: Add support for drawing the dib format.
110222CommittedHuw Davies [PATCH 07/10] ole32: Add support for retrieving extents of dib format.
110224CommittedHuw Davies [PATCH 06/10] ole32: Add support for loading dibs.
110225CommittedHuw Davies [PATCH 05/10] ole32: Separate metafile loading into a helper function.
110226CommittedHuw Davies [PATCH 04/10] ole32: Add support for parsing the 'CONTENTS' stream.
110227CommittedHuw Davies [PATCH 03/10] ole32: Split the data loading into a couple of helpers.
110219CommittedHuw Davies [PATCH 02/10] ole32: A cache entry should hold the stream its data is from, not the top-level storage.
110218CommittedHuw Davies [PATCH 01/10] ole32: Read the class id from the top-level storage object.
110217NewYongHao Hu msvcrt: Use Dragon4 algorithm to fix inconsistent rounding behaviour for sprintf and add tests. The Dragon4 algorithm implementation is based on http://www.ryanjuckett.com/programming/printing-floating-point-numbers/.OK12400
110216CommittedNikolay Sivov winex11.drv: Fix row-resize/col-resize mapping to X cursor
110215CommittedNikolay Sivov taskmgr: Simplify setting extended style for a list
110214CommittedNikolay Sivov comctl32/tests: Listview doesn't subclass its headerFailed12399
110213CommittedNikolay Sivov comctl32: Claim success in InitializeFlatSB()
110212CommittedVincent Povirk gdiplus: Fix blend_colors when alpha channel differs.
110202SupersededZheng Chen msvcrt: Fix _copysign bugs for NAN/INF
110201CommittedZheng Chen msvcrt: Correct atan/exp/tanh errno setting
110184SupersededZheng Chen msvcrt: Add errno EDOM setting for atan(NAN)/exp(NAN)/tanh(NAN)
110182NewKaipeng Zeng [PATCH] findstr: Added test for findstr. (try 2)OK12379
110181NewJason Overland winecfg: add note about 32 bit prefixes to dialog
110177NewMark Harmstone [PATCH 5/5] uxtheme: Hook DefWindowProc.
110176NewMark Harmstone [PATCH 4/5] user32: Allow DefWindowProc to be hooked into by uxtheme.
110175NewMark Harmstone [PATCH 3/5] user32: Call uxtheme theming hook.
110178NewMark Harmstone [PATCH 2/5] uxtheme: Add WINE_ThemeInitApiHook stub.
110174NewMark Harmstone [PATCH 1/5] include: Add Wine-specific theming hook struct to winuser.h
110173NewMark Harmstone [PATCH] comctl32: Redraw themed button on WM_ENABLE.
110162NewStefan Dösinger [PATCH 1/5] wined3d: Only set TEXTURE_COMPARE_FUNC when ARB_depth_texture is supported.
110158No patchStefan Dösinger Re: d3dx9_36: Align texture dimensions to block size for compressed textures in D3DXCheckTextureRequirements.
110156NewSebastian Lackner d3dx9_36: Align texture dimensions to block size for compressed textures in D3DXCheckTextureRequirements.OK12369
110144NewZheng Chen msvcrt: Remove unnecessary FIXME comment
110137RejectedDavid Naylor [3/3] kernel32: force 4096 byte page alignment (resend)
110134NewZheng Chen msvcrt: Add signbit definition
110133NewСтас Цымбалов dsound: Fix angle to sound source calculation.
110131SupersededKevin Chan msvcrt: fix _copysign(1., -0.) error
110130SupersededKevin Chan msvcrt: remove errno EDOM from atan, exp and tanh
110126Other projectJulian Rüger [website] German translation for release 1.7.39
110114SupersededPierre Schweitzer setupapi: Implement SetupOpenLog(), SetupLogErrorA(), SetupLogErrorW(), SetupCloseLog() (try 7)OK12344
110112NewMatteo Bruni [PATCH] wined3d: Don't use the builtin FFP uniform for the normal matrix.
110111Other projectAndrey Gusev [website] Ukrainian translation for release 1.7.39
110108NewMatteo Bruni [PATCH 5/5] wined3d: Don't use the builtin FFP uniforms for texture transformation matrices.
110106NewMatteo Bruni [PATCH 3/5] wined3d: Don't use the builtin FFP uniform for the projection matrix.
110103NewStefan Dösinger [PATCH 4/4] ddraw/tests: Port test_color_fill to earlier versions.OK12334
110082NewNikolay Sivov mlang/tests: Use BSTR strings instead of plain WCHARs when API tells soOK12324
110080NewMark Harmstone [PATCH] dsound: Apply filters before sound is multiplied to speakers. (try 2)
110079Test failureAndré Hentschel user32/tests: Test return value of EnumDesktopsA (PVS-Studio)Failed12320
110076PendingAndré Hentschel ntdll: Avoid assigning values twice (PVS-Studio)
110073PendingAndré Hentschel include: Add more header guards
110071NewAndrew Eikum [PATCH] kernel32: Implement GetFinalPathNameByHandleFailed12304
110069Needs testsBernhard Übelacker [PATCH] advapi32: succeed for null pointer in ChangeServiceConfig2OK12292
110027NewStefan Dösinger [PATCH 2/3] ddraw/tests: Port test_color_fill to earlier versions.Failed12260
110015NewYongHao Hu [4/4] msvcp120/tests: Add equivalent test.OK12251
110014NewYongHao Hu [3/4] msvcp120/tests: Add file_size test.OK12250
110013NewYongHao Hu [2/4] msvcp120/tests: Add 64bit and arm's initialization of xtime functions.OK12249
110012NewYongHao Hu [1/4] msvcp120/tests: Free msvcp120 library.OK12248
110002NewMatteo Bruni [PATCH 4/7] wined3d: Allow texture updates in some cases even when mip levels don't match. (resend)
110001NewMatteo Bruni [PATCH 2/7] d3d9/tests: Add a test for UpdateTexture. (v2)OK12242
110000NewMatteo Bruni [PATCH 3/7] d3d8/tests: Add a test for UpdateTexture. (v2)OK12243
109998PendingAric Stewart winmm: sndPlaySound can play resource soundsOK12238
109997NewHugh McMaster [PATCH 2/2] attrib.exe: Use program_output.h for console writing
109996NewHugh McMaster [PATCH 1/2] Add a new header for unified output handling in console-based programs
109994NewChris Giles [quick-hack] Sims 2 launch fix, vertex shaders from 256 to 4096
109993NewShuai Meng [PATCH] vbscript: Implemented GetLocale(try 2)Failed12234
109986NewSebastian Lackner [3/3] ws2_32: Avoid race-conditions of async WSARecv() operations with write watches.
109985PendingSebastian Lackner [2/3] ntdll: Expose wine_uninterrupted_[read|write]_memory as exports.
109935NewThomas Pointhuber combase: implement WindowsSubstring (try 2)OK12195
109924NewMark Harmstone [PATCH 2/2] dsound: Report that we support EAX v1.
109923NewMark Harmstone [PATCH 1/2] dsound: Add EAX v1 constants and structs.
109832PendingQian Hong [PATCH] null.sys: Added stub dll.
109777RejectedSebastian Lackner ntdll: Use lockfree implementation for get_cached_fd. (resend)
109731NewAkihiro Sagawa [4/4] winmm/tests: Add notify tests for MPEGVideo device.Failed12014
109730NewAkihiro Sagawa [3/4] mciqtz32: Fix MCI_NOTIFY behaviour when playing.
109732NewAkihiro Sagawa [2/4] mciqtz32: Remove redundant null parameter checks.
109729NewAkihiro Sagawa [1/4] mciqtz32: Guarantees that CoInitialize and CoUninitialize work on the same thread.
109693NewMark Jansen [PATCH 3/3] ntdll/tests: Tests for RtlIpv4StringToAddressEx (try 5, resend)OK11999
109694NewMark Jansen [PATCH 2/3] ntdll/tests: Tests for RtlIpv6StringToAddressEx (try 6)OK11998
109692NewMark Jansen [PATCH 1/3] ntdll/tests: Tests for RtlIpv6StringToAddress (try 6)OK11997
109652NewAlistair Leslie-Hughes odbccp32: Implement SQLWritePrivateProfileStringA/WOK11940
109637NewShuai Meng [PATCH] vbscript: Implemented StringFailed11930
109616NewHao Peng[PATCH] winecfg: Double click in dlls list to edit item's overides. (try 3)
109614NewJonathan Vollebregt [PATCH 3/4] reg: Clean up reg_addOK11901
109613NewJonathan Vollebregt [PATCH 4/4] reg: Clean up reg_deleteOK11902
109612NewJonathan Vollebregt [PATCH 2/4] reg: Add wchar/raw data conversion functionsOK11900
109611NewJonathan Vollebregt [PATCH 1/4] reg: Add path/key conversion functions
109587NewSebastian Lackner [4/4] ntdll/tests: Add tests for TpAllocCleanupGroup and related functions.OK11878
109586NewSebastian Lackner [3/4] ntdll: Implement threadpool cleanup group functions.
109585NewSebastian Lackner [2/4] ntdll: Implement TpSetPool[Min|Max]Threads.
109578NewSebastian Lackner ws2_32: Implement returning the proper time with SO_CONNECT_TIME. (resend)Failed11869
109551NewHugh McMaster wmic: Remove redundant codepath and replace with FormatMessage
109550NewHugh McMaster hostname: Remove redundant codepath and replace with FormatMessage
109547NewSebastian Lackner ntdll: Reuse old async fileio structures if possible.
109542NewStefan Dösinger [PATCH 4/4] wined3d: Use the r5g5l6 helper struct in convert_r5g5_snorm_l6_unorm.
109540NewStefan Dösinger [PATCH 2/4] wined3d: Correct channel assignment in convert_r5g5_snorm_l6_unorm.
109526NewAlex Henrie [PATCH (try 2)] po: Update Catalan translation.
109525NewChanghui Liucomctl32: SysDateTimePick32 control add Alt+down hot key likewindows (try 3)OK11828
109524NewDamjan Jovanovic [PATCH 3/3] ole32/winex11.drv: implement dragging from Wine and dropping to X11
109508NewMarcus Meissner [PATCH] oleaut32: initialize scaled (Coverity)
109506Newcarlo.bramix@libero.itjoy.cpl: minor fix, do not declare hand written array, use WC_BUTTONW macro from COMMCTRL.H
109498NewSebastian Lackner ntdll: Fix race-condition when threads are killed during shutdown.
109480NewMark Jansen version: Test for VerQueryValueA (try 2)OK11797
109458NewRobert Naumann [PATCH] [shell32] Implement SHRunControlPanel using ShellExecute
109456SupersededYongHao Hu msvcrt: Use Dragon4 algorithm to fix inconsistent rounding behaviour for sprintf and add tests. (try 2)OK11787
109455NewZhenbo Li shell32: fix a test failure in shlfileop.cOK11786
109445NewMarcin Sobczyk [PATCH 1/1] winecoreaudio.drv: Fixed handling sysex midi messages (try 2)
109439NewJoachim Priesner [5/5] comctl32: Implement the TaskDialog function (try 3)OK11768
109438NewJoachim Priesner [4/5] comctl32: Task dialog: Add main icon (try 3)
109437NewJoachim Priesner [3/5] comctl32: Implement TaskDialogIndirect as a custom dialog box (try 3)
109436NewJoachim Priesner [2/5] comctl32: Add and fix tests for invalid TaskDialogIndirect arguments (try 3)OK11765
109435NewJoachim Priesner [1/5] comctl32: Move TaskDialogIndirect function and its test to separate files (try 3)OK11764
109382NewAustin English wininet: add ParseX509EncodedCertificateForListBoxEntry stub (try 2)
109380NewAustin English fltmgr.sys: add stub dll (try 3)
109345NewHugh McMaster [PATCH v2] netstat.exe: Replace incorrect program name in a comment and fix formatting
109344NewHugh McMaster [PATCH v2] attrib.exe: Replace incorrect program name in a comment and fix formatting
109337NewSebastian Lackner [2/2] ntdll: Add threadpool stub functions to specfile.

Legend

StatusPossible causes
New
  • Patch not even looked at yet, there's still hope...
Pending
  • The patch is not obviously correct at first glance. Making a more convincing argument, preferably in the form of a test case, may help.
  • Waiting for feedback from the main developer in that area.
Committed
  • You have done everything right; congratulations!
  • You screwed up but AJ missed it, send a fix before someone notices ;-)
Dependency
  • The patch is part of a series in which a previous patch hasn't been applied. Resend when the dependent patch is fixed.
Bad sequence
  • The patch is part of a series but it's not correctly numbered. Resend the series with correct sequence numbers to enable the testbot to figure it out.
Superseded
  • An updated version of the patch has been submitted.
  • Someone else fixed the problem already.
Needs tests
  • You need to write some test cases demonstrating that the patch is correct.
Deferred
  • The patch is deferred because of code freeze for an upcoming release. Either resend after the release, make the patch less intrusive, or make a convincing argument that it needs to be included in the release.
Other project
  • The patch belongs to another WineHQ project (website, appdb, etc.) and will be applied by the respective maintainer.
Apply failure
  • The patch got mangled in transit.
  • It's not relative to the latest git.
  • Someone else sent a patch that changes the same area and causes conflicts.
  • The patch is relative to a subdirectory (using 'git format-patch' is strongly recommended).
Build failure
  • Syntax error or other compile problem.
  • You forgot to include some changes or new files required for compilation.
  • The patch causes compiler warnings (maintainer mode implies -Werror).
Formatting
  • The patch author's full name or email address are incorrect or missing.
  • Whitespace got mangled in transit.
  • Indentation is messed up (usually from editing with a non-standard tab size).
  • 8-bit chars got mangled in transit (usually when sending patches to resource files).
  • You are making gratuitous formatting changes to the code.
  • You are using C++ comments.
No patch
  • You hit 'send' before attaching the patch.
  • The mail is a reply to another patch, or spam.
Rejected
  • The patch has been rejected with a comment on wine-devel or #winehackers.
  • The patch contains an obvious error that you are expected to figure out yourself.
Needs splitting
  • A single mail contained multiple patch files.
  • The patch contains unrelated changes that should be sent as separate patches.
  • The patch is simply too large for review, you need to find a way to split it.
Test failure
  • You didn't run 'make test' before submitting.
  • The patch requires a Wine fix but doesn't use todo_wine.
  • The patch fixes a failure but doesn't remove the corresponding todo_wine.
  • The testbot detected new failures on Windows.