This is release 0.9.32 of Wine, a free implementation of Windows on Unix.
What's new in this release: - Many Direct3D fixes and performance improvements. - Several new features in the builtin cmd.exe. - Improvements to HTML help support. - Lots of bug fixes.
Because of lags created by using mirrors, this message may reach you before the release is available at the public sites. The sources will be available from the following locations:
http://ibiblio.org/pub/linux/system/emulators/wine/wine-0.9.32.tar.bz2 http://prdownloads.sourceforge.net/wine/wine-0.9.32.tar.bz2
Binary packages for various distributions will be available from:
http://www.winehq.org/site/download
You will find documentation on
http://www.winehq.org/site/documentation
You can also get the current source directly from the git or CVS repositories. Check respectively http://www.winehq.org/site/git or http://www.winehq.org/site/cvs for details.
If you fix something, please submit a patch; instructions on how to do this can be found at http://www.winehq.org/site/sending_patches
Wine is available thanks to the work of many people. See the file AUTHORS in the distribution for the complete list.
----------------------------------------------------------------
Changes since 0.9.31:
Alessandro Pignotti (1): dplay: Directplay should initialize session Guid, with conformance tests.
Alex Arazi (1): comctl32: More status bar tests.
Alexander Farber (2): cmd: Fixed 3 buffer overflows when fetching environment variables. cmd: Support /-Y and COPYCMD environment variable in the "copy" builtin.
Alexander Nicolaysen Sørnes (8): wordpad: Make toolbar more like native. wordpad: Don't create maximized window. wordpad: Add paste support. wordpad: Make edit menu more like native. wordpad: Add open file dialogue. wordpad: Set default font to 'Times New Roman', like native does. wordpad: Small cosmetic fixes. wordpad: Add text alignment buttons.
Alexandre Julliard (11): widl: 'control' is an attribute not a keyword. server: Added support for the PM_QS_* flags in PeekMessage. cmd: Remove execute permission on source files. gdi32: Make DC creation fail if we cannot allocate the visible region. advapi32: Avoid slashes and backslashes in user names. widl: Add missing '\n' on error message. advapi32: Reimplement QueryServiceConfigA on top of QueryServiceConfigW. advapi32: Create the service manager registry key if needed. cmd: Fix silly local variables indentation that breaks diff -p. wine/test: Print the official name of the test in summary. makedep: Fixed string comparison against the source tree path
Anatoly Lyutin (2): wineconsole: Added range of value for an up-down control. wineconsole: Use MAKELPARM instead of MAKELONG.
Andrew Talbot (13): mciseq: Constify a variable. msadp32.acm: Constify some variables. msi: Constify some variables. msg711.acm: Constify some variables. netapi32: Constify a variable. msvfw32: Constify a variable. odbc32: Constify some variables. serialui: Constify a variable. version: Constify a variable. version: Constify a variable. wineps.drv: Constify some variables. wininet: Constify some variables. winspool.drv: Eliminate some W-to-A cross calls.
Aric Stewart (11): imm32: Implement stubs for ImmGetImeMenuItemsA and ImmGetImeMenuItemsW. comctl32: Implement LVM_SETUNICODEFORMAT. shell32: IShellLink::GetIDList fix. imm32: Implement GSC_RESULTCLAUSE. imm32: Corrections to the message ordering for IME input. imm32: Properly send WM_IME_NOTIFY using SendMessage. gdi32: Allow for loading of multibyte font name replacements. gdi32: Select correct replacement from ttc file. kernel32: Allow for non base-10 int values in ini file. winex11.drv: Make sure keyboard state is up to date before processing GetAsyncKeyState. gdi32: Don't fail replacement on no localized family name.
Bang Jun-Young (2): README: Fully revise Korean translation. notepad: Fully revise Korean translation.
Chris Robinson (10): quartz: Stop and free the dsound buffer when needed. quartz: Don't use uninitialized memory in ACMWrapper. quartz: Check for the proper ID when querying for the IBasicAudio interface. quartz: Make sure the splitter has output plugins before trying to render them. quartz: Return proper error codes from GraphBuilder_RenderFile. quartz: Better handle error conditions when connections fail. quartz: Add IMediaPosition interface and stubs. quartz: Initialize a pointer to NULL for the case of no enumerated filters. quartz: Don't release filters when they connect. quartz: Implement IUnknown methods for IMediaPosition.
Christian Costa (1): winealsa: Recognize alsa application ports as generic midi ports.
Clinton Stimpson (1): user32: Add another test for GetUpdateRect().
Detlef Riekenberg (12): regedit: Enable WM_RBUTTONDOWN to set the splitbar. localspl: Implement GetTransmissionRetryTimeout for XcvDataPort. localspl/tests: Add tests for XcvDataPort_GetTransmissionRetryTimeout. localspl: Implement ConfigureLPTPortCommandOK for XcvDataPort. localspl/tests: Add tests for XcvDataPort_ConfigureLPTPortCommandOK. localspl: Implement GetDefaultCommConfig for XcvDataPort. localspl: Implement SetDefaultCommConfig for XcvDataPort. kernel32: Display correct parameters in comm traces. serialui: Fix return type for drvGetDefaultCommConfig. serialui/tests: Add initial tests. serialui: Use RS232 as default ProviderSubType. kernel32: Remove duplicate code (use serialui instead).
Dmitry Timoshkov (13): gdi32: Move get_glyph_indices near its caller test_font_charset. msvcrt: Pack the structures on a 8-byte boundary like in PSDK. user32: Add a test for DefDlgProc(WM_SETFOCUS), make the test pass under Wine. user32: Add traces to the cursor APIs. user32: Add a CreateIcon test, make it pass under Wine. winex11.drv: Clients should pass only KeyPress events to XmbLookupString. gdi32: Avoid a not necessary CreateDC call. dlls: Add wing32 dll. comdlg32: Synchronize ChooseColor dialog templates with the English one. imm32: Simplify ImmInternalSendIMENotify. user32: Simplify height calculation. winetest: Set correct WINETEST_PLATFORM when running under Wine. user32: Fix a test failure when running under Windows 2003.
Eric Pouech (30): dbghelp: MiniDumpWriteDump called from exception handler. dbghelp: Added helper to define the module's name. dbghelp: Added an ANSI copy of the module name (useful for next patches). dbghelp: Rewrote the loaded modules enumeration so that Unicode version is the core. dbghelp: Make the module info functions ready for the Unicode move. dbghelp: Prepare module loading functions to be switched to Unicode module storage. dbghelp: .gnu_link support: rewrote helper functions for better later unicodification. dbghelp: Now storing module information in Unicode form. dbghelp: Implemented FindExecutableImage[W]. dbghelp: Move PE module loading to Unicode. dbghelp: Moved ELF module loading interfaces to Unicode. dbghelp: Added module_get_type_by_name in Unicode form and keep the ANSI form for compatibility. dbghelp: Implemented SymMatchFileNameW. dbghelp: Implemented EnumDirTreeW. dbghelp: Implemented SearchTreeForFileW. dbghelp: Implemented SymFindFileInPathW. dbghelp: Get rid of temporary module_get_type_by_nameA. dbghelp: Moved the internals for registered callback to Unicode. dbghelp: A few fixes related to Unicode translation. winedbg: Some enhancements by using Unicode flavors. dbghelp: Now storing module internal info for minidumps in Unicode. dbghelp: Make elf_enum_modules a Unicode function. dbghelp: Move elf_fetch_file_info to Unicode. dbghelp: Now moving the ELF loading code to Unicode. dbghelp: Added helper to map a Unicode file. dbghelp: Now load the .gnu_debuglink file using Unicode search paths. dbghelp: Merge the A/W of elf_map_file into a single one. dbghelp: Rewrote the ELF section mapper for better data encapsulation. dbghelp: Allow to add an alternate file_map for an ELF file (where to look for its debug information). dbghelp: Handle the .gnu_debuglink files with the newly added alternate mechanism.
Fabian Bieler (1): user32: Do not call NULL message callback.
Felix Nawothnig (2): comctl32: Add listview WM_PAINT message sequence tests. comctl32: Update header window in listview WM_PAINT handler.
Francois Gouget (21): advapi32: Update win32.api to fix the winapi_check warnings. ole32: Better match the PSDK types and fix the winapi_check warnings. winapi_check: Update win32.api to fix the winapi_check warnings. winapi_check: Fix handling of the 'longlong' arguments. winapi: Remove useless 'if (0)' statements. winapi: Update and simplify file_skip() to match the current sources. winapi_check: Clarify a pair of error messages. winapi_check: We no longer have dlls in nested sub-directories. winapi_check: gdi32.dll and gdi.exe have some extra sources in subdirectories. wininet: Move a bunch of misplaced API documentation. wininet/tests: Dynamically load some functions so the test runs on Windows 98. wininet/tests: Tell the user which ftp server we're using for the tests so he can try to connect to it manually in case of trouble. Assorted spelling fixes. wininet/tests: Fix some tests so they succeed on Windows 98. wine.inf: Update the timezone information. Use the SW_XXX constants when calling ShowWindow(). wine.inf: Fix the 'Pacific Standard Time' display name to match the CLDR. winex11.drv: Catch and report screen resolution change errors. user32/tests: Fix the ChangeDisplaySettingsEx() test so it succeeds on NT4. ddraw/tests: There is no unnamed union in D3DLIGHT7. ddraw/tests: Fix compilation on systems that don't support nameless unions.
H. Verbeet (6): d3d9: Free the vertex declaration elements. wined3d: Fix matching WINED3DDECLUSAGE_POSITION against WINED3DDECLUSAGE_POSITIONT. wined3d: Boolean constants use up only a single uniform each. wined3d: Add some hash table code. wined3d: Store GLSL programs in a hash table rather than a linked list. wined3d: Store multiple constant indices per list entry.
Hans Leidekker (12): kernel32: Add a stub implementation for FindFirstVolumeMountPoint{A, W}. setupapi: Add stub implementations for SetupDiGetINFClass and SetupSetSourceList. usp10: Implement ScriptGetLogicalWidths. snmpapi: Add a missing memcpy. netapi32: Add a stub implementation for NetShareDel. Improve the stub for NetUserGetLocalGroups. msxml3: Stub out some more getters and setters of IXMLDOMDocument. wininet: Don't discard the extra info part of a URL in InternetOpenUrl. userenv: Implement ExpandEnvironmentStringsForUser{A,W}. setupapi: Implement SetupCopyOEMInf{A,W}. setupapi: Always return an empty list from SetupDiGetClassDevs. ws2_32: Handle NULL argument in inet_addr. gdi32: Implement GetFontUnicodeRanges.
Huw Davies (6): oleaut32: Fix a TypeAttr leak. msxml3: Convert the domdoc object to use the IXMLDOMDocument2 interface. msxml3: Register schema cache classes. msxml3: Add a schema cache object. msxml3: Implement {get,putref}_schemas. wineps.drv: Many MacOSX generated ppd files don't include a *ColorDevice line. Treat these as if they were colour.
Jacek Caban (42): shdocvw: Fix module ref counting. itss: Fix opening streams with back slashes. itss: Fix handling URLs with back slashes and escaped URLs. itss: Added test of paths with back slashes and escaped URLs. itss: Added IInternetProtocolInfo interface stub implementation. itss: Added ParseUrl implementation. itss: Added CombineUrl implementation. urlmon: Check if protocol object implements IInternetProtocolInfo interface. hhctrl.ocx: Merge chm.h and webbrowser.h to hhctrl.h. hhctrl.ocx: Declare strdupAtoW in hhctrl.h and use it instead of duplicated *ANSIToUnicode. hhctrl.ocx: Move DllMain to hhctrl.c. hhctrl.ocx: Use wrappers of memory allocation functions. hhctrl.ocx: Rewrite reading strings from #STRINGS section. hhctrl.ocx: Use hhctrl.ocx's HINSTANCE. hhctrl.ocx: Move HH_OpenCHM implementation to HH_Open. hhctrl.ocx: Handle memory allocation in OpenCHM and CloseCHM. hhctrl.ocx: Added beginning #SYSTEM parsing code. hhctrl.ocx: Move hhctrl_hinstance to hhctrl.h. hhctrl.ocx: Store whole HH_WINTYPEW struct in HHInfo, not its pointer. hhctrl.ocx: Merge WBInfo to HHInfo. hhctrl.ocx: Fixed releasing web browser object. hhctrl.ocx: Move more code from doWinMain. hhctrl.ocx: Move doWinMain to hhctrl.c. hhctrl.ocx: Remove redundant casts. hhctrl.ocx: Added DllGetClassObject stub implementation. hhctrl.ocx: Clean up Help_WndProc. hhctrl.ocx: Release HHInfo on WM_CLOSE message. hhctrl.ocx: Don't use doWinMain in HtmlHelpW. hhctrl.ocx: Call PostQuitMessage only in hh.exe process. hhctrl.ocx: Use HtmlHelpA in doWinMain. hhctrl.ocx: Added HH_HELP_CONTEXT implementation. hhctrl.ocx: Resize tab control in Child's WM_SIZE handler. hhctrl.ocx: Added code for handling tabs. hhctrl.ocx: Added content tab window. hhctrl.ocx: Added hhc parser. hhctrl.ocx: Fill content tree. hhctrl.ocx: Added handling of topic selection. shdocvw: Remove no longer used resources. hhctrl.ocx: Store full chm paths to solve problems with relative paths. urlmon: Fix FindMimeFromData tests on IE7. mshtml: Always read data in OnDataAvailable. mshtml: Added more tests.
James Hawkins (6): msi: Cleanup the dialog event subscriptions when destroying the dialog. msi: Free the custom action data after the thread function executes. msi: Check for a NULL text entry, as it can be blank in the VolumeCostList control. msi: Add tests for using markers in SELECT clauses. msi: Overwrite an existing read-only file when copying the install file. comctl32: Add message ids to allow multi-window test sequences.
Jan Zerebecki (6): cmd: Remove redundant const. winex11.drv: Set the refresh rate for NoRes to 60 instead of 0. wined3d: Make CreateFakeGLContext thread safe. wined3d: replace #ifdef with if() for DEBUG_SINGLE_MODE. comctl32: Add DebugInfo to critical section. winex11.drv: Change virtual desktop refresh rate from 0 to 60.
Jason Edmeades (24): cmd.exe: Add "if defined ..." support. cmd.exe: Support exit [/b] returncode. cmd.exe: Add support for %*. cmd.exe: Support :EOF in goto labels. cmd.exe: Add ~ modifiers for %0-9. cmd.exe: Support PATH= as a valid command. cmd.exe: Support return code if fail to launch program. cmd.exe: Add support for %ERRORLEVEL% in both batch and cmd line. cmd.exe: Add support for env vars DATE, TIME, CD. cmd.exe: Add pushd and popd. cmd.exe: Add support for call :label and goto :label. cmd.exe: Unify parsing and expansion. cmd.exe: Add %random% special name support. cmd.exe: Add special SET modifiers. cmd.exe: Allow special named env vars to be modified. cmd.exe: Locate programs more correctly. cmd.exe: Add rd /s support. cmd.exe: Make 'set t' show all vars starting with 't'. cmd.exe: Add prompt for rd /s. cmd.exe: Prompt during del *.* and del *. cmd.exe: Support del /p. cmd.exe: Support del /f. cmd.exe: Support del /a[:]. cmd.exe: Fix parameter parsing returns.
Jeff Latimer (4): ntdll: Framework for NtCreateMailslotFile tests. ntdll: Check for passing a NULL handle to NtCreateMailslotFile and add a test. ntdll: Set default timeout in NtCreateMailslotFile if parameter is NULL. ntdll: Test object attributes in NtCreateMailslotFile.
Kanit Therdsteerasukdi (1): comctl32: datetime: Initial tests for date and time picker.
Ken Thomases (4): winex11.drv: Pass correct coords into X11DRV_InternalFloodFill. winspool.drv: Use exec() and _exit() instead of system() and exit(). gdi32: Use exec() and _exit() instead of system() and exit(). wininet: Use "ping -c 1" instead of "ping -w 1" for InternetCheckConnection.
Kovács András (1): winuser.h: Declare some raw input related structures.
Lei Zhang (6): comctl32: Move up-down msg seq test functions into msg.c. regedit: Correctly parse key name containing ']'. regedit: Updated English resources to remove shortcut conflicts. regedit: Removed dead code from regproc.c. regedit: Allow entering - for a key in a .reg file to delete that key. regedit: Correctly parse key name containing ']' when deleting/exporting.
Maarten Lankhorst (4): dsound: Add some comments from earlier patch that makes code a little better understandable. dsound: Use an inline for ring buffer pointer difference calculation. winealsa: Fix typo. winealsa: Remove usage of uninitialised variable.
Marcus Meissner (10): winex11.drv: Small fixes. winedump: Added a missing free(). comctl32: Fixed new header test. dbghelp: Return when not finding the name. shell32/tests: Fixed potential overflow. shlwapi: Fix size passed to MultiByteToWideChar. configure: Generate stand alone AC_CONFIG_FILES() lines. uxtheme: Fixed wrong index in draw.c. mlang/tests: Protect from 1 byte static buffer overflow. netapi32: Fixed array overflow (spotted by Coverity).
Mikołaj Zalewski (10): comctl32: rebar: Rewrite the layout code. comctl32: rebar: Test and fix the WM_SIZE handler and REBAR_ForceResize. comctl32: rebar: Store the coordinates of infoPtr->calcSize swapped for CCS_VERT. comctl32: rebar: Store the oldSize as a local variable. comctl32: listview: Set the style in WM_CREATE. comctl32: rebar: Test the RBN_HEIGHTCHANGE notify and do some fixes. comctl32: rebar: WM_SETFONT should send a RBN_HEIGHTCHANGE if necessary. comctl32: rebar: Remove the not needed BANDS_NEED_LAYOUT flag. comctl32: rebar tests: Support different window border width. comctl32: header tests: Support different window border width.
Misha Koshelev (8): oleview: Respect size of array ITypeInfo_GetNames returns. oleview: Account for unnamed right hand side parameter of propput. oleview: Report default values. oleview: Properly support enumerations. oleview: Add forgotten newlines to forward declarations. oleview: Make optional flag "optional" not "opt.". oleview: Add safearray type. oleview: Mimick native treeview display of enumerations.
Paul Vriens (7): wininet/ftp.c: Fix some returned error codes. wininet/ftp.c: Fix some returned error codes. wininet/ftp.c: Fix some typos. wininet/tests: Add a few more tests. wininet/tests: Add another test. wininet/ftp: Let CreateFile deal with last error. advapi32/tests: Make use of skip.
Peter Oberndorfer (2): ntdll/tests: Add a debugger around the exceptions. ntdll: Extend debugger tests.
Pierre d'Herbemont (1): winex11.drv: Check the valid rects after the set_window_pos wineserver call.
Rob Shearman (25): include: Add macro for ListView_GetOrigin to commctrl.h. comctl32: Don't free user32 objects with a gdi32 function in imagelist test. ole32: Make an error message more useful by printing the returned error code. kernel32: Don't run the CreateRemoteThread tests if the child process isn't mapped at the same address as the parent process. oleaut32: Fix IFont::AddRefHFont and IFont::ReleaseRefHFont. oleaut32: Re-arrange the position of functions and vtables in olefont.c to avoid forward-declarations. rpcrt4: Add documentation for the I_Rpc* RPC message functions. rpcrt4: Fix a memory leak in I_RpcSendReceive caused by I_RpcReceive overwriting pMsg->Buffer. server: Check object's security when creating handles. server: Add get_token_impersonation_level server call for retrieving the impersonation level from a token. dbghelp: ImageName is usually blank, so print LoadedImageName in elf_load_debug_info_map. wininet: Fix the case of partial SSL reads from the peek buffer. kernel32: Fix an off-by-one error in GetComputerNameExA/W. netapi32: Add a stub for NetUserChangePassword. kernel32: Fix crash in dns_gethostbyname. ole32: Add tests for default handler creation and handler marshaling. ole32: Use IsEqualIID instead of memcmp in HGLOBALLockBytesImpl_QueryInterface. libwine: Eliminate duplicate function implementations in string.c ole32: The stream returned by StgStreamImpl_Clone should have one reference, so call AddRef before returning. widl: Print EXPR_NUM expresssions as unsigned to avoid printing an extra negative sign when lval is large. user32: Send WM_GETTEXT to get the window caption when drawing the nonclient caption bar. rpcrt4: Set TCP_NODELAY on the socket for the ncacn_ip_tcp transport to reduce latency. secur32: SealMessage and UnsealMessage are aliases of EncryptMessage and DecryptMessage respectively. schannel: Add new schannel dll that mostly forwards to secur32. rpcrt4: Use IPPROTO_TCP for SOL_TCP if SOL_TCP isn't defined.
Roderick Colenbrander (1): opengl32: Add new extensions.
Rok Mandeljc (1): include/d3d9types.h: Remove Size from D3DVOLUME_DESC.
Samuel Lidén Borell (1): comctl32: Use mask value in COMBOEX_GetItemA too.
Stefan Dösinger (44): wined3d: Remove an outdated TODO comment. wined3d: Visual test framework. wined3d: Lighting is calculated for vertices without normals. ddraw: SetClipper refcounting fix. ddraw: Fix a leak in a test. ddraw: Creating surfaces with old interfaces doesn't addref. ddraw: Test and fix IDirectDrawSurfaceX::GetDDInterface. wined3d: Pretend to support event queries. wined3d: Only scream about unsupported vertex blending when it is used. wined3d: Activate a different context if the active render target is destroyed. kernel32: Add a CheckRemoteDebuggerPresent stub. wined3d: Check volume texture creation errors. wined3d/d3d8: Move todo about sw vp usage to d3d8. wined3d: Remove stream flags from GetStreamSource. wined3d: Fix d3d8/9 style palettes. wined3d: Remove IWineD3DDevice::EnumDisplayModes. wined3d: Misc comment updates. wined3d: No bounds checking is done on sampler / texture numbers. wined3d: Move the scissor rectangle to the state table. wined3d: Use VBOs for index buffers. wined3d: With FVFs only one stream is used. wined3d: Do not print the fixed / unfixed vertices warning with shaders. wined3d: Light parameter fixes. wined3d: Floating point shader constant setting. wined3d: IWineD3DDevice::Clear fixes. wined3d: Clean up sampler usage in UpdateSurface. wined3d: Index buffer fixes. wined3d: Use CopyRect / EqualRect. wined3d: Remove dead code from drawprim.c. wined3d: Do not use glMapBuffer in ProcessVertices. wined3d: Make sure volumes have memory allocated. wined3d: Index buffer creation adjustments. winex11.drv: Ignore depth mismatch when using a virtual desktop. wined3d: More Clear fixes. wined3d: Support for using auxilliary buffers for offscreen rendering. wined3d: Use GL_STATIC_DRAW_ARB instead of GL_STATIC_DRAW. wined3d: Leave the fog state handler after disabling fog. wined3d: Move clip planes to the state table. wined3d: Clip planes with vertex shaders. wined3d: Prepare only fixed function samplers for blit. wined3d: Use the source surface's texture for writing the backup. wined3d: Add GL_NV_fence defines and functions. wined3d: Support event queries using GL_NV_fence. wined3d: Support GL_APPLE_fence for event queries.
Thomas Weidenmueller (1): comctl32: Implement LM_GETIDEALSIZE for the syslink control.
Tomas Carnecky (1): winex11.drv: Spring cleanup in X11DRV_setup_opengl_visual, and added one new visual config (with aux buffers).
Vitaliy Margolen (4): wineshelllink: Fix menu entries with double spaces in their names. imagehlp: Forward already implemented functions to dbghelp. wined3d: Use application provided fog range when fog is enabled. ntdll: More error checking. Properly handle NULL ACLs.
Vitaly Lipatov (1): winspool: Constify some parameters in some functions.
-- Alexandre Julliard julliard@winehq.org