dmime: Free list when Tempo track is destroyed.
[wine.git] / ANNOUNCE
blobdfe397e1b00631b38814262a57f64a34b98388ec
1 The Wine development release 4.19 is now available.
3 What's new in this release (see below for details):
4   - A number of additional VBScript features.
5   - More stateblock support in WineD3D.
6   - Some fixes for ARM64 support.
7   - Various bug fixes.
9 The source is available from the following locations:
11   https://dl.winehq.org/wine/source/4.x/wine-4.19.tar.xz
12   http://mirrors.ibiblio.org/wine/source/4.x/wine-4.19.tar.xz
14 Binary packages for various distributions will be available from:
16   https://www.winehq.org/download
18 You will find documentation on https://www.winehq.org/documentation
20 You can also get the current source directly from the git
21 repository. Check https://www.winehq.org/git for details.
23 Wine is available thanks to the work of many people. See the file
24 AUTHORS in the distribution for the complete list.
26 ----------------------------------------------------------------
28 Bugs fixed in 4.19 (total 41):
30   14026  Installshield Wizard does not exit after it finishes
31   17289  Slingplayer 2.0 installer fails
32   23934  Multiple games and applications depend on kernel32.CreateProcess to prioritize the working directory over the system search path (Stronghold Kingdoms loops after update, installers fail to find tools)
33   26552  Wine sets the resolution incorrectly on widescreen monitors
34   30911  Trivial Pursuit Unhinged fails to load
35   32147  Notepad .Net toolbar does not draw
36   32148  Notepad .Net does not exit cleanly
37   32151  Notepad .Net continually runs at ~70% CPU
38   34460  Tabbing between editboxes does not work in Tweet Attacks Pro
39   34666  In The Adventures Of Lomax some graphic elements flicker, disappear or are garbled
40   35380  Trivial Pursuit Unhinged: reports an audio error and exits
41   35479  Metatrader 5 hangs when scanning for Tester agents
42   35506  Space Hack: The mouse pointer is hard to control
43   35798  TeamViewer 9.0.26297 NI crashes on startup when using 'run only' option (one time use)
44   35801  Tweet Attacks hang when entering invalid login details
45   35901  ImpotRapide 2013 (.NET 4.0 app) installer crashes with Mono
46   36388  Problems with Russian localization in page setup dialog
47   37861  BOINC detects incomplete GPU details
48   37878  boincmgr: No text in cancel dialog in NT 6.0-6.2 modes
49   38795  Netgear Powerline 3.1 update check fails on second run
50   38821  MetaEditor 5: MQL5 Reference window doesn't load in a WOW64 wineprefix
51   38930  Betfair Poker log-in window is blank
52   40140  4K YouTube to MP3 crashes while downloading videos for some time
53   40360  Jack Keane 2 shadow corruption
54   40364  Broken geometry in Indiana Jones and the Emperor's Tomb
55   40777  The Moment of Silence launcher unusable (displays only black)
56   41369  UIAnimation (Windows Animation Manager / UIAnimation.dll) is missing in Wine
57   41741  The Adventures of Lomax demo crash on startup.
58   44221  Netgear Powerline: *** stack smashing detected ***: explorer.exe terminated
59   44231  External links in Slingplayer's help file open iexplore multiple times
60   45310  Closing Ableton Live 9 Lite wil crash into unimplemented function KERNEL32.dll.MoveFileTransactedW
61   46914  CompressonatorGUI 3.1 installer crashes in Win10 mode (Advanced Installer Module bug, incorrect usage of kernel32.Wow64RevertWow64FsRedirection)
62   46995  Rekordbox 5.3.0 installer (32-bit process under WoW64) fails to load 32-bit code dlls with WoW64 filesystem redirection disabled
63   47075  32-bit LAVFilters 0.74.x installer fails to register 64-bit AX codec/filters in Wow64 environment (32-bit regsvr32.exe needs to support 64-bit dll registration and vice versa by re-exec with proper bitness)
64   47509  Touhou 15.5:Antinomy of Common Flowers stopped running after upgrading the Wine version from 4.10 to 4.12.2
65   47912  Rockstar Games Launcher installer crashes after disabling WoW64 redirection
66   47956  IGMP source specific multicast does not create join requests for source
67   47967  Wine fails to find application DLLs when the working directory is not the application directory
68   47979  NtCreateFile incorrectly returns STATUS_OBJECT_NAME_NOT_FOUND when RootDirectory is populated
69   47986  R-Studio (file recovery tool) wants ntoskrnl.exe.IoCreateUnprotectedSymbolicLink
70   48009  Broken rendering in Sniper Elite V2
72 ----------------------------------------------------------------
74 Changes since 4.18:
76 Akihiro Sagawa (4):
77       d2d1/tests: Add some DPI tests.
78       d2d1: Don't update device context DPI values when changing targets.
79       d2d1: Improve bitmap creation DPI handling.
80       po: Update Japanese translation.
82 Alex Henrie (4):
83       ntoskrnl: Implement IoCreateUnprotectedSymbolicLink.
84       ntdll: Implement NtPowerInformation(SystemBatteryState) on Linux.
85       kernel32/tests: Add tests for GetSystemPowerStatus.
86       kernel32: Implement GetSystemPowerStatus on top of NtPowerInformation.
88 Alexandre Julliard (34):
89       ntdll: Initialize Unix codepage early during startup.
90       kernel32: Retrieve the Unix codepage from ntdll.
91       kernelbase: Fix variable name aliasing issue.
92       kernel32: Add the new image path to the dll path for a new process.
93       notepad: Fix parsing of quoted command line.
94       ntdll: Always add path separator when looking for a relative path name.
95       kernel32: Move current directory initialization to ntdll.
96       kernel32: Move process name initialization to ntdll.
97       kernel32: Move Unix environment initialization to ntdll.
98       kernel32: Move registry environment initialization to ntdll.
99       kernel32: Move additional environment initialization to ntdll.
100       kernel32: Move image path name initialization to ntdll.
101       kernel32: Move Unicode argv initialization to ntdll.
102       kernel32: Move command line initialization to ntdll.
103       kernel32: Move dll load path initialization to ntdll.
104       kernelbase: Fix fault address printing for the PE build.
105       ntdll: Fix unwinding of leaf functions on ARM64.
106       ntdll: Hardcode address space limits for ARM platforms.
107       winex11: Also catch X errors from XF86VidModeSetGammaRamp().
108       atlthunk: Add support for ARM64.
109       oleaut32: Fix handling of VARIANT parameters in DispCallFunc() on ARM64.
110       msvcrt/tests: Fix signed char issues.
111       kernel32/tests: Enable the ExitProcess() test on ARM64.
112       setupapi: Define .inf section names for ARM platforms.
113       wine.inf: Add ARM64 sections.
114       ole32/tests: Increase a timeout.
115       psapi/tests: Increase some timeouts.
116       rpcrt4/tests: Increase some timeouts.
117       msvcrt/tests: Fix more signed char issues.
118       msvcrt: Reimplement strcmp/strncmp to get consistent return values.
119       msvcirt/tests: Fix some signed char issues.
120       oleaut32: Fix scope of a local array variable.
121       webservices: Use _control87() instead of directly manipulating the FPU register.
122       msvcrt: Implement _control87() and _statusfp() for ARM64.
124 Alistair Leslie-Hughes (13):
125       dplayx: Copy the correct Short name variable.
126       dpnet: Initialize size before call to RegGetValueW (Coverity).
127       wmvcore: IWMReader GetOutputCount return zero outputs.
128       wmvcore: IWMProfile3 GetStreamCount return zero streams.
129       oledb32: Support milliseconds when converting BSTR -> DBTIMESTAMP.
130       dinput/tests: Remove unrequired pointer checks (Coverity).
131       dinput: Detect more buttons as non-joysticks.
132       uianimation: Add typelib resource.
133       uianimation/tests: Add initial tests.
134       dmband: Simplify DllGetClassObject.
135       uianimation/tests: Add IUIAnimationTimer test.
136       uianimation/tests: Add more tests.
137       ntdll: Fix compile error on macos.
139 Ambrož Bizjak (1):
140       ucrtbase: Implement t and j printf length modifiers.
142 Andrew Eikum (11):
143       xinput: Make device hotplugging thread-safe.
144       xinput: Consolidate new device setup.
145       xinput: Clear instance data when a controller is hotplugged.
146       xinput: Get rid of redundant connected boolean.
147       mmdevapi/tests: Avoid race condition in capture test.
148       mmdevapi/tests: Use discontinuity flag to detect broken win7 behavior.
149       mmdevapi: Set data pointer to NULL on IAudioCaptureClient::GetBuffer failure.
150       mmdevapi: Return E_INVALIDARG for invalid share mode argument.
151       dxgi: Sort reported output modes.
152       advapi32: Add EventRegister and EventUnregister tests.
153       ntdll: Add missing spec file entry for EtwEventWriteString.
155 Austin English (1):
156       ntoskrnl.exe: Quiet a verbose FIXME.
158 Brendan Shanks (2):
159       kernel32/tests: Test loading system DLLs with WoW64 redirection disabled.
160       ntdll: Enable WoW64 filesystem redirection when loading libraries.
162 Byeong-Sik Jeon (1):
163       po: Update Korean tranlation.
165 Connor McAdams (3):
166       d3d10: Move private effect functions to effect.c.
167       d3d10: Move debug_d3d10_driver_type() to d3d10_main.c.
168       d3d10: Move debug_d3d10_device_state_types() to stateblock.c.
170 Conor McCarthy (3):
171       dxgi/tests: Mark as todo the containing output test if a secondary monitor will cause failure.
172       dxgi: Do not warn about ignoring a null refresh rate.
173       dxgi: Add support for DXGI_SCALING_NONE.
175 Daniel Lehman (3):
176       msvcrt/tests: Fix _lseek arguments.
177       msvcrt: Set errno in _lseeki64.
178       wine.inf: Add Dynamic DST for US time zones.
180 Dmitry Timoshkov (1):
181       vbscript/tests: Add some tests for IRegExp2::Replace().
183 Erich Hoover (1):
184       msvcrt: Fix fscanf return when EOF is immediately after an end of line.
186 Fabian Maurer (3):
187       ws2_32: Handle more IGMP socket options.
188       find: First implementation.
189       find: Prevent hang by properly checking for EOF.
191 François Gouget (6):
192       comctl32/tests: Avoid an unneeded lstrlenW() call.
193       mshtml: Fix the spelling of some variable and field names.
194       mshtml/tests: Fix the spelling of an ok() message.
195       mshtml/tests: Fix the name of an unused function parameter.
196       msi/tests: Fix the case of an ok() message.
197       msi: Fix the spelling of a comment.
199 Gijs Vermeulen (1):
200       faultrep/tests: Fix some memory leaks (Valgrind).
202 Hans Leidekker (5):
203       msi/tests: Add missing UnpublishFeatures actions.
204       msi/tests: Fix test failures.
205       msi/tests: Run the package tests from a temporary directory.
206       msi/tests: Remove workarounds for Windows 2000.
207       shell32: Improve the stub for SHGetPropertyStoreForWindow.
209 Henri Verbeet (1):
210       ntdll: Properly handle 0 returns from unw_step().
212 Jacek Caban (31):
213       include: Avoid macro redefinition when wchar.h is included after stdint.h.
214       vbscript: Implement String function.
215       vbscript: Implement RegExp.Replace.
216       vbscript: Improve exec_script debug traces.
217       vbscript: Fix array reference handling in do_icall.
218       vbscript: Add LBound function implementation.
219       vbscript: Move sign expression to a separated rule.
220       vbscript: Introduce separated struct for call expressions.
221       vbscript: Allow any unary expression after call keyword.
222       vbcript: Allow any call expression in call and assign statements.
223       vbscript: Support non-member calls in compiler.
224       vbscript: Factor out variant_call.
225       vbscript: Support calling VARIANT in interpreter.
226       vbscript/tests: Add more call tests.
227       vbscript: Ignore parentheses in call expression.
228       vbscript: Always pass arguments inside parentheses by value.
229       vbscript: Use wide char literals for lexer keywords.
230       vbscript: Add support for parsing with statement.
231       vbscript: Add support for interpreting statements.
232       vbscript/tests: Add with statement tests.
233       jscript: Use _ltow_s instead of int_to_string.
234       vbscript: Support VT_EMPTY in stack_pop_bool.
235       vbscript: Silence BuiltinDisp::QueryInterface(IID_IDispatchEx) warning.
236       vbscript/tests: Introduce get_dispid helper.
237       vbscript: Support DISP_E_EXCEPTION Invoke[Ex] return value.
238       vbscript: Add support for parameterized set statements.
239       vbscript: Allow 'with' as an identifier.
240       vbscript: Add parser support for redim statement.
241       vbscript: Add interpreter support for redim statement.
242       vbscript/tests: Add redim statement tests.
243       vbscript: Support using function return value in expressions.
245 Jeff Smith (1):
246       kernel32: Quote first command line arg in process paramenters.
248 Louis Lenders (10):
249       include: Set threading model on UIAnimation* interfaces.
250       include: Add restrictederrorinfo.idl.
251       uianimation: Register interfaces.
252       uianimation: Add IUIAnimationManager stubbed interface.
253       uianimation: Add IUIAnimationTimer stubbed interface.
254       uianimation: Add IUIAnimationTransitionFactory stubbed interface.
255       uianimation: Add IUIAnimationTransitionLibrary stubbed interface.
256       uianimation: Implement IUIAnimationManager::CreateStoryboard.
257       uianimation: Implement IUIAnimationManager::CreateAnimationVariable.
258       httpapi: Add stub for HttpReceiveRequestEntityBody.
260 Matteo Bruni (4):
261       d3dx9: Return an error if no fallback format is found.
262       d3dx9: Turn unimplemented interface ERR into a WARN.
263       wined3d: Introduce a separate use_legacy_fragment_output() helper.
264       wined3d: Limit GLSL version to 1.30 when OpenGL 3 is not supported.
266 Michael Müller (1):
267       crypt32: Add MS root CA 2010.
269 Michael Stefaniuc (7):
270       comctl32/tests: Constify some string holding variables / fields.
271       comctl32/tests: Simplify comparison with empty string.
272       comctl32/tests: Get rid of variables holding empty strings.
273       comctl32/tests: Don't read past the end of the buffer.
274       dmsynth: Use a wchar string literal instead of a temp variable.
275       mfreadwrite: Use wchar string literals instead of temp variables.
276       t2embed: Use a wchar string literal instead of a temp variable.
278 Nikolay Sivov (12):
279       dwrite/tests: Relax tests that fail on some Win10 versions.
280       t2embed/tests: Fix some test failures on Win10.
281       comdlg32/tests: Use win_skip() instead when appropriate.
282       gdiplus: Trace GpRectF arguments.
283       kernel32/tests: Fix some test failures on Win10.
284       wscript/tests: Fix test failures on Win10.
285       vbscript/tests: Fix tests failures on Win10.
286       shell32/tests: Relax some tests to fix failures on Win10.
287       ole32/tests: Add some more tests for interface redirection handling.
288       ole32: Do not pass around untyped context section pointers.
289       ole32: Use interface redirection section too when looking for modules in CoGetClassObject().
290       po: Fix Russian strings for page setup dialog.
292 Paul Gofman (15):
293       user32: Fix coords in WINDOWPOS for WM_NCCALCSIZE sent from SetWindowPos().
294       d3d9/tests: Factor out wait_query() function.
295       wined3d: Issue texture barrier before using a texture attached to FBO.
296       wined3d: Do not allow resource to be bound as SRV and RTV at the same time.
297       d3d8: Fix stream data skip count in convert_to_wined3d_declaration().
298       d3dx9: Don't pass usage flags for staging texture in D3DXCreateCubeTextureFromFileInMemoryEx().
299       d3dx9: Factor our check_texture_requirements() function.
300       d3dx9: Use check_texture_requirements() in D3DXCheckCubeTextureRequirements() with correct resource type.
301       d3dx9: Use check_texture_requirements() in D3DXCheckVolumeTextureRequirements() with correct resource type.
302       d3dx9: Don't pass usage flags for staging texture in D3DXCreateVolumeTextureFromFileInMemoryEx().
303       ddraw: Fix vertex buffer offset in d3d_execute_buffer_execute().
304       d3d11: Mind DSV flags when checking for conflicting SRV.
305       d3d11/tests: Add tests for binding resource as both SRV and DSV.
306       d3d11/tests: Require D3D_FEATURE_LEVEL_11_0 for using DSV flags.
307       wined3d: Return TRUE for NULL SRV format from wined3d_dsv_srv_conflict().
309 Piotr Caban (13):
310       ucrtbase: Implement %G format for strftime.
311       msvcrt: Don't use strcspn from C-library.
312       msvcrt: Add _mbsspn_l implementation.
313       msvcrt: Add _mbscspn_l implementation.
314       msvcrt: Don't use strstr from C-library.
315       ntdll: Use SIZE_T to store passed buffer size in sprintf.
316       msvcrt: Cleanup sprintf tests.
317       regedit: Fix double free error in GetValueName.
318       msvcrt: Simplify printf tests table.
319       msvcrt: Fix test failures on Windows 10.
320       msvcrt: Move more printf tests to table.
321       msvcrt: Add printf rounding tests.
322       msvcrt: Add printf meaningless digits tests.
324 Roman Pišl (3):
325       rstrtmgr: Add RM_FILTER_ACTION definition.
326       rstrtmgr: Fake API implementation by returning success.
327       rstrtmgr: Add stubs RmAddFilter and RmRemoveFilter.
329 Rémi Bernon (4):
330       user32/tests: Update input test result for w1064v1809.
331       user32/tests: Do not expect char vkey to return the same char everywhere.
332       user32/tests: Do not expect ToAscii with 'A' vkey to return 'a' on non-us keyboards.
333       user32/tests: Skip some tests with inconsistent results with non-us kbd.
335 Serge Gautherie (1):
336       atl: Fix a MSVC x64 printf warning.
338 Sven Baars (13):
339       mf: Leave instead of enter a critical section.
340       scrobj: Fix some leaks on error paths (Coverity).
341       scrobj/tests: Don't set site to NULL before it has been freed (Valgrind).
342       scrobj: Add a missing return value check (Coverity).
343       webservices: Fix some leaks on error paths (Coverity).
344       msvcp120: Add a helper for tr2_sys__Equivalent.
345       msvcp140: Add an _Equivalent implementation that allows for directories.
346       winmm: Pass the device to WINMM_Pause directly.
347       wininet/tests: Fix some test failures on Windows.
348       mstask/tests: Wait a bit longer for tasks to start and terminate.
349       wininet/tests: Skip some FTP tests when no connection can be made.
350       ntdll/tests: Fix some test failures on Windows 10.
351       ole32/tests: Fix some test failures on Windows XP.
353 Vijay Kiran Kamuju (4):
354       ntdll: Fix the SYSTEM_MODULE struct field names.
355       setupapi/tests: Remove win_9x checks.
356       ucrtbase: Implement %g format for strftime.
357       ucrtbase/tests: Add tests for strftime formats %r and %V.
359 Vincent Povirk (4):
360       regsvr32: Re-exec as 32-bit or 64-bit if necessary.
361       windowscodecs/tests: Expect success from IWICStream_Commit.
362       windowscodecs: Implement IWICStream_Commit.
363       mscoree: Call mono_thread_manage in GC Unsafe mode.
365 Zebediah Figura (70):
366       psapi/tests: Increase the GetPerformanceInfo() margins again.
367       psapi/tests: Remove an unreliable test.
368       qwave: Don't test the last error in the successful case.
369       advapi32/tests: Use unique names for each created service.
370       quartz/tests: Add more tests for stream start time.
371       quartz/tests: Add more tests for seeking.
372       quartz/filtergraph: Correctly implement IMediaSeeking::GetStopPosition().
373       quartz/filtergraph: Remove the no longer used "stop_position" field from IFilterGraphImpl.
374       quartz/filtergraph: Correctly handle AM_SEEKING_ReturnTime in IMediaSeeking::SetPositions().
375       wined3d: Introduce wined3d_stateblock_set_sampler_state().
376       d3d9: Handle stateblocks in d3d9_device_SetSamplerState().
377       wined3d: Introduce wined3d_stateblock_set_texture_stage_state().
378       d3d9: Handle stateblocks in d3d9_device_SetTextureStageState().
379       d3d8: Handle stateblocks in d3d8_device_SetTextureStageState().
380       quartz/filtergraph: Iterate filters directly in IMediaSeeking::SetPositions().
381       quartz/filtergraph: Store the current position and return it in IMediaSeeking::GetCurrentPosition().
382       quartz/filtergraph: Set the current position in IMediaFilter::Stop().
383       quartz/filtergraph: Pause the graph even if AM_SEEKING_NoFlush is used.
384       quartz/filtergraph: Clarify stream time tracking.
385       strmbase: Return S_FALSE from IBaseFilter::Pause() when performing asynchronous state change.
386       quartz/videorenderer: Get rid of hEvent.
387       strmbase: Introduce renderer_init_stream().
388       quartz/videorenderer: Use the renderer_init_stream() callback.
389       strmbase: Get rid of the "vtbl" parameter to strmbase_renderer_init().
390       ddraw: Track the primary stateblock state locally.
391       ddraw: Handle stateblocks in d3d_device7_SetRenderState().
392       ddraw: Handle stateblocks in d3d_device7_SetTextureStageState().
393       strmbase: Move strmbase_renderer_init() to avoid forward declarations.
394       strmbase: Get rid of the BaseRenderer typedef.
395       strmbase: Get rid of the BaseRendererFuncTable typedef.
396       strmbase: Rename the "pFuncsTable" field of struct strmbase_filter to "ops".
397       strmbase: Introduce filter state callbacks.
398       strmbase/transform: Use base filter state change methods.
399       advapi32/tests: Clean up tests for duplicate service names.
400       advapi32/tests: Accept another value for the default service pre-shutdown timeout.
401       advapi32/tests: Clean up double NotifyServiceStatusChange() tests.
402       comsvcs/tests: Increase the timeout in the implicit MTA test.
403       msctf/tests: Simplify ITfThreadMgrEventSink refcounting tests.
404       msctf/tests: Don't test calls to ITextStoreACP::GetStatus().
405       msctf/tests: Trace method calls more completely and only when WINETEST_DEBUG is set.
406       ole32/tests: Adjust timing in test_CoWaitForMultipleHandles().
407       gameux/tests: Get rid of registry value tests.
408       crypt32/tests: Clean up test_format_object().
409       strmbase/renderer: Use base filter state change methods.
410       strmbase: Pass a strmbase_pin pointer to QualityControlImpl_Create().
411       strmbase: Retrieve the filter clock from the pin pointer.
412       qcap/audiorecord: Use strmbase state change methods.
413       qedit/samplegrabber: Use strmbase state change methods.
414       d3d9: Release the recording stateblock before calling wined3d_device_reset().
415       d3d8: Reset the stateblock state before calling wined3d_device_reset().
416       ddraw: Reset the stateblock state before calling wined3d_device_reset().
417       wined3d: Introduce wined3d_stateblock_set_texture().
418       d3d9: Handle stateblocks in d3d9_device_SetTexture().
419       d3d8: Handle stateblocks in d3d8_device_SetTexture().
420       ddraw: Handle stateblocks in d3d_device7_SetTexture().
421       kernel32/tests: Fix some codepage tests under Windows 10.
422       wined3d: Introduce wined3d_stateblock_set_transform().
423       d3d9: Handle stateblocks in d3d9_device_SetTransform().
424       d3d8: Handle stateblocks in d3d8_device_SetTransform().
425       ddraw: Handle stateblocks in d3d_device7_SetTransform().
426       wined3d: Introduce wined3d_stateblock_set_clip_plane().
427       d3d9: Handle stateblocks in d3d9_device_SetClipPlane().
428       d3d8: Handle stateblocks in d3d8_device_SetClipPlane().
429       ddraw: Handle stateblocks in d3d_device7_SetClipPlane().
430       wined3d: Introduce wined3d_stateblock_set_material().
431       d3d9: Handle stateblocks in d3d9_device_SetMaterial().
432       d3d8: Handle stateblocks in d3d8_device_SetMaterial().
433       ddraw: Handle stateblocks in d3d_device7_SetMaterial().
434       quartz/tests: Relax some more timeouts.
435       qedit/mediadet: Check for failure from IEnumPins::Next().
437 Zhiyi Zhang (10):
438       gdi32: Support multiple monitors in D3DKMTOpenAdapterFromGdiDisplayName.
439       gdi32: Add D3DKMTSetVidPnSourceOwner and D3DKMTCheckVidPnExclusiveOwnership stubs.
440       winex11.drv: Implement X11DRV_D3DKMTSetVidPnSourceOwner.
441       winex11.drv: Implement X11DRV_D3DKMTCheckVidPnExclusiveOwnership.
442       dxgi: Implement dxgi_output_ReleaseOwnership().
443       dxgi: Implement dxgi_output_TakeOwnership().
444       winex11.drv: Call XFlush() right after XUngrabServer().
445       winex11.drv: Use underscore style for struct x11drv_display_device_handler.
446       winex11.drv: Retrieve virtual and primary monitor rectangles from SetupAPI.
447       winex11.drv: Handle display device events in the desktop thread.
450 Alexandre Julliard
451 julliard@winehq.org