xref: /reactos/media/doc/WINESYNC.txt (revision fe11f7a2)
1# ReactOS WINE porting/syncing reference file
2# Update this file when you port/sync a dll/program from WINE.
3
4The ReactOS Project shares quite a bit of code with the WINE project.
5This document should provide a complete reference for all of the
6locations in the ReactOS source tree where code is shared between the
7two projects. If you find something is missing from this documentation
8please add it.
9
10If you find that a function in ReactOS that is not implemented properly
11and is based on WINE sources, check the latest Winehq CVS and see if
12it has been fixed there. If so, please submit a patch to
13ros-dev@reactos.org. Otherwise please send a patch to both
14wine-patches@winehq.com and ros-dev@reactos.org
15
16The following build tools are shared with Wine.
17
18sdk/tools/unicode               # Synced to WineStaging-4.18
19sdk/tools/widl                  # Synced to WineStaging-4.0
20sdk/tools/wpp                   # Synced to WineStaging-2.9
21
22The following libraries are shared with Wine.
23
24dll/directx/wine/amstream       # Synced to WineStaging-3.9
25dll/directx/wine/d3d8           # Synced to WineStaging-3.3
26dll/directx/wine/d3d9           # Synced to WineStaging-3.3
27dll/directx/wine/d3dcompiler_43 # Synced to WineStaging-4.18
28dll/directx/wine/d3drm          # Synced to WineStaging-4.18
29dll/directx/wine/d3dx9_24 => 43 # Synced to WineStaging-6.0-rc5
30dll/directx/wine/d3dxof         # Synced to WineStaging-4.18
31dll/directx/wine/ddraw          # Synced to WineStaging-3.3
32dll/directx/wine/devenum        # Synced to WineStaging-4.18
33dll/directx/wine/dinput         # Synced to WineStaging-4.18
34dll/directx/wine/dinput8        # Synced to WineStaging-4.18
35dll/directx/wine/dmusic         # Synced to WineStaging-4.18
36dll/directx/wine/dplay          # Synced to WineStaging-3.3
37dll/directx/wine/dplayx         # Synced to WineStaging-4.18
38dll/directx/wine/dpnhpast       # Synced to WineStaging-4.18
39dll/directx/wine/dsound         # Forked at Wine-1.3.29. Newer versions are depending on NT6+ mmdevapi, so the further syncing makes no sense until we're retargeted to Vista or newer.
40dll/directx/wine/dxdiagn        # Synced to WineStaging-4.18
41dll/directx/wine/msdmo          # Synced to WineStaging-4.18
42dll/directx/wine/qcap           # Synced to WineStaging-3.3
43dll/directx/wine/qedit          # Synced to WineStaging-3.17
44dll/directx/wine/quartz         # Synced to WineStaging-3.9
45dll/directx/wine/wined3d        # Synced to WineStaging-3.3
46
47dll/win32/activeds            # Synced to WineStaging-4.18
48dll/win32/actxprxy            # Synced to WineStaging-3.3
49dll/win32/advpack             # Synced to WineStaging-4.18
50dll/win32/atl                 # Synced to WineStaging-4.18
51dll/win32/atl80               # Synced to WineStaging-4.18
52dll/win32/atl100              # Synced to WineStaging-3.3
53dll/win32/avifil32            # Synced to WineStaging-4.18
54dll/win32/avrt                # Synced to Wine-9.7
55dll/win32/bcrypt              # Synced to WineStaging-1.9.23 (+ winetest synced to 8d8936cbb6fea3cac862e059e814527f5361f48b, a.k.a 20161206-BJ)
56dll/win32/browseui            # Out of sync
57dll/win32/cabinet             # Synced to WineStaging-4.18
58dll/win32/clusapi             # Synced to WineStaging-3.3
59dll/win32/comcat              # Synced to WineStaging-3.3
60dll/win32/comdlg32            # Synced to WineStaging-4.18
61dll/win32/compstui            # Synced to WineStaging-4.18
62dll/win32/credui              # Synced to WineStaging-4.18
63dll/win32/crypt32             # Synced to WineStaging-4.0
64dll/win32/cryptdlg            # Synced to WineStaging-4.18
65dll/win32/cryptdll            # Synced to WineStaging-4.18
66dll/win32/cryptnet            # Synced to WineStaging-4.18
67dll/win32/cryptui             # Synced to WineStaging-4.18
68dll/win32/dbgeng              # Synced to WineStaging-4.18
69dll/win32/dbghelp             # Synced to WineStaging-5.16
70dll/win32/dciman32            # Synced to WineStaging-3.3
71dll/win32/dwmapi              # Synced to Wine-8.14
72dll/win32/faultrep            # Synced to WineStaging-4.18
73dll/win32/fontsub             # Synced to WineStaging-2.9
74dll/win32/fusion              # Synced to WineStaging-4.18
75dll/win32/gdiplus             # Synced to WineStaging-4.0
76dll/win32/hhctrl.ocx          # Synced to WineStaging-4.18
77dll/win32/hlink               # Synced to WineStaging-4.18
78dll/win32/hnetcfg             # Synced to WineStaging-4.18
79dll/win32/iccvid              # Synced to WineStaging-4.0
80dll/win32/ieframe             # Synced to WineStaging-4.18
81dll/win32/imaadp32.acm        # Synced to WineStaging-4.0
82dll/win32/imagehlp            # Synced to WineStaging-4.18
83dll/win32/imm32               # Forked at WineStaging-4.18
84dll/win32/inetcomm            # Synced to WineStaging-4.18
85dll/win32/inetmib1            # Synced to WineStaging-4.18
86dll/win32/initpki             # Synced to WineStaging-4.18
87dll/win32/inseng              # Synced to WineStaging-4.18
88dll/win32/iphlpapi            # Out of sync
89dll/win32/itircl              # Synced to WineStaging-4.18
90dll/win32/itss                # Synced to WineStaging-4.18
91dll/win32/jscript             # Synced to WineStaging-4.18
92dll/win32/jsproxy             # Synced to WineStaging-4.18
93dll/win32/loadperf            # Synced to WineStaging-4.18
94dll/win32/lz32                # Synced to WineStaging-3.3
95dll/win32/mapi32              # Synced to WineStaging-4.18
96dll/win32/mciavi32            # Synced to WineStaging-4.18
97dll/win32/mcicda              # Synced to WineStaging-3.3
98dll/win32/mciqtz32            # Synced to WineStaging-4.18
99dll/win32/mciseq              # Synced to WineStaging-4.18
100dll/win32/mciwave             # Synced to WineStaging-4.18
101dll/win32/mgmtapi             # Synced to WineStaging-3.3
102dll/win32/mlang               # Synced to WineStaging-4.18
103dll/win32/mmdevapi            # Synced to WineStaging-4.18
104dll/win32/mpr                 # Synced to WineStaging-4.18
105dll/win32/mprapi              # Synced to WineStaging-3.3
106dll/win32/msacm32             # Synced to WineStaging-4.18
107dll/win32/msacm32.drv         # Synced to WineStaging-3.3
108dll/win32/msadp32.acm         # Synced to WineStaging-4.0
109dll/win32/mscat32             # Synced to WineStaging-4.18
110dll/win32/mscms               # Synced to WineStaging-4.18
111dll/win32/mscoree             # Synced to Wine-1.5.4
112dll/win32/msctf               # Synced to WineStaging-4.18
113dll/win32/msftedit            # Synced to WineStaging-4.18
114dll/win32/msg711.acm          # Synced to WineStaging-4.18
115dll/win32/msgsm32.acm         # Synced to WineStaging-4.0
116dll/win32/mshtml              # Synced to WineStaging-1.7.55
117dll/win32/mshtml.tlb          # Synced to WineStaging-1.7.55
118dll/win32/msi                 # Synced to Wine-9.8
119dll/win32/msimg32             # Synced to WineStaging-3.3
120dll/win32/msimtf              # Synced to WineStaging-4.18
121dll/win32/msisip              # Synced to WineStaging-4.18
122dll/win32/msisys.ocx          # Synced to WineStaging-4.18
123dll/win32/msnet32             # Synced to WineStaging-4.18
124dll/win32/mspatcha            # Forked at WineStaging-3.3
125dll/win32/msrle32             # Synced to WineStaging-4.18
126dll/win32/mssign32            # Synced to WineStaging-4.18
127dll/win32/mssip32             # Synced to WineStaging-4.18
128dll/win32/mstask              # Synced to WineStaging-3.3
129dll/win32/msvcrt20            # Out of sync
130dll/win32/msvcrt40            # Out of sync
131dll/win32/msvfw32             # Synced to WineStaging-4.18
132dll/win32/msvidc32            # Synced to WineStaging-4.0
133dll/win32/msxml               # Synced to WineStaging-3.3
134dll/win32/msxml2              # Synced to WineStaging-3.3
135dll/win32/msxml3/domdoc       # Synced to WineStaging-4.18
136dll/win32/msxml3/httpreq      # Synced to WineStaging-4.18
137dll/win32/msxml3/saxreader    # Synced to WineStaging-4.18
138dll/win32/msxml3/schema       # Synced to Wine-6.14
139dll/win32/msxml3/xmldoc       # Synced to WineStaging-4.18
140dll/win32/msxml3/xmlparser    # Synced to WineStaging-4.18
141dll/win32/msxml3/xmlview      # Synced to WineStaging-4.18
142dll/win32/msxml4              # Synced to WineStaging-3.3
143dll/win32/msxml6              # Synced to WineStaging-3.3
144dll/win32/nddeapi             # Synced to WineStaging-3.3
145dll/win32/netapi32            # Forked at Wine-1.3.34
146dll/win32/npptools            # Synced to WineStaging-4.18
147dll/win32/ntdsapi             # Synced to WineStaging-4.18
148dll/win32/objsel              # Synced to WineStaging-4.18
149dll/win32/odbc32              # Synced to WineStaging-4.18. Depends on port of Linux ODBC.
150dll/win32/odbccp32            # Synced to WineStaging-4.18
151dll/win32/ole32               # Synced to WineStaging-4.18
152dll/win32/oleacc              # Synced to WineStaging-4.18
153dll/win32/oleaut32            # Synced to WineStaging-4.18
154dll/win32/olecli32            # Synced to WineStaging-4.18
155dll/win32/oledlg              # Synced to WineStaging-4.18
156dll/win32/olepro32            # Synced to WineStaging-3.3
157dll/win32/olesvr32            # Synced to WineStaging-4.18
158dll/win32/olethk32            # Synced to WineStaging-3.3
159dll/win32/pdh                 # Synced to WineStaging-4.18
160dll/win32/pidgen              # Synced to WineStaging-4.18
161dll/win32/powrprof            # Forked at Wine-1.0rc5
162dll/win32/printui             # Synced to WineStaging-4.18
163dll/win32/propsys             # Synced to WineStaging-4.18
164dll/win32/pstorec             # Synced to WineStaging-3.3
165dll/win32/qmgr                # Synced to WineStaging-4.18
166dll/win32/qmgrprxy            # Synced to WineStaging-2.9
167dll/win32/query               # Synced to WineStaging-4.18
168dll/win32/rasapi32            # Synced to WineStaging-3.3
169dll/win32/regapi              # Synced to WineStaging-5.7
170dll/win32/resutils            # Synced to WineStaging-3.3
171dll/win32/riched20            # Synced to WineStaging-4.18
172dll/win32/riched32            # Synced to WineStaging-3.3
173dll/win32/rpcrt4              # Synced to WineStaging-4.18
174dll/win32/rsabase             # Synced to WineStaging-3.3
175dll/win32/rsaenh              # Synced to WineStaging-2.9
176dll/win32/sccbase             # Synced to WineStaging-4.18
177dll/win32/schannel            # Synced to WineStaging-3.3
178dll/win32/scrrun              # Synced to WineStaging-4.18
179dll/win32/secur32             # Forked
180dll/win32/security            # Forked (different .spec)
181dll/win32/sensapi             # Synced to WineStaging-4.18
182dll/win32/setupapi            # Forked at Wine-20050524
183dll/win32/shdoclc             # Synced to WineStaging-3.3
184dll/win32/shdocvw             # Synced to WineStaging-4.18
185dll/win32/shell32             # Forked at Wine-20071011
186dll/win32/shfolder            # Synced to WineStaging-3.3
187dll/win32/shlwapi             # Synced to WineStaging-3.3
188dll/win32/slbcsp              # Synced to WineStaging-4.18
189dll/win32/snmpapi             # Synced to WineStaging-4.18
190dll/win32/softpub             # Synced to WineStaging-2.9
191dll/win32/stdole2.tlb         # Synced to WineStaging-3.3
192dll/win32/stdole32.tlb        # Synced to WineStaging-3.3
193dll/win32/sti                 # Synced to WineStaging-4.18
194dll/win32/sxs                 # Synced to WineStaging-4.18
195dll/win32/t2embed             # Synced to WineStaging-4.18
196dll/win32/tapi32              # Synced to WineStaging-4.18
197dll/win32/traffic             # Synced to WineStaging-3.3
198dll/win32/twain_32            # Synced to WineStaging-4.18
199dll/win32/updspapi            # Synced to WineStaging-4.18
200dll/win32/url                 # Synced to WineStaging-3.3
201dll/win32/urlmon              # Synced to WineStaging-4.18
202dll/win32/usp10               # Synced to WineStaging-4.18
203dll/win32/uxtheme             # Forked
204dll/win32/vbscript            # Synced to WineStaging-4.18
205dll/win32/version             # Synced to WineStaging-4.18
206dll/win32/vssapi              # Synced to WineStaging-4.18
207dll/win32/wbemdisp            # Synced to WineStaging-4.18
208dll/win32/wbemprox            # Synced to WineStaging-4.18
209dll/win32/windowscodecs       # Synced to WineStaging-4.18
210dll/win32/windowscodecsext    # Synced to WineStaging-2.9
211dll/win32/winemp3.acm         # Synced to WineStaging-4.18
212dll/win32/wing32              # Synced to WineStaging-3.3
213dll/win32/winhttp             # Synced to WineStaging-4.18
214dll/win32/wininet             # Synced to WineStaging-6.0rc1
215dll/win32/winmm               # Forked at Wine-20050628
216dll/win32/winmm/midimap       # Forked at Wine-20050628
217dll/win32/winmm/wavemap       # Forked at Wine-20050628
218dll/win32/winscard            # Synced to WineStaging-4.18
219dll/win32/wintrust            # Synced to WineStaging-4.18
220dll/win32/wldap32             # Synced to WineStaging-4.18
221dll/win32/wmi                 # Synced to WineStaging-2.9
222dll/win32/wmiutils            # Synced to WineStaging-4.18
223dll/win32/wmvcore             # Synced to WineStaging-4.18
224dll/win32/wshom.ocx           # Synced to WineStaging-4.18
225dll/win32/wtsapi32            # Synced to WineStaging-4.18
226dll/win32/wuapi               # Synced to WineStaging-4.18
227dll/win32/xinput1_1           # Synced to WineStaging-2.9
228dll/win32/xinput1_2           # Synced to WineStaging-2.9
229dll/win32/xinput1_3           # Synced to WineStaging-2.9
230dll/win32/xinput9_1_0         # Synced to WineStaging-2.9
231dll/win32/xmllite             # Synced to WineStaging-4.18
232dll/win32/xolehlp             # Synced to WineStaging-3.21
233
234comctl32 -
235  dll/win32/comctl32/button.c              # Forked at Wine-3.3
236  dll/win32/comctl32/datetime.c            # Synced to Wine-6.0
237  dll/win32/comctl32/*                     # Synced to Wine-5.0
238
239dll/cpl/inetcpl               # Synced to WineStaging-4.18
240
241win32ss/printing/monitors/localmon/ui/  # Synced to WineStaging-4.18 (known there as /dll/win32/localui)
242
243ReactOS shares the following programs with Winehq.
244
245base/applications/cmdutils/cscript  # Synced to WineStaging-4.18
246base/applications/cmdutils/reg      # Synced to WineStaging-6.23
247base/applications/cmdutils/schtasks # Synced to WineStaging-3.3
248base/applications/cmdutils/taskkill # Synced to WineStaging-3.17
249base/applications/cmdutils/wmic     # Synced to WineStaging-4.0
250base/applications/cmdutils/wscript  # Synced to WineStaging-4.18
251base/applications/cmdutils/xcopy    # Synced to WineStaging-3.17
252base/applications/games/winmine     # Synced to WineStaging-2.16 with our own resources.
253base/applications/extrac32          # Synced to WineStaging-4.0
254base/applications/iexplore          # Synced to WineStaging-3.3
255base/applications/notepad           # Forked at Wine-20041201
256base/applications/winhlp32          # Synced to WineStaging-4.0
257base/applications/wordpad           # Synced to WineStaging-1.9.16
258base/applications/write             # Synced to WineStaging-3.3
259base/services/rpcss                 # Synced to WineStaging-3.3
260base/system/expand                  # Synced to WineStaging-3.3
261base/system/msiexec                 # Synced to Wine-9.8
262modules/rosapps/applications/winfile # Autosync
263
264In addition the following libs, dlls and source files are mostly based on code ported
265from Winehq CVS. If you are looking to update something in these files
266check Wine current sources first as it may already be fixed.
267
268sdk/lib/3rdparty/strmbase           # Synced to WineStaging-3.3
269
270sdk/lib/rtl/actctx.c                # Synced to Wine-5.18
271sdk/lib/rtl/threadpool.c            # Synced to Wine-9.7
272
273advapi32 -
274  dll/win32/advapi32/wine/cred.c         # Synced to WineStaging-3.3
275  dll/win32/advapi32/wine/crypt.c        # Synced to WineStaging-3.3
276  dll/win32/advapi32/wine/crypt_des.c    # Synced to WineStaging-3.3
277  dll/win32/advapi32/wine/crypt_lmhash.c # Synced to WineStaging-3.3
278  dll/win32/advapi32/wine/security.c     # Out of Sync
279
280gdi32 -
281  dll/win32/gdi32/objects/linedda.c     # Synced at 20090410
282
283iphlpapi -
284  modules/rostests/winetests/iphlpapi # Synced to WineStaging-1.9.11
285
286kernel32 -
287  dll/win32/kernel32/wine/actctx.c               # Synced to wine-3.3
288  dll/win32/kernel32/wine/comm.c                 # Synced to wine-3.3
289  dll/win32/kernel32/wine/lzexpand.c             # Synced to WineStaging-3.3
290  dll/win32/kernel32/wine/profile.c              # Synced to WineStaging-3.3
291  dll/win32/kernel32/wine/res.c                  # Partially synced to WineStaging-3.3
292  dll/win32/kernel32/winnls/string/casemap.c     # Synced to WineStaging-3.3
293  dll/win32/kernel32/winnls/string/collation.c   # Synced to WineStaging-3.3
294  dll/win32/kernel32/winnls/string/digitmap.c    # Synced to WineStaging-3.3
295  dll/win32/kernel32/winnls/string/fold.c        # Synced to WineStaging-3.3
296  dll/win32/kernel32/winnls/string/format_msg.c  # Synced to WineStaging-3.3
297  dll/win32/kernel32/winnls/string/locale.c      # Synced in wine-3.3
298  dll/win32/kernel32/winnls/string/lcformat.c    # Synced to WineStaging-3.21
299  dll/win32/kernel32/winnls/string/sortkey.c     # Synced to WineStaging-3.3
300
301lpk -
302  dll/win32/lpk/bidi.c                           # Synced to Wine-4.9 (gdi32/bidi.c)
303  dll/win32/lpk/direction.c                      # Synced to Wine-4.9 (gdi32/direction.c)
304
305msvcrt -
306  sdk/lib/crt/conio/cputs.c             # Synced to WineStaging-1.9.16
307  sdk/lib/crt/process/_cwait.c          # Synced to WineStaging-1.7.37
308  sdk/lib/crt/string/scanf.c/h          # Synced to Wine-1.7.17
309  sdk/lib/crt/string/strtoi64.c         # Synced to WineStaging-1.9.9
310  sdk/lib/crt/string/strtok.c           # Synced to WineStaging-1.9.16
311  sdk/lib/crt/string/strtok_s.c         # Synced to WineStaging-1.9.16
312  sdk/lib/crt/string/strtoul.c          # Synced to WineStaging-1.9.9
313  sdk/lib/crt/string/strxfrm.c          # Synced to Wine-1.9.16
314  sdk/lib/crt/string/wcs.c              # Synced at 20080611
315  sdk/lib/crt/string/wctype.c           # Synced to WineStaging-1.9.16
316  sdk/lib/crt/string/wtoi64.c           # Synced to Wine-1.9.16
317  sdk/lib/crt/mbstring/ischira.c        # Synced to Wine-1.9.16
318  sdk/lib/crt/process/thread.c          # Synced to WineStaging-1.7.55
319  sdk/lib/crt/wine/cpp.c                # Synced to Wine-7.0
320  sdk/lib/crt/wine/cppexcept.h          # Synced to Wine-7.0
321  sdk/lib/crt/wine/except.c             # Synced to Wine-7.0
322  sdk/lib/crt/wine/except_arm.c         # Synced to Wine-7.0
323  sdk/lib/crt/wine/except_arm64.c       # Synced to Wine-7.0
324  sdk/lib/crt/wine/except_i386.c        # Synced to Wine-7.0
325  sdk/lib/crt/wine/except_x86_64.c      # Synced to Wine-7.0
326  sdk/lib/crt/wine/heap.c               # Synced to Wine-7.0
327  sdk/lib/crt/wine/msvcrt.h             # Synced to Wine-7.0
328  sdk/lib/crt/wine/mtdll.h              # Synced to Wine-7.0
329  sdk/lib/crt/wine/undname.c            # Synced to Wine-7.0
330
331regedit
332  base/applications/regedit/regedit.c   # Synced to Wine-7.17
333  base/applications/regedit/regproc.c   # Synced to Wine-7.17
334
335user32 -
336  win32ss/user/user32/controls/button.c    # Synced to WineStaging-1.7.37
337  win32ss/user/user32/controls/combo.c     # Synced to WineStaging-1.7.37
338  win32ss/user/user32/controls/edit.c      # Synced to WineStaging-1.7.55
339  win32ss/user/user32/controls/icontitle.c # Synced to WineStaging-1.7.55
340  win32ss/user/user32/controls/listbox.c   # Synced to WineStaging-1.7.55
341  win32ss/user/user32/controls/scrollbar.c # Forked
342  win32ss/user/user32/controls/static.c    # Synced to WineStaging-1.7.55
343
344  win32ss/user/user32/include/dde_private.h # Synced to WineStaging-1.7.55
345
346  win32ss/user/user32/misc/dde.c           # Synced to WineStaging-1.7.55 (dde_misc.c)
347  win32ss/user/user32/misc/ddeclient.c     # Synced to WineStaging-1.7.55
348  win32ss/user/user32/misc/ddeserver.c     # Synced to WineStaging-1.7.55
349  win32ss/user/user32/misc/exticon.c       # Synced to WineStaging-1.7.55
350  win32ss/user/user32/misc/resources.c     # Partially synced to WineStaging-1.7.55
351  win32ss/user/user32/misc/winhelp.c       # Last sync date unknown
352
353  win32ss/user/user32/windows/cursoricon   # Forked from Wine-1.2-rc7
354  win32ss/user/user32/windows/defwnd.c     # Forked
355  win32ss/user/user32/windows/draw.c       # Forked at Wine-20020904 (uitools.c)
356  win32ss/user/user32/windows/mdi.c        # Synced to WineStaging-1.7.55
357  win32ss/user/user32/windows/menu.c       # Forked
358  win32ss/user/user32/windows/messagebox.c # Forked
359  win32ss/user/user32/windows/rect.c       # Forked (uitools.c)
360  win32ss/user/user32/windows/spy.c        # Synced to WineStaging-1.7.55
361  win32ss/user/user32/windows/text.c       # Forked (lstr.c)
362  win32ss/user/user32/windows/winpos.c     # Forked
363
364schannel.c
365  dll/win32/schannel/schannel_wine.c    # synced to wine-1.7.17 (secur32/schannel.c)
366  dll/win32/schannel/secur32_wine.c     # partial sync to wine-1.7.17 (secur32/secur32.c)
367
368secur32 -
369  dll/win32/secur32/sspi.c              # Partially synced to WineStaging-1.7.55 (secur32.c)
370  dll/win32/secur32/thunks.c            # Synced to WineStaging-1.9.4
371  dll/win32/secur32/wrapper.c           # Synced to WineStaging-1.9.4
372
373setupapi -
374  dll/win32/setupapi/dialog.c           # Synced to WineStaging-1.9.15
375  dll/win32/setupapi/query.c            # Partially synced to Wine-4.8
376  dll/win32/setupapi/setupcab.c         # Synced to WineStaging-1.9.4
377
378win32k -
379  win32ss/gdi/ntgdi/bezier.c                    # Synced to WineStaging-1.9.4 (gdi32/painting.c)
380
381winmm -
382  modules/rostests/winetests/winmm      # Synced to WineStaging-4.18
383