The Wine development release 1.1.39 is now available. What's new in this release (see below for details): - Support for registry symbolic links. - Many MSI fixes. - Build process improvements. - MSXML cleanups and fixes. - A number of MSHTML improvements. - Various bug fixes. The source is available from the following locations: http://ibiblio.org/pub/linux/system/emulators/wine/wine-1.1.39.tar.bz2 http://prdownloads.sourceforge.net/wine/wine-1.1.39.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 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.39: 10329 Sonic & Knuckles Collection freezes when starting a game 13394 gtk-dev-2.12.9-win32-2.exe crashes on installation 14128 Oblivion crashes during certain quests when entering certain doors or jumping into water 14178 Can't paste large amounts of text into an application via the clipboard 16566 dooble browser's new tab button makes the browser window close 16675 Europa Universalis 2: crashes after a few moments upon starting 16812 MyRoots Install fails err:msi:msi_cabextract FDICopy failed 17632 Anno 1701 crashes at startup 18178 eBay Turbo Lister unhandled exception 18426 VMware Player install - not enough disk space 19217 EVE Online glitches graphically, then crashes 19256 Turbo Lister's installer put folders in the wrong place 19388 Portal/Half life ep2 screen is black 20295 AutoCAD 2004: Crash after closing Layer Management Window 21179 Acclaim Re-Volt: Unhandled page fault on read access during Battle Tags and Nhood1 21357 Missing toolbar icons in HTML-Kit 21379 File open dialog is extremely slow 21580 Background music doesn't loop in Pikachu Volleyball 1.0 21603 PAF 5 help viewer crashes 21607 Aztlam Dreams nolonger displays any graphics 21618 EVE Online: Crashes when generating certain images 21622 mscoree.dll.DllUnregisterServer stub needed (.NET 1.0 installer) 21624 MJ12node.exe crashes with StackOverflowException 21632 CactusGest crash when selecting any option 21643 No background music in Pikachu Volleyball 1.0 21648 Garmin training center crashes 21667 The Lost Crown: game crashes shortly after beginning 21671 NuSphere PhpED 5.9 build 5921 crash whenever try to browse file 21678 Age of Empires III Trial install fails 21687 make install error with today (11.Feb.10) commits 21688 Turbo Lister assertion failure 21728 Mass Effect crashes when exiting Chora's Den 21731 Return key has no effect in an input dialog on a win16 application 21741 Sonic & Knuckles Collection Demo installer produces (non-fatal) WINNLS32 errors 21744 msi.MsiGetMode( MSIRUNMODE_MAINTENANCE) case should return false on new installs (TecDoc CATALOG 1/2010 installer) ---------------------------------------------------------------- Changes since 1.1.38: Alexander Nicolaysen Sørnes (2): dsound/tests: DirectSound3DListener_QueryInterface should accept IKsPropertySet. dsound/tests: Test querying for KsPropertySet on primary buffer. Alexandre Julliard (69): winetest: Require an email address to submit a report. winetest: Report the correct source directory for program tests. winex11: Shape offset must be relative to the window position. user32: Store 32-bit and 16-bit cursors/icons in independent structures. user32: Do not load 16-bit user.exe by default. gdi32: Do not load 16-bit gdi.exe by default. kernel32: Do not load 16-bit krnl386.exe by default. makefiles: Build the libs subdirectories directly from the top-level makefile. makefiles: Build the tools subdirectories directly from the top-level makefile. makefiles: Generate dependencies to match each makefile to its subdirectory. makefiles: Move the CROSSOBJS dependency to the generated default dependencies. makefiles: Generate a general catch-all dependency on .tab.h files to replace the manually maintained ones. makefiles: Generate the winetest rules from the WINE_CONFIG_TEST macro. makefiles: Generate the list of test binaries from configure. msxml3: Fix building with older libxml versions. makefiles: Build the static libraries directly from the top-level makefile. makefiles: Build the import libraries directly from the top-level makefile. makefiles: Build the tests directly from the top-level makefile. makefiles: Disable winetest when tests are disabled. makefiles: Move Maketest.rules to the top level. makefiles: Add support for having tests under the programs directory. wine.inf: Don't create empty default key values where not necessary. itss: Don't create empty default key values where not necessary. jscript: Don't create empty default key values where not necessary. mshtml: Don't create empty default key values where not necessary. shdocvw: Don't create empty default key values where not necessary. urlmon: Don't create empty default key values where not necessary. makefiles: Build the dlls directly from the top-level makefile. makefiles: Build the programs directly from the top-level makefile. makefiles: Simplify the WINE_CONFIG_MAKEFILE macro by removing the no longer needed prefix arg. makefiles: Simplify the WINE_CONFIG_DLL macro by defining some local variables. makefiles: Auto-generate the list of all subdirectories too. makefiles: Move all the recursion rules to the top-level makefile. makefiles: Add a __tooldeps__ fake dependency to rebuild only the tools. makefiles: Fix the installation rules for programs bin directory. makefiles: Use AS_VAR_APPEND to build the list of warning messages. makefiles: Use AS_MKDIR_P to create the extra directories. makefiles: Add helper functions to build the various make lists more efficiently. user32: Don't forward WM_SETCURSOR to the desktop window. ntdll/tests: Fix a few function prototypes in the registry test. ntdll/tests: Test NtOpenKey with an existing key. ntdll/tests: Add tests for registry symlinks. ntdll/tests: Use correct access rights in the NtOpenKey test. runtest: Fix handling of test binaries in the programs directory. ntdll/tests: Add more tests for registry symlinks. server: Implement registry symlinks. advapi32: Add support for registry symlinks. advapi32/tests: Add tests for registry symlinks at the advapi32 level. server: Save and load the registry class names to/from disk files. server: Save and load registry symlinks to/from disk files. setupapi: Add support for creating registry symlinks from a .inf file. wine.inf: Add a symlink for the Win9x-style timezone data. winex11: Fix the DC rect offset for a released DC. ntdll: Fix the return status of NtQueryValueKey for a too small buffer. ntdll: Fix the return value of NtOpenKey for some invalid parameters. winmm/tests: Fix a couple of incorrect casts. msvcrt/tests: Avoid size_t in a trace. urlmon/tests: Avoid size_t in a trace. dbghelp: Fix a pointer cast. version: Improve detection of builtin libraries. user32: Don't overwrite the default button id when creating the dialog structure. kernel32/tests: Fix a test failure on xp64. user.exe: The default dialog button id is 0 on Win16. server: Fix tracing of invalid ACLs. ntdll: Properly handle empty but present ACLs in self-relative descriptors. advapi32: Implemented RegDeleteKeyExA/W. advapi32/tests: Avoid crashing if ReadEventLogA fails. advapi32/tests: Fix the ReadEventLog error checking. user32: Fix Z-order handling of windows that have a top-most owner. Alistair Leslie-Hughes (3): dbghelp: Add basic support for PVOID64. dbghelp: Add stubs for SymGetLineFromName, SymGetLineFromName64, SymGetLineFromNameW64. msxml4: Added support for SAXXMLReader40. Andrew Nguyen (3): mshtml: Accept NULL SAFEARRAY pointers in IHTMLDocument2::write(ln). gdi32: Check the region handle in GetClipRgn later. winnls32: Restore the correct export names. André Hentschel (3): oleaut32: Fix formula. dbghelp: Merge dwarf code from ntdll/signal_x86_64.c. cmd: Improve German translation. Aric Stewart (1): shlwapi: Account for trailing NULL in UrlFixupW. Christian Costa (14): d3dxof: Fix typo in comment. d3dxof: Fix data buffer deallocation on error. d3drm: Beginning of Mesh info retrieval. quartz: Fix IAMDirectSound interface definition. quartz/tests: Add test for querying IAMDirectSound from DSoundRenderer. quartz: Add stubbed IAMDirectSound interface to DSoundRenderer. d3dx9: Add definition for ID3DXConstantTable. d3dx9_36: Add stub for D3DXCompileShader. d3drm: Remove wrong description. d3drm: Make IDirect3DRMMeshBuilderImpl_Load handle normals and texture coordinates. d3dx9_36: Implement D3DXCreateTexture. d3dx9_36: Improve some stubs. ddraw: Fix D3DTBLEND_MODULATE emulation. ddraw: Enable GetViewport to retreive data set by SetViewport2 and vice-versa + tests. Dan Kegel (10): gdiplus/tests: Initialize buffer in test_GdipCreateBitmapFromHBITMAP. iphlpapi: _res is per-thread in glibc. ntdll: Fix leak in test_symlinks. advapi32: Fix leak in test_symlinks. cmd: Move all tests to test_builtins.cmd. cmd: Turn off echo, add visual separator between testcases. cmd: Add test to show set "FOO=bar" should not include the quotes in the variable value. cmd: Add test to show ~dp0 should be directory containing batch file. cmd: Rename reference file from .out to .exp to avoid clash with gnu make builtin rule. cmd: Fix 'else', with tests. Detlef Riekenberg (5): shdocvw: Dump the commands in OleCommandTarget_QueryStatus. shlwapi/tests: Remove GetLastError tests for GetAcceptLanguages, which uses HRESULT. shlwapi: Return the correct results in GetAcceptLanguagesW. shlwapi: Return the correct length from GetAcceptLanguagesA. shlwapi/tests: Use defined settings when testing GetAcceptLanguages. Dmitry Timoshkov (3): user32: In a DLGTEMPLATEEX resource dialog version goes before signature. winedbg: Print parameter values in backtraces in hex. comctl32: Listview should accept both unicode and ansi notifications. Dylan Smith (5): richedit: Move function ME_GetParaLineSpace to make it static. wordpad: Fixed quick print so that it doesn't print blank pages. richedit: Prevent crash on word selection at end of paragraph. wordpad: Avoid making monochrome bitmaps for print preview. wordpad: Added text colour toolbar button. Erich Hoover (6): hhctrl.ocx: Fix HTML Help Index tab with alternative 'keyword' style. hhctrl.ocx: Support HTML Help having indented Index tab items. hhctrl.ocx: Allow ListView navigation with the Return/Enter key. hhctrl.ocx: Add widgets for the Search tab. itss: Implement IStorageImpl_OpenStorage. hhctrl.ocx: Add Search capability. Gabriele Moabiti (1): comdlg32: Open should try to browse directory first. Hans Leidekker (31): wininet: Don't call libcrypto function after closing the library. mscoree: Add stub implementations of DllRegisterServer and DllUnregisterServer. msi: Add stub implementations of the DisableRollback and InstallAdminPackage standard actions. msi: Implement the UnregisterFonts standard action. msi: Add a partial implementation of the ValidateProductID standard action. msi: The File_Setup field in the ODBCDriver and ODBCTranslator tables is optional. msi: Make sure attrs variable is properly double nul-terminated in ITERATE_InstallODBCDataSource. msi: Implement the RemoveODBC standard action. msi: Add tests for installing and removing ODBC drivers. msi: Implement the UnregisterTypeLibraries standard action. msi: Return the right error from ITERATE_RegisterTypeLibraries. msi: Fix a memory leak in ITERATE_StartService. msi: Implement the RemoveShortcuts standard action. msi: Add tests for creating and removing shortcuts. msi: Implement and test MsiGetPatchInfoA/W. msi: Update the UI when registering or unregistering type libraries. msi: Get rid of ACTION_VerifyComponentForAction. msi: Get rid of ACTION_VerifyFeatureForAction. msi: Only run the CreateFolder and RemoveFolder actions when the component is set to be installed or removed, respectively. msi: PublishComponents must look at the requested install state of the feature, not the component. msi: Implement the UnpublishComponents standard action. msi: Add tests for publishing and unpublishing components. winhttp/tests: Wait for a handle closing notification. msi: Implement MsiSetMode. msi: Implement MSIRUNMODE_MAINTENANCE and MSIRUNMODE_REBOOTATEND for MsiGetMode. msi: Include run mode in fixmes. msi: Accept '\5' and '-' in SQL identifiers. msi: Destroy streams cache when applying a transform. msi: Encode stream name in the callers of db_get_raw_stream. msi: Fix a memory leak. msi: Add summary information stream to the streams table. Henri Verbeet (3): wined3d: Remove some unused extensions. wined3d: Move the gl info structure to wined3d_private.h. wined3d: Drop buffer objects from the stream info as well when PreLoad drops them. Huw Davies (6): msdaps: Add support for remoting IRowChange_SetColumns. msdaps: Implement IDBAsynchNotify_OnProgress and OnStop proxies and stubs. rpcrt4: Add tests for multi-dimensional conformant arrays. rpcrt4: Fix tests on win64. fonts: Add a 9 ppem bitmap strike to Tahoma Bold. fonts: Tidy up some of the extended Latin glyphs in the 9 ppem strike of Tahoma. Hwang YunSong (1): jscript: Add Korean translation. Jacek Caban (23): jscript: Don't try to create property in jsdisp_call_name. jscript: Moved property creation out of find_prop_name_prot. jscript: Get value as VARIANT in prop_put. jscript: Avoid unnecessary prototype lookup. jscript: Added support for constructor property. mshtml: Set image size in IHTMLImageElementFactory::create. mshtml: Added IHTMLImgElement::width property implementation. mshtml: Added IHTMLImgElement::height property implementation. mshtml: Use set_nsstyle_attr_var in IHTMLStyle::put_width implementation. mshtml: Don't free nsstr in HTMLFormElement_get_dispid twice. mshtml: Added IHTMLElement2::detachEvent implementation. mshtml: Correctly handle comment nodes in IHTMLElement::[get|put]_title implementation. cmd: Added cmd.exe tests. mshtml: Forward IHTMLCommentElement::get_text to IHTMLElement::get_outerHTML. mshtml: Added IHTMLStyle::get_borderRightColor implementation. mshtml: Added IHTMLStyle::get_border*Color implementation. mshtml: Added tests showing that we should return E_NOTIMPL in DeleteMemberByName. mshtml: Ensure that gecko event listener is attached in attach_event. urlmon: Added CreateUri stub implementation. mshtml: Added DOCHOST_DOCCANNAVIGATE tests. mshtml: Added IViewObject::SetAdvise implementation. mshtml: Added IViewObject::SetSink tests. urlmon.idl: Added some missing declarations. Jason Edmeades (1): ws2_32: Support indefinite receive timeouts. Jeremy White (1): wineps.drv: Prevent psdrv tracing from crashing on Solaris. José Manuel Ferrer Ortiz (4): hhctrl.ocx: New Spanish translations. iccvid: New Spanish translations. localspl: New Spanish translations. mapi32: New Spanish translations. Justin Chevrier (4): include: Add ITfLangBarMgr Interface. uuid: Add LangBarMgr CLSID. msctf: Add TF_LangBarMgr registration. msctf: Implement stubbed out TF_CreateLangBarMgr. Jörg Höhle (14): midimap: Obey the size parameter in GetDevCaps. midimap: Implement callback/notification. winmm: Fix incorrect memory useage (Valgrind w/ MIDI tests). winmm: Improve initial MIDI player thread synchronisation. mciseq: Fix error code path in async command execution. mciqtz32: Complete MCI GetDevCaps/capability. mciavi: First check inputs, then (perhaps) stop and act. mciavi: Use MCIERR_UNSUPPORTED_FUNCTION, not 0 (NOERROR). mciavi: Support the MCI_TEST flag. mciavi: Step is like Seek. mciavi: Support more MCI_STATUS queries. winex11: Initialize KeyPressEvent for XmbLookupString. winex11: Add vkey codes for functions keys upto F24. winmm: dwBytesRecorded controls how much is played, not dwBufferLength. Kusanagi Kouichi (7): notepad: Increase the text limit. winex11.drv: Private copy of a result string is unnecessary. winex11.drv: Simplify X11DRV_ImmSetInternalString. winex11.drv: Fold X11DRV_ImmSetOpenStatus into XIMPreEditDoneCallback. user32: Consolidate empty string. winex11.drv: Handle result string directly. winex11.drv: Show the default IME window only when necessary. Marcus Meissner (3): gdiplus: Dereference texture after checking it for NULL (Coverity). winedbg: rex is not used for Grp15b (Coverity). winedbg: Segment registers are not affected by rex prefix (Coverity). Michael Stefaniuc (8): itss: Reorder some code to avoid leaking memory on an error path. hhctrl.ocx: Use the SendMessage instead of ListView_GetItem. hhctrl.ocx: Remove a stray heap_alloc(0) (Smatch). ntdll: Avoid using HIWORD on types that are 64bit on Win64. oleaut32: Avoid using HIWORD on string pointers. kernel32: Don't use HIWORD to check for swapped args in GetCurrentDirectoryA. kernel32: Avoid using HIWORD on types that are 64bit on Win64. user32: Don't use HIWORD() on a HINSTANCE. Nikolay Sivov (32): msxml3: Use libxml2 functionality to skip top XML declaration node while writing to file. comctl32/listview: Revert item width calculation to fix performance issues. msxml3: Create PI node properly. msxml3: Create entity reference node properly. msxml3: Support comment node type in IXMLDOMNode_get_baseName. msxml3: IXMLDOMAttribute shouldn't report its parent. msxml3/tests: Add a trivial test for IXMLDOMDocumentFragment_get_parentNode(). msxml3: Accept PI node in on base name request. comctl32/rebar: Don't try to access band data before it's needed. msxml3: Check for Null out pointer in node creation (with tests). msxml3: Support more node types in IXMLDOMDocument_createNode(). msxml3: Reimplement IXMLDOMDocument::createDocumentFragment() over ::createNode(). msxml3/tests: Don't try to use wchar buffers as BSTR parameters. msxml3: Reimplement IXMLDOMDocument::createElement() over ::createNode(). msxml3: Reimplement IXMLDOMDocument::createComment() on top of ::createNode(). msxml3: Fix IXMLDOMDocument::createDocumentFragment(), can't use IXMLDOMNode*->IXMLDOMDocumentFragment* cast. msxml3: Reimplement IXMLDOMDocument::createTextNode() on top of ::createNode(). msxml3: Fix IXMLDOMDocument::createElement(), cast from node to element isn't possible. msxml3: Reimplement IXMLDOMDocument::createCDATASection() on top ::createNode(). msxml3: Reimplement IXMLDOMDocument::createAttribute() on top of ::createNode(). msxml3: Reimplement IXMLDOMDocument::createProcessingInstruction() on top of ::createNode(). msxml3: Accept NODE_ENTITY_REFERENCE in ::createNode() and use it for ::createEntityReference(). msxml3: Fix return value for IXMLDOMNode_put_nodeValue() for unsupported types. msxml3: Use interface methods for ::get_length() calls. msxml3: Simplify ::insertData() for Text, Comment and CDATA nodes. msxml3: Implement ::replaceData() for Text, Comment and CDATA nodes. msxml3: Simplify ::appendData() for Text, Comment and CDATA nodes. msxml3: Get rid of libxml2 accessors in ::substringData() for Text, Comment and CDATA nodes. msxml3: Use common format for TRACE() in DOM objects. msxml3/tests: Fix leaks and wrong pointer use. msxml3: Accept IObjectSafety for query from IXMLDOMDocument, fix its implementation. msxml3: Avoid direct vtable members internal usage. Ozkan Sezer (2): include: Another fix for IDirectSound3DBuffer_SetConeAngles. include: Make dmoreg.h C++ compatible. Paul Chitescu (6): qedit: Add pins, IMemInputPin implementation and grabbing to SampleGrabber. qedit: Add current media type and media matching to SampleGrabber. qedit: Add pins enumerator implementation to SampleGrabber. qedit: Add media type enumerator to SampleGrabber. qedit: In output pin's IPin_Connect call ReceiveConnection on the receiver pin to properly negotiate media type. qedit: Always print a TRACE when a SampleGrabber pin gets connected. Paul Vriens (16): winspool.drv: Fix some test failures on Win9x/WinMe. user32/tests: Don't try to detect Win9x/WinMe several times. user32/tests: Fix crash on Win9x/WinMe. ws2_32/tests: Fix test failures on Win9x/WinMe. shell32/tests: Fix a test failure on NT4. msi/tests: Run the 'in_use' tests again. rcprt4/tests: Don't crash on NT4 or lower. msi/tests: Fix a test failure on Win9x/WinMe. ddraw/tests: Fix a test failure on VMware and VirtualBox on W2K and below. winspool.drv/tests: Fix a test failure on Win9x/WinMe. winspool.drv/tests: Use FILE_SHARE_READ to fix some Win9x/WinMe failures. winspool.drv/tests: Fix some test failures on Win9x/WinMe. winspool.drv/tests: Skip non supported levels on Win9x/WinMe. winspool.drv/tests: Fix a test failure on Win9x/WinMe. cmd: Remove some unneeded extension checking. cmd/tests: Compare strings case-insensitive. Piotr Caban (9): urlmon: Fix map_url_to_zone implementation. urlmon: Fixed CoInternetGetSecurityUrl implementation. urlmon/tests: Added more url parsing tests. oleaut32: Fix crash in LoadTypeLib if typelib name is not specified. oleaut32: Return TYPE_E_NAMECONFLICT in ICreateTypeLib2::CreateTypeInfo. oleaut32: Store CreateTypeInfo->typedata in list. oleaut32: Compute TypeInfo offsets while writing data. oleaut32: Store indices in list. oleaut32: Store names in list. Reece Dunn (1): user32/tests: Make the MDI client take up the whole client area. Rico Schüller (3): d3d10/tests: Use a wrapper function for D3D10CreateEffectFromMemory(). d3d10/tests: Add effect shader test. d3d10: Fix a HeapFree() in d3d10_effect_Release(). Roderick Colenbrander (3): winex11: Fix palette conversion bug. winex11: Fix xrender mono->mono blit. winex11: Use PictOpOver instead of PictOpSrc in 1-bit -> color blits. Stefan Dösinger (4): wined3d: Don't record dirty areas in a readonly lock. wined3d: Don't use GL_MAP_FLUSH_EXPLICIT_BIT without GL_MAP_WRITE_BIT. d3d: Make sure vertexbuffer lock doesn't return a NULL pointer. wined3d: Control SFLAG_CONVERTED in surface_prepare_texture. Trey Hunner (1): cmd: Add test for 'if' case sensitivity. Vincent Povirk (17): winemenubuilder: Use a custom error function. gdiplus: Don't use gdi32 to do pixel format conversion. gdiplus: Use linear gradient brush angles. shell32: Use the current directory when copying to an empty destination. ole32: Only warn about storage share mode once. gdiplus: Copy hatch brushes using the create function. gdiplus: Use GdipCloneBitmapArea to get bitmap areas for texture brushes. gdiplus: Store an image in texture brushes, and use it when cloning. gdiplus: Implement GdipGetTextureImage. gdiplus: Convert formats that can't be drawn by gdi32 when drawing bitmaps. ole32: Add error checking to StorageBaseImpl_CreateStream. ole32: Add error checking to StorageBaseImpl_CreateStorage. include: ChooseFont hook procedures return UINT_PTR. comdlg32: Add a minimal test for the font dialog. shlwapi: GetUrlPart can get the scheme of url's without a ://. comdlg32/tests: Rely on the Symbol font instead of Tahoma. comdlg32/tests: Font sizes are influenced by the display dpi. Vitaly Perov (2): setupapi: Add stub for SetupLogFile{A,W}. mshtml: Silence IExternalConnection in htmldoc_qi FIXME. Vladimir Pankratov (1): wordpad: Update Russian translation. -- Alexandre Julliard julliard@winehq.org