The Wine development release 1.1.20 is now available.
What's new in this release (see below for details):
- Show a dialog on application crashes.
- Much improved OLE copy/paste support.
- Various listview improvements.
- More Direct3D code cleanups.
- Various bug fixes.
The source is available from the following locations:
Binary packages for various distributions will be available from:
You will find documentation on http://www.winehq.org/site/documentation
You can also get the current source directly from the git
repository. Check http://www.winehq.org/site/git for details.
Wine is available thanks to the work of many people. See the file
AUTHORS in the distribution for the complete list.
Bugs fixed in 1.1.20:
2221 Hyper Chem v7.5 doesn't open/save files
4464 d3dx9_*.dll are unimplemented
9084 Panzer General III SE pinkish text instead of transparent
9102 Panzer General III Scorched Earth in-game crash (memcpy)
9637 Switchball only shows a blank screen
10253 Fraps does not record videos or take a screenshot
11716 star wars battlefront crashes with sound enabled
12040 Stronghold 2 1.4: crash when starting the application
12057 Power! Estimator renders numerical cell text incorrectly
12393 adobe illustrator 10 crashed on startup
12560 Perfect World: Corrupt Bitmap Images
13563 Nestopia: crashes with enabled shaders
13820 Yahoo! Messenger 9.0 beta hangs on login
13825 Morrowind pagefaults when trying to run fullscreen with missing videos
14456 Diablo II hangs when it loses focus
14812 dsound bug causes games to crash
14970 everquest crashes in winmm
15081 Perfect World - Grey Characters
15088 Lotus Approach page faults on open dialog
15172 File Names with spaces seen as seperate files
15303 dragonshard crashes or presents a corurpted screen
15494 ddraw_test throws an exception when run
15557 GTA Trylogy can't install
15566 GTA 3 doesn't find DVD
15575 Word Pro table nubmers get reformatted
15603 Screen periodically erased in Starfleet Command II
15622 Everquest crashes
15630 Program LaTeXPiX crashes at startup
15764 Homeworld 2 Patch (homeworld2_update_en_10_11.exe) to v1.1: crash during setup
15881 Pharaoh - can't play on fullscreen
16613 A Vampyre Story Demo installer doesn't work
16989 Cobra 11 Nitro: Cars drawn as artifacts
17198 World Editor: Tree Component of Unit Editor doesn't (re)draw correctly
17397 Ventrilo 3.0.4 won't initialize GSM 6.10 codec stream
17478 Fix dpa warning from comctl32/listview.c
17498 winemaker fails on 64-bit systems
17528 3D Mark 2001 SE Dragothic: Textures not rendered on running humans
17774 Fable crashes on starting a new or existing game
17910 Black & White: Crashes in texture code at start
17984 Invalid handle for RegOpenKeyExA in win64 bit application
17987 Autocad toolbars mis-sized
17991 QueryPathOfRegTypeLib fails to locate typelib when (major.minor) = (0xffff.0xffff)
18007 Subtitle Workshop "Save as.." selection menu not appearing
18030 Images not show (or flickering) in old app
18076 SmartDraw.exe: unimplemented function gdiplus.dll.GdipBitmapSetResolution
18090 Watchtower Library no longer starts
18111 Powerhorse crashes
18114 rpcrt4.NdrDllCanUnloadNow: COM proxy/stub factory reference count eval incorrect (crashes Visual Studio 2005 on exit)
18125 Drawing problem in Wine
18150 Foobar2000 properties dialog is blank
18155 Approach crashes on File, Export
Changes since 1.1.19:
Alexandre Julliard (18):
c2man: Fix the array reference syntax and the return value regexps.
user32/tests: Fix a couple of test failures on Windows.
user32/tests: Fix a few sysparams tests on various Windows versions.
configure: Remove checks for headers that are no longer used.
jscript: Avoid size_t in printf width specifier.
ws2_32/tests: Avoid sizeof in traces.
kernel32: Make sure the string is properly terminated in QueryFullProcessImageNameW.
dbghelp: Add a few more 64-bit symbol functions.
imagehlp: Forward some more 64-bit functions to dbghelp.
winex11.drv: Don't give focus to a minimized window upon take focus.
include: Add defines for 32-bit dbghelp functions on 64-bit.
comctl32: Repaint comboex control upon WM_SETREDRAW, like other common controls do.
advapi32/tests: Fix a couple of test failures on Vista.
user32/tests: Fix a couple of dimension checks on W2k3 and Vista.
include: Fix the SYSTEM_CACHE_INFORMATION structure for Win64.
include: Fix the DDE structures for 64-bit.
user32: Fix the DDE service formatting for 64-bit.
user32/tests: Don't try to unpack or free invalid handles.
Andrew Nguyen (1):
gdiplus: Stub GdipBitmapSetResolution.
André Hentschel (9):
start: Correct German translation.
winemaker: Add -m32 flag to support winegcc-changes.
winemaker: Fix whitespace handling for libs.
winemaker: Fix wrong place for case-check.
winemaker: Parse include dirs from vcproj file.
winemaker: Remove unused function.
winemaker: Print version in Makefile header.
winemaker: Print all copyrights in banner.
winemaker: Canonicalize directory name if used as target name.
Aric Stewart (23):
msctf/test: Test enabling and disabling Language Profiles.
msctf/tests: Add framework for a TextService for testing.
msctf: Correct order of arguments to OnSetFocus sink call.
msctf: Release focused DocumentMgr on Deactivate and make sure to do a OnSetFocus Sink.
msctf: ITfDocumentMgr::GetBase returns the top if there is only one context pushed.
msctf: Correct index for being unable to pop last context. We need to leave one behind.
msctf: Add locking flags.
msctf: Helper functions for generating DWORD cookies.
msctf/tests: Setup test framework for ITfThreadMgrEventSink.
msctf/tests: Test activation and deactivation of a text service.
msctf/tests: Test DocumentMgr creation and Focus.
msctf/tests: Test ITfContext Push, Pop, GetTop and GetBase.
msctf/tests: Add ITextStoreACP interface for testing.
msctf: Make use of generated cookies in sinks to allow 64 bit compatibility.
msctf: Add ITfKeystrokeMgr framework to ThreadMgr.
msctf: Define ITfKeyEventSink.
msctf: Define the TF_MOD_* Constants.
msctf/tests: Framework for testing ITfKeystrokeMgr.
msctf/tests: Test ITfKeystrokeMgr::UnpreserveKey and ITfKeystrokeMgr::PreserveKey.
msctf/tests: Test ITfKeystrokeMgr::IsPreservedKey.
msctf/tests: Test framework for ITfKeyEventSink.
ole32: CoGetTreatAsClass should return S_FALSE if it cannot even find the key for the requested CLSID.
msctf/tests: Use ITfInputProcessorProfiles::GetCurrentLanguage to get gLangid.
Austin English (2):
wineps.drv: Fix a memory leak.
ole32: Rename a macro to prevent a conflict on NetBSD.
Brad Martin (1):
wined3d: Fix prototype for EnumAdapterModes.
Christian Costa (19):
quartz: Data may be incomplete at the end of file so do not assert if we have less data than expected.
amstream: Turn Initialize FIXME into a TRACE.
amstream: Initialize the stream in OpenFile if not done before.
amstream/tests: Beginning of tests.
amstream/tests: Fix crosstest build.
mciqtz32: Use opened state to avoid device to be closed several times.
mciqtz32: Fix some traces.
mciqtz32: Hook MCI_STOP.
mciqtz32: Show messages in hex as they are defines in headers.
amstream/tests: Improve render file test. Move OpenFile specific test into a separate test function.
winedump: When generating preamble, use 4 spaces instead of tabs. Remove extra break.
xmllite: Add stubbed dll for xmllite.
ddraw: Handle refcount of lights when interacting with viewport.
ddraw/tests: Add tests for refcount handling of light with viewport.
d3dxof: Accept longer string size.
mciqtz32: Remove all remaining tabs.
mciqtz32: Move MCIQTZ_mciGetOpenDev at the top and always use it.
mciqtz32: Make sure the device is valid before starting the play.
mciqtz32: Stop the device only after param and device checks are done.
Colin Finck (1):
mshtml: Fix the size passed to MultiByteToWideChar.
Damjan Jovanovic (1):
winemenubuilder: Build freedesktop MIME type list for later use.
Dan Kegel (1):
ntdll: Add missing valgrind hook in RtlAllocateHeap.
David Adam (4):
ddraw: Remove useless comments.
d3d8: Add tests for IDirect3D8Device_Reset.
d3d9: Add tests for IDirect3D9Device_Reset.
wined3d: SetDepthStencilSurface is always called when AutoDepthStencil is enabled.
Detlef Riekenberg (5):
oleaut32: VarCat must use localized names for VT_BOOL.
oleaut32/tests: Replace lstrcpyW and lstrcatW with memcpy to fix failures on win95.
msi/tests: Replace lstrcatW with memcpy to fix failures on win95.
winetest: Add support for --version, --help and /?.
winetest: Add option -x to extract all test.
Dmitry Kislyuk (1):
kernel32: Added GetPrivateProfileSection and GetPrivateProfileString tests for empty section scenario.
Dmitry Timoshkov (2):
oleaut32: Add some additional tests for QueryPathOfRegTypeLib, make them pass under Wine.
winedbg: Fix a typo in the comment.
Dylan Smith (1):
richedit: Null terminate streamed out rich text.
Florian Köberle (2):
comctl32/tests: Test expanding of a invisible sub tree.
comctl32: Fix expanding of invisible sub trees.
Francois Gouget (9):
wineesd.drv: Add a trailing '\n' to a WARN() trace.
dinput: Add a trailing '\n' to ERR() messages.
Assorted spelling fixes.
winapi: parse_c_declarations() is not used. Remove it.
winapi: Fix the parse_c_declaration() prototype and remove unused variables.
winapi: trampoline is not used so remove it.
winapi: Remove some dead code.
winapi: Fix the C-parser combined getter/setter prototypes.
wined3d: Avoid using an implicit value to set fogcoord to 0.0.
Frans Kool (8):
mshtml: Corrected Dutch translations.
wordpad: Fixed Dutch translations.
setupapi: Fixed Dutch translations.
reg: Fixed Dutch translations.
regedit: Fixed Dutch translations.
shell32: Fixed Dutch translations.
kernel32: Added Dutch translations.
crypt32: Corrected Dutch translations.
Ge van Geldorp (2):
secur32: Implement more GetUserNameEx() formats.
secur32/tests: Fix GetUserNameEx() tests.
Giuseppe Bilotta (1):
comctl32/toolbar: Fix trace info for TOOLBAR_InternalInsertButtonsT.
Hans Leidekker (13):
msi: Support setting summary information by importing a _SummaryInformation table.
user32: By default, return all zeroes in the first half of the keyboard layout name.
winex11.drv: Set HKCU\Keyboard Layout\Preload key.
advapi32: Fix buffer size query for CreateWellKnownSid.
msvcrt: Implement ___lc_codepage_func, ___lc_collate_cp_func and ___lc_handle_func.
programs: Add stub termsv.exe.
msi: Fix a double free.
msi: Fix another double free.
server: Add requests to set and retrieve default dacl.
ntdll: Implement NtQuery/SetInformationToken(TokenDefaultDacl).
kernel32: Improve GetVolumePathName stub.
wininet: Fix parsing of cookies with attributes.
wininet: Replace any existing cookie header.
Henri Verbeet (35):
wined3d: Pass a struct wined3d_shader_dst_param to shader_arb_get_write_mask().
wined3d: Get rid of the "token" field from struct wined3d_shader_dst_param.
wined3d: Don't die if a vertex shader has samplers.
wined3d: Group instruction context information together in struct wined3d_shader_context.
wined3d: Introduce struct wined3d_shader_src_param.
wined3d: Store the register type in struct wined3d_shader_src_param.
wined3d: Store the register index in struct wined3d_shader_src_param.
wined3d: Store the source modifiers in struct wined3d_shader_src_param.
wined3d: Create a relative addressing token for 1.x shaders in the frontend.
wined3d: Store the source relative addressing token as a struct wined3d_shader_src_param.
wined3d: Store the destination relative addressing token as a struct wined3d_shader_src_param.
wined3d: Pass a struct wined3d_shader_src_param to shader_glsl_get_register_name() for the relative addressing token.
wined3d: Pass a struct wined3d_shader_src_param to shader_glsl_add_src_param().
wined3d: Simplify replicating the .x swizzle in shader_hw_mov().
wined3d: Pass a struct wined3d_shader_src_param to shader_arb_add_src_param().
wined3d: Pass a struct wined3d_shader_src_param to pshader_gen_input_modifier_line().
wined3d: Explicitly pass the source modifier to shader_glsl_gen_modifier().
wined3d: Store the source swizzle in struct wined3d_shader_src_param.
wined3d: Add a separate function for converting swizzles to strings.
wined3d: Pass a struct wined3d_shader_src_param to shader_glsl_get_swizzle().
wined3d: Pass a struct wined3d_shader_src_param to shader_arb_get_swizzle().
wined3d: Get rid of the token field from struct wined3d_shader_src_param.
wined3d: Get rid of the WINED3DVS_* swizzle constants.
wined3d: Handle the swizzle shift in the frontend rather than the backend.
wined3d: Handle the source modifier shift in the frontend rather than the backend.
wined3d: Handle the destination modifier shift in the frontend rather than the backend.
wined3d: Move some frontend specfic code to baseshader.c.
wined3d: Move frontend specfic constants to baseshader.c.
wined3d: Downgrade an ERR to a WARN.
wined3d: Get rid of the shared_handle parameter.
wined3d: Handle the opcode specific control shift in the frontend rather than the backend.
wined3d: Use a more reasonable limit for the number of mipmap levels.
wined3d: The first shader token should be the version token.
wined3d: Add a function to read an opcode from SM1-3 bytecode.
wined3d: Use shader_sm1_read_opcode() in shader_get_registers_used().
Huw Davies (50):
ole32: Store a cached version of the local data object's enumeration.
ole32: Change helper function to return the matching entry.
ole32: Rewrite the clipboard window's wndproc to use the cached enum data.
ole32: Add support for rendering stream data to the clipboard.
ole32: Make all formats available to the clipboard.
ole32: Add support for rendering storage data to the clipboard.
ole32: Use helper function to duplicate global memory.
ole32: Unicodify window creation. Don't register the class as global.
ole32: Add a helper function to return the ole clipboard structure.
ole32: Add a helper function to set and release the source IDataObject.
ole32: Add a function to return (and possibly create) the clipboard's window.
ole32: Don't pass a window if we're reading from the clipboard.
ole32: Rename a variable.
ole32: Store the marshalled IDataObject in a window property of the clipboard window.
ole32: If there's a current data object on the ole clipboard GetData should use it.
ole32/tests: Tests that show the consumer data object isn't a singleton.
ole32: The consumer data object is not a singleton, but reflects the state of the clipboard when it was acquired.
ole32: Now that the consumer side of the clipboard separated from the main clipboard object, simplify the initialization code.
ole32: After a call to GetData the consumer should hold a ref on the source data object.
ole32/tests: Add a few more reference count tests.
ole32: Add support for getting global handle objects from a flushed clipboard.
ole32: Add support for getting stream based objects from a flushed clipboard.
ole32: Add support for getting storage based objects from a flushed clipboard.
ole32: OleFlushClipboard should render all formats to the clipboard.
ole32: Try global and stream types if the requested types don't match the source.
ole32/tests: Tests for a flushed clipboard.
wineps.drv: Fix compile error.
winex11.drv: Fix ordering of synthesized text formats.
winex11.drv: Fix typo so that emf -> mfpict synthesis works.
ole32: Make get_priv_data return target device ptrs (rather than offsets) and add a couple of helper functions to simplify this process.
ole32: Check that the target devices match.
ole32: Don't set cf_dataobject if we're clearing the clipboard.
ole32: Add support for enumerating non-ole clipboard formats.
user32/tests: Fix tests on win9x.
ole32/tests: OleGetClipboard doesn't return the same object under win9x, winme and nt4.
ole32/tests: win9x, winme and nt4 ignore the target device.
ole32/tests: win9x and winme don't have CF_UNICODETEXT.
ole32/tests: win64 sets the lsb of the final DWORD in the ole private data header.
ole32/tests: win9x and winme don't enumerate duplicated cfFormats.
ole32/tests: Add some tests to exercise the enumerator.
ole32: Improve the TRACEs by printing the fmtetc contents.
ole32/tests: Rename variable to avoid a conflict on some systems.
ole32/tests: For win9x and winme the size of the data on the clipboard may be larger than expected.
ole32: Add a stub for OleCreateFromDataEx.
ole32: Register a few more clipboard formats and make them have global scope.
ole32: Rewrite OleQueryCreateFromData so it compares clipboard format ids rather than strings and be sure to free the enumerator.
ole32: Expose the marshalled data on the clipboard rather than as a window prop so that other processes can actually read it.
ole32: Fix a couple of comments.
winex11.drv: Print clipboard formats in hex.
ole32/tests: Improve the traces in the test.
Igor Tarasov (3):
comctl32: Fix regression caused by 2d751ee56afced908d0788b936fa4aac1b29f1a1.
comctl32: Fix typo in TOOLBAR_SetButtonSize code.
comctl32: TOOLBAR_SetImageList should recalculate toolbar only if it is necessary.
Jacek Caban (1):
mshtml: Added IPersistHistory stub implementation.
Jeff Latimer (3):
ws2_32: WSAAddressToStringA should return length of ANSI address string and should include the trailing null.
ws2_32: WSAAddressToStringW should return length of unicode address string should and include the trailing null.
include: Bring in6_addr into line with the MS definition.
Jesse Allen (2):
dsound: Allow a special cbSize case in CreateSoundBuffer.
dsound: Fix test for some windows versions.
Juan Lang (1):
crypt32: Fix a test failure on Windows 98.
Kai Blin (2):
secur32: Work around ntlm_auth in Samba 3.0.28a being broken for cached credentials.
sxs: Implement a stub CreateAssemblyCache to make Publish or Perish install.
Ken Sharp (1):
winedbg: Correct slight typo in winedbg dialog.
Ken Thomases (5):
winecoreaudio: Eliminate some unnecessary code.
winecoreaudio: Avoid potential deadlock in wodOpen.
winecoreaudio: Avoid a race between closing and opening the waveOut device.
winecoreaudio: For waveOut, don't use STOPPED state; it's redundant.
winecoreaudio: Avoid a race between closing and opening the waveIn device.
Konstantin Kondratyuk (1):
fonts: Add Kazakhstan's symbols into tahoma.
Marcus Meissner (1):
amstream/tests: Handle directdraw not being created (Coverity 920).
Michael Stefaniuc (11):
opengl32: Remove superfluous pointer casts.
mshtml/tests: Replace long with LONG.
riched20/tests: Use better types than long.
ws2_32: Use better types for some variables.
msi: Remove superfluous cast of a MSIHANDLE in a TRACE().
msi/tests: Replace long with LONG.
comdlg32: Fix the Slovak translation.
wordpad: "Fix" the Turkish translation.
rpcrt4: Replace some usage of the long type.
winedbg: Remove some superfluous pointer casts.
user32/tests: Don't use the long type.
Mikołaj Zalewski (1):
winedbg: Add a crash dialog for --auto mode.
Nicolas Le Cam (7):
msi/tests: Test MsiRecordGetString on null and empty strings.
msi: Fix buffer length value returned by MSI_RecordGetStringW on null and empty strings.
wininet/tests: Fix HttpSendRequestW test on IE5.
msi: Enfore use of GetFileAttributes return value.
msi/tests: Add empty dir test for the DrLocator part of the AppSearch action.
msi: Fix ACTION_AppSearchDr on empty path.
msi/tests: Fix package test when run on a different drive than C:\.
Nikolay Sivov (19):
comctl32/listview: Fix selection handling in LVM_SORTITEMS (with some tests).
comctl32/listview: Fix a regression caused by 59148d0bb549ff8690f15f14571a715e3fdd43a5.
comctl32/listview: Fix some comment typos.
comctl32/listview: Implemented LVM_SORTITEMSEX.
comctl32/listview: Add a ListView_GetTextBkColor macro.
comctl32/listview: Slightly enlarge rectangle when drawing checkbox.
comctl32/listview: Switching to/from LVS_OWNERDATA isn't allowed after creation.
comctl32/listview: Fix a regression caused by 9c1a0e468f5cfbe9d863852ed5a42390f2cbfeb4.
comctl32/listview: Some tests for LVS_SINGLESEL switchover.
fonts: Fix a typo in copyright text.
comctl32/listview: LVM_SETITEM is unsupported on LVS_OWNERDATA.
comctl32/listview: Add a TRACE(..) to LISTVIEW_CreateHeader.
comctl32/listview: Header should be created when LVS_EX_HEADERDRAGDROP set.
comctl32/listview: Additional tests for LVM_GETSUBITEMRECT.
comctl32/listview: Partial fix for LVM_GETSUBITEMRECT for item == -1.
comctl32/tests: Remove tests failing on most platforms.
comctl32/tests: Existing items aren't resorted after LVS_SORTASCENDING added.
comctl32/tests: Tests for LVM_GETCOLUMNORDERARRAY: it actually uses HDM_GETORDERARRAY.
comctl32/listview: Fix LVM_GETCOLUMNORDERARRAY passing message to header.
Paul TBBle Hampson (1):
dinput: Add missing newline to trace message.
Paul Vriens (15):
usp10/tests: Skip some tests on WinME.
shell32/tests: Fix some test failures on Vista.
gdi32/tests: Skip several tests on Win9x.
rpcrt4: Fix NdrDllCanUnloadNow.
shell32/tests: Fix some test failures on NT4.
gdi32/tests: Fix a test failure on NT4.
shell32/tests: Fix a test failure on Win95 and NT4.
include: Add missing GdipGetLogFontA definition.
gdiplus: Return the correct result in GdipCreateFontFromLogfontA.
gdiplus: Convert lfFaceName from W to A, not the other way around.
gdiplus/tests: Fix test failures on Win98 by using A-functions.
shell32/tests: Fix some test failures on Win9x and NT4.
shell32/tests: Fix a test failure on Win98.
setupapi/tests: Fix a test failure on Win98.
gdiplus/tests: Fix a test failure on Win98.
Peter Schauer (1):
comctl32/listview: Fix warning from DPA_GetPtr.
Reece Dunn (2):
winecfg: Fix the size of the application static text in Spanish.
winecfg: Fix the size of the application static text in Japanese.
Rein Klazes (5):
msvcrt: Correct implementation of _ecvt() with tests.
user32: When repainting a static control with SS_BITMAP style, do not erase the background if there is no valid bitmap to paint.
msvcrt: Do not set the windows version to 0.5.
msvcrt/tests: Add some tests for strtok().
comdlg32: Fix a crash in LookIn combo box WM_COMMAND message handler.
Roderick Colenbrander (3):
wined3d: Update Nvidia driver version information.
wined3d: Report the driver description as reported by the Windows drivers when a device string is entered in our device table.
opengl: Add WGL_EXT_pixel_format_packed_float support.
Stefan Dösinger (5):
wined3d: Add a more formal framework for driver quirks.
wined3d: Move the generic mac glsl uniform fixup to the quirk table.
wined3d: Move the remaining quirks into the quirk table.
wined3d: Reserve additional GLSL constants on some drivers.
wined3d: Merge match_apple and implementation_is_apple.
Tobias Jakobi (2):
wined3d: Add newline to fixme.
wined3d: Rename some NP2 fixup variables and update comments.
Vincent Povirk (2):
mciavi32: Remove unnecessary string buffers in MCIAVI_mciSet.
shell32: Implement SHGetNewLinkInfo[AW].
Vitaliy Margolen (5):
dinput: Make EnumDevices and GetObjectInfo consistent about GUIDs.
dinput: Remove redundant stuff.
dinput: Make props array a part of the generic joystick struct.
dinput: Convert evdev joystick to new base class.
dinput: Use more friendly name for the joystick than its device path.
Łukasz Wojniłowicz (2):
kernel32: Added Polish translations.
cmd: Updated Polish translations.