The Wine development release 1.5.10 is now available. What's new in this release (see below for details): - New version of the Gecko engine based on Firefox 14. - Support for OpenGL in the DIB engine using libOSMesa. - Off-screen rendering is now the default in Direct3D. - Some more WMI infrastructure. - Various bug fixes. The source is available from the following locations: http://prdownloads.sourceforge.net/wine/wine-1.5.10.tar.bz2 http://mirrors.ibiblio.org/wine/source/1.5/wine-1.5.10.tar.bz2 Binary packages for various distributions will be available from: http://www.winehq.org/download You will find documentation on http://www.winehq.org/documentation You can also get the current source directly from the git repository. Check http://www.winehq.org/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.5.10 (total 53): 10016 age of wonders 2: the application does not get any mouse input 10028 rappelz updater is slow because of dlls/mshtml/htmlnode.c:get_node(...) 11793 Hulk demo crashes in DSOUND 12240 Scar fails to launch 14476 Display window placed in wrong location 15485 EVE Online hangs on focus restore after applying Empryan Age 1.1.1 patch 16151 Dragon 10 crashes with 'err:region:CombineRgn Invalid rgn=(nil)' 16200 Miranda IM can't connect on MSN and Gmail protocol 16274 Mortyr 2093-1944: Shots leave black squares 16408 Half Life 2 NPC characters appear stretched 18303 Adobe Acrobat Pro 7: Crashes when selecting the "edit" menu while having a file open. 19222 menus jump and scramble input for MS SQL Server Management Studio Express 20689 BloodRayne crashes after intro video 21538 SSL implementation is incomplete (affects yahoo and SSL'ed ICQ Miranda connections) 21907 Firefox 3.6 on FreeBSD - Rough, text and mangled graphics 22493 Baldur's Gate 2: poor rendering with ddr=opengl 22802 City of Heroes crashes on startup with Intel graphics 23034 Tools->Plugins menu in Stud_PE cannot be clicked 24002 Areena 5 crashes with runtime error when entering battle 24380 Final Fantasy XIV beta: crashes if launching in full screen mode 25234 Half Life 2: wrong colors 25711 Temple Of Elemental Evil end slideshow display black, except for fractions of a second 26285 Mass Effect 2 Demo ignores keyboard input until mouse clicked 27024 3DMark06: dies on msvcp71.dll.?begin@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBE?AVconst_iterator@12@XZ (purist) 27040 Intellicad Viewer needs msvcp71.dll.??0?$basic_ofstream@DU?$char_traits@D@std@@@std@@QAE@PBDHH@Z 27617 DLL function import error: MSVCP60.dll/??_7out_of_range@std@@6B@ in Quest Atlantis 27649 Silverlight 4 fails to show animations 27698 EA Origin wants msvcp100.dll.?_Orphan_all@_Container_base0@std@@QAEXXZ (purist) 27748 Chenzo Cove requires unimplemented function d3dx9_36.dll.D3DXCreateRenderToEnvMap (purist) 28260 dsound/ds3d.ok crashes under WINEDEBUG=warn+heap 28283 text overlap in pdf-xchange 28345 dragon age:origins fails to load save game (??0?$basic_stringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@H@Z) 28641 Baldur's Gate II - Throne of Bhaal crashes 29155 Builtin IE with ICBC bank input control crash while closing 29225 WinMerge needs msvcp71.dll.?begin@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAE?AViterator@12@XZ (purist) 29357 ImgBurn's disc layout editor toolbar gets corrupted after switching to side by side view and back 29549 QQMusic crash at unimplemented msvcr80.dll.tmpfile_s 30669 Civilization 3 game display fully corruption 30701 Can't install Sony Sound Forge pro 10 , Installer crashed . 31064 built in IE will not login to U-Haul dealer network 31089 Civilization V demo has black screen, complains "Could not load width data" without native msvcp90 (purist) 31091 Kindle hangs (crashes) on second run with builtin msvcp90 31093 League of Legends / Pando downloader crashes with builtin msvcp90 31179 crash in Jack5 since upgrade to wine 1.5.8-0ubuntu1~pulse18 31180 DC Universe Online: installer fails with "generic error" 31211 Tanner S-Edit rubberbanding leaves screen garbage 31239 GTAIV lacks some lights 31276 Total Commander 8.0 64-bit installer crashes during cabinet extraction (wrong FCI/FDI structure packing for Win64) 31288 Visual Studio 2005 Trial "Server Explorer" needs IWbemClassObject::BeginMethodEnumeration when inspecting Management Classes 31305 AxisPro: Hangs when drawing stock chart 31317 Age of Empires 2: top of the screen turns white when creating a new player 31320 Steam fails to start, needs dwrite.dll.DWriteCreateFactory 31323 Microsoft SQL Server Management Studio Express 2005: cannot control server service (needs Win32_Service WMI class and improved parser for wbem_services_GetObject) ---------------------------------------------------------------- Changes since 1.5.9: Alex Henrie (1): wininet: Support ICU_ENCODE_PERCENT, ICU_ENCODE_SPACES_ONLY, and ICU_NO_META. Alexandre Goujon (1): kernel32: Reimplement GetLogicalDrives using Nt{Open, Query}DirectoryObject. Alexandre Julliard (40): user32/tests: Try to fix a test that frequently fails on Windows. opengl32: Generate a header file containing function tables for all OpenGL functions. opengl32: Generate a function table with null OpenGL entry points and store it in the TEB. winex11: Fill a function table with the standard OpenGL functions and store it in the TEB. opengl32: Call standard OpenGL functions through the TEB function table. opengl32: Call OpenGL extension functions through the TEB function table. opengl32: Redirect standard OpenGL functions through the TEB function table. opengl32: Call all OpenGL functions through the current context table and don't link against libGL. winex11: Use the function table pointer to call dynamically loaded OpenGL functions. opengl32: Remove redundant fields in the functions hashes. gdi32: PatBlt needs to bypass the brush for ROPs that don't make use of it. wined3d: Load glPointParameter functions as extensions rather than standard OpenGL functions. gdi32: Remove left-over debug trace. opengl32: Declare input pointers as const in function prototypes. opengl32: Move the wgl functions to the main OpenGL function table. opengl32: Add supported wgl extension functions to the OpenGL function table. opengl32: Add a mechanism for managing different types of OpenGL handles. opengl32: Use proper handles for PBuffers instead of raw pointers. winex11: Remove unused fields in the PBuffer object. winex11: Get rid of the glGetIntegerv wrapper. wined3d: Fetch GL functions from the WGL driver table, including glFinish and glFlush. fusion: Simplify the parsing of clr tables. include: Fix alignment of cabinet structures on 64-bit. gdi32: Work around a gcc array out of bounds warning. opengl32: Load GLU functions from glu32.dll instead of the Unix library. winex11: Add a helper function to correctly check extension strings. opengl32: Allocate a separate context structure to store generic information. opengl32: Store the context current DCs on the opengl32 side. opengl32: Store the modified extension string in the context. wined3d: Retrieve OpenGL extension functions directly through the TEB table. msvcrt: Make sure that errno is always set when calling the invalid parameter handler. msvcr90/tests: Fix tests for errno values. gdi32: Support OpenGL in bitmaps through libOSMesa. msxml3: Fix an uninitialized variable. winex11: Get rid of the OpenGL bitmap support. gdi32: Add a helper function to initialize Bresenham parameters for line drawing. gdi32: Limit line drawing coordinates to reasonable values to avoid overflows. gdi32: Clip solid pen regions to the DIB rectangle to avoid overflows. gdi32: Move DescribePixelFormat and SetPixelFormat to the WGL driver. gdi32: Compute the line parameters using the cropped coordinates to avoid overflows. André Hentschel (2): msvcrt: Add tmpfile_s implementation. winspool.drv: Update allowed driver version. Aurimas Fišeras (1): po: Update Lithuanian translation. Caron Jensen (1): wined3d: Recognize AMD Tahiti cards. Dan Kegel (1): msvcp100: Add _Container_base0::_Swap_all, _Container_base0::_Orphan_all. Detlef Riekenberg (10): include: Add appcompatapi.h. apphelp: Implement ApphelpCheckShellObject. apphelp/tests: Add tests for ApphelpCheckShellObject. wer: Return S_OK from WerReportSetParameter. wer: Add a stub for WerReportAddFile. msi/tests: Use always static binding for GetTokenInformation. wer: Return S_OK from the WerRepostSubmit stub. include: Add TOKEN_MANDATORY_LEVEL definitions. ntdll: Support TokenIntegrityLevel. advapi32/tests: Simple tests for TokenIntegrityLevel. Dmitry Timoshkov (47): gdiplus: Add a test for font and graphics using different base units. gdiplus: Factor out units_to_pixels() helper. gdiplus: GdipGetFontHeight should convert height from font to device units. gdiplus: GdipMeasureString operates internally in pixels but in/out rectangles are in device units. include: Add PixelFormat32bppCMYK definition. include: Add some useful helpers to check various pixel format properties. include: Move PaletteFlags definition to gdipluspixelformats.h. gdiplus: Set actual resolution of an image being encoded. windowscodecs: Add support for generating WICBitmapPaletteTypeFixedHalftone27 palette. windowscodecs: Add support for generating WICBitmapPaletteTypeFixedHalftone125 palette. windowscodecs: Add support for generating WICBitmapPaletteTypeFixedHalftone216 palette. windowscodecs: Add support for generating WICBitmapPaletteTypeFixedHalftone252 palette. windowscodecs: Add support for adding trasparent color to generated palettes. windowscodecs: Add a test for invalid predefined palette type. windowscodecs: Implement MetadataHandler_Load. windowscodecs: Do not assume that vtable is the first element of the object. windowscodecs: Do not assume that vtable is the first element of the object. windowscodecs: Do not assume that vtable is the first element of the object, avoid not necessary casts. windowscodecs: Make classinfo structure const. windowscodecs: Do not assume that vtable is the first element of the object, avoid not necessary casts. windowscodecs: Do not assume that vtable is the first element of the object. windowscodecs: Do not assume that vtable is the first element of the object, avoid not necessary casts. windowscodecs: Do not assume that vtable is the first element of the object, avoid not necessary casts. windowscodecs: Do not assume that vtable is the first element of the object, avoid not necessary casts. windowscodecs: Do not assume that vtable is the first element of the object, avoid not necessary casts. windowscodecs: Do not assume that vtable is the first element of the object. windowscodecs: Do not assume that vtable is the first element of the object, avoid not necessary casts. windowscodecs: Do not assume that vtable is the first element of the object. windowscodecs: Do not assume that vtable is the first element of the object. windowscodecs: Do not assume that vtable is the first element of the object, avoid not necessary casts. windowscodecs: Do not assume that vtable is the first element of the object, avoid not necessary casts. windowscodecs: Do not assume that vtable is the first element of the object, avoid not necessary casts. gdiplus: Retrieve image palette from WIC. gdiplus: Add 8bppIndexed to the list of supported formats. gdiplus: Use predefined palette if an image doesn't provide one. gdiplus: Add 8bppGray to the list of supported formats. gdiplus: Make get_palette() usable for generating predefined palettes. gdiplus: Handle image loading failures under some XP versions. gdiplus: Add missing 'break'. gdiplus: Store device resolution in the graphics object. gdiplus: Add some GdipTransformPoints tests for a device with different x/y resolutions. windowscodecs: Fix warnings detected by compiling with inline wrappers. windowscodecs: Implement IWICPalette_InitializeFromPalette. include/winnt.h: MSC compiler doesn't support __asm keyword in x86_64 mode. include/winbase.h: MSC compiler implements interlocked* APIs as intrinsics in x86_64 mode. windowscodecs: Fix memory leak in error case. gdiplus: Improve precision of calculated pixel to units transformation. Francois Gouget (9): winex11.drv: Don't include wgl_driver.h if OpenGL is not supported. d3dcompiler_43: Add a trailing '\n' to a couple of Wine traces. d3dcompiler_43: Make some functions static. d3d10: Make get_property_info() static. kernel32/tests: Use NULL instead of casting 0. msvcp90: Make num_put__Iput() static. d3dcompiler_43: Make debug_dump_ir_expr() static. kernel32/tests: Make initonce_callback() static. wbemprox: Make some signature table functions static. Frédéric Delanoy (1): po: Update French translation. Gustavo Henrique Milaré (2): po: Update Brazilian Portuguese translation. po: Update Brazilian Portuguese translation. Hans Leidekker (18): wbemprox: Implement IWbemClassObject::Put. wbemprox: Add helpers for retrieving class instances. wbemprox: Fix corner cases in IEnumWbemClassObject::Skip. wbemprox: Reset the number of rows only when the table was filled dynamically. wbemprox: Implement IWbemClassObject::GetMethod. msi: Use the right interface to call 32-bit and 64-bit custom action scripts. msi: Use inline wrappers for calling COM methods. wbemprox: Add a partial Win32_Service class implementation. wbemprox: Parse the object path passed to IWbemServices::GetObject. winhttp: Use platform-specific versions of IActiveScriptParse methods. wbemprox: Add support for boolean properties. wbemprox: Implement Win32_Service.AcceptPause and Win32_Service.AcceptStop. wbemprox: Store the class name in the class object. wbemprox: Add support for enumerating class methods. wbemprox: Add support for enumerating class properties. sxs: Use inline wrappers for calling COM methods. fusion: Use inline wrappers for calling COM methods. msi: Implement the RemoveExistingProducts standard action. Heiko Hund (1): winhttp: Make strings in WINHTTP_PROXY_INFO non-const. Henri Verbeet (29): include: Add some more SP_PROT_* flags. secur32: Recognize some more TLS versions. d3d10: Add support for parsing blend factors to parse_fx10_object(). d3d10: Add support for parsing sample masks to parse_fx10_object(). d3d10: Add support for parsing stencil reference values to parse_fx10_object(). ddraw: Implement ddraw7_GetScanLine() on top of wined3d_get_adapter_raster_status(). ddraw: Implement ddraw7_GetVerticalBlankStatus() on top of wined3d_get_adapter_raster_status(). wined3d: Fix the draw buffer limit calculation. wined3d: Disable the X11 / GL lock. wined3d: Enable "AlwaysOffscreen" by default. wined3d: Get rid of some unused PCI IDs. wined3d: Convert some uppercase hex constants to lowercase. d3d10/tests: Add a test for default state values. d3d10: Add support for parsing rasterizer states. d3d10: Implement d3d10_effect_rasterizer_variable_GetBackingStore(). wined3d: Get rid of APPLE_flush_render, it doesn't exist. wined3d: Fix some EXT_gpu_shader4 function names. d3d10: Add support for parsing depth/stencil states. d3d10: Implement d3d10_effect_depth_stencil_variable_GetBackingStore(). wined3d: Handle core fixups like any other kind of extension fixup. wined3d: Use struct opengl_funcs for storing GL extension pointers. ddraw: Implement ddraw7_GetMonitorFrequency() on top of wined3d_get_adapter_display_mode(). d3d10: Add support for parsing blend states. d3d10: Implement d3d10_effect_blend_variable_GetBackingStore(). d3d10: Add support for parsing sampler states. d3d10: Implement d3d10_effect_sampler_variable_GetBackingStore(). wined3d: Get rid of the GL extension function pointer typedefs. wined3d: Pass a gl_info structure to fragment_pipeline.enable_extension(). wined3d: Call core GL functions through gl_info.gl_ops as well. Hwang YunSong (1): po: Update Korean translation. Jacek Caban (68): vbscript: Fixed locale-related test failures. vbscript: Use current locale in to_string. mshtml: Wine Gecko 1.7 release. ole32: Forward BSTR functions to oleaut32. mshtml: Make node object cycle collector aware. mshtml: Make node object's dynamic IDispatchEx-based properties cycle collectable. mshtml: Make nsIDOMHTMLDocument reference cycle collectable. mshtml: Store MSHTML node reference in Gecko node object and get rid of all node list in document object. ole32: Use proper allocators for storing source in ErrorInfoImpl. ole32: Use proper allocators for storing description in ErrorInfoImpl. ole32: Use proper allocators for storing help file in ErrorInfoImpl. mshtml: Moved creating nsIFile to separated function. mshtml: Store scheme in nsWineURI instead of nsChannel. mshtml: Added nsIFileURL stub implementation. mshtml: Added nsIFileURL::GetFile implementation. vbscript: Added parser support for select case statement. vbscript: Added compiler support for select case statement. vbscript: Added interp_case implementation. vbscript: Added select case statement tests. mshtml.idl: Added IXMLHttpRequest declaration. mshtml.idl: Added more *XMLHttpRequest* declarations. mshtml.idl: Added IDOMEvent and IDOMEventTarget declarations. widl: Add IDL installation directory to include path. mshtml: Fixed tests on Vista. mshtml: Unescape script from javascript: URLs before executing them. mshtml: Share IHTMLFrameBase tests between iframe and frame element tests. mshtml: Added IHTMLFrameBase::frameBorder implementation. jscript: Don't expose properties belonging to Object prototype from Object instance. jscript: Don't expose properties that belong to function prototype from function instance. jscript: Properly handle builtin properties in Object.prototype.hasOwnProperty implementation. jscript: Added more tests. jscript: Use prototype for builtin Array properties. jscript: Use prototype for builtin Boolean properties. jscript: Use prototype for builtin Date properties. jscript: Use prototype for builtin Number properties. jscript: Use prototype for builtin RegExp properties. jscript: Use prototype for builtin String properties. mshtml: Use proper document node for createElement called on document fragment. mshtml: Added IHTMLDOMAttribute::get_specified implementation. mshtml: Clean up InvokeEx implementation by using get_dispid_type. mshtml: Moved more logic to HTMLStyle_Create. mshtml: Added IHTMLElement2::get_runtimeStyle hackish implementation. mshtml: Added runtimeStyle tests. activdbg.idl: Undef GetCurrentThread macro to avoid collision with interface function declaration. widl: Added an extension that uses inline functions instead of macros for C interface calls. mshtml: Use inline wrappers and fixed found warnings. mshtml: Properly handle NULL VT_DISPATCH refChild in IHTMLDOMNode::insertBefore. mshtml: Moved IStream::Read calls to separated function. mshtml: Moved conversion to unicode of buffers from binding to navigate.c. mshtml: Added support for BOM in bind_mon_to_wstr. mshtml: Grow the buffer faster in BufferBSC_read_data. ieframe: Use proper helpers for iface calls. urlmon: Use proper helpers for iface calls. oleaut32: Use proper helpers for iface calls. urlmon: SecManagerImpl_QueryInterface clean up. ieframe/tests: Use proper helpers for iface calls. urlmon/tests: Use proper helpers for iface calls. mshtml/tests: Use proper helpers for iface calls. jscript/tests: Use proper helpers for iface calls. mshtml: Store inner window directly in HTMLDocumentNode. mshtml: Use inner window directly from document node in htmlevent.c. mshtml: Use inner window directly in HTMLImageElementFactory implementation. mshtml: Use inner window directly in HTMLOptionElementFactory implementation. mshtml: Use inner window directly in run_insert_script. mshtml: Use inner window directly in handle_load. guiddef.h: Use static const IID instance for __uuidof. vbscript/tests: Use proper helpers for iface calls. mshtml.idl: Added IHTMLDOMConstructorCollection declaration. Józef Kucia (1): d3dx9: Allow D3DX_DEFAULT to be passed as srclevel to D3DXFilterTexture. Marcus Meissner (1): mshtml: Remove superflous check (Coverity). Matteo Bruni (10): d3dcompiler: Check for invalid matrix majority modifiers. d3dcompiler: Don't allow const variables without initializers. d3dcompiler: Don't allow semantics on local variables. d3dcompiler: Parse multiplicative expressions. d3dcompiler: Parse relational operators, stub out more rules. d3dcompiler: Parse some postfix operators. d3dcompiler: Parse unary and prefix operators. d3dcompiler: "void" is not a plain scalar data type. d3dcompiler: Stub assignment parsing. d3dcompiler: Parse assignments. Michael Stefaniuc (24): dsound/tests: Add IDirectSound refcount and COM aggregation tests. dsound: Merge the two IUnknown/IDirectSound implementations for DirectSound. dsound: Rename the DirectSound object refcount to "numIfaces". dsound: Cleanup IDirectSoundImpl_Create() and move it. dsound: Merge IUnknown into the main DirectSound object. dsound: Merge the DirectSound create functions. dsound: Drop a redundant 'IDirectSound8' from the method names. dsound: Merge IDirectSound8 into the main DirectSound object. dsound: Handle IDirectSound by the IDirectSound8 implementation. dsound: Get rid of the DSOUND_QueryInterface() helper. winedump: Simplify the "pointer to start of array" idiom. dnsapi: Remove a superfluous TRUE-FALSE conditional expression. cabinet: Simplify the "pointer to start of array" idiom. mlang/tests: Simplify the "pointer to start of array" idiom. cabinet: Avoid TRUE-FALSE conditional expressions. wined3d: Avoid TRUE-FALSE conditional expressions. winaspi.dll16: Simplify the "pointer to start of array" idiom. setupapi: Simplify the "pointer to start of array" idiom. winedbg: Simplify the "pointer to start of array" idiom. comdlg32: Use a helper to detect the need for win16 looks. winmm: Avoid TRUE FALSE conditional expressions. mapi32: Remove superfluous TRUE:FALSE conditional expressions. winex11.drv: Avoid TRUE:FALSE conditional expressions. kernel32: Avoid TRUE:FALSE conditional expressions. Nikolay Sivov (28): ole32: Fix QueryInterface for file-based ILockBytes. ole32: Remove unsupported interface REFIID from storage stream QueryInterface. ole32: Give names to 1Ole stream header fields. msxml3: Accept selection namespaces string with trailing spaces. ole32: Use a single implementation for 1Ole stream initialization. kernel32: Partial CompareStringEx implementation. advapi32/tests: Add some more well known SIDs to tests. kernel32: Added GetSystemDefaultLocaleName(). kernel32: Forward GetLocaleInfoEx() to GetLocaleInfoW(). kernel32: Added InitOnceInitialize() implementation. kernel32: Single thread test for InitOnceExecuteOnce(). msxml3: Accept ISequentialStream as reader input. kernel32: Some tests for blocking initialization with InitOnceBeginInitialize(). dwrite: Added initial stub. kernel32: Some test for handling locales specified by language only. kernel32: Fix base for value returned with LOCALE_RETURN_NUMBER. kernel32: Some tests for LOCALE_SNAME and neutral locales. widl: Emit default argument values for cpp methods. msxml3: Enable inline wrappers and fix warnings. shell32: Use proper macros when calling COM methods. kernel32: Added WerRegisterMemoryBlock stub. msxml3: Enable inline wrappers for tests. widl: Protect from duplicated method names in C-style vtable struct. widl: Don't output method macro if name duplicates another method name. include: Added dwrite.idl file. dwrite: Stub for IDWriteFactory. dwrite: Added IDWriteGdiInterop stub. dwrite: Added basic test for IDWriteFont created from LOGFONTW. Nozomi Kodama (3): d3dx9_36: Implementation of D3DXSHRotateZ. d3dx9_36: Add some traces. d3dx9_36: Add more traces. Piotr Caban (9): msvcp90: Fixed EOF detection in basic_filebuf_char_uflow function. msvcp90: Fixed EOF detection in basic_streambuf_char__Xsgetn_s function. msvcp90: Added num_put implementation. msvcp90: Fixed num_get::vftable. msvcp: Sync spec files. msvcp71: Added functions for creating basic_string iterators. msvcp71: Added iterator based basic_string::replace implementation. msvcp71: Added basic_string::append(iterator, iterator) implementation. msvcp71: Added _String_base::_Xlen and _Xran implementation. Sergey Guralnik (1): user32: Rearrange ComboBox repositioning code. Thomas Faber (1): comdlg32: Do not modify dialog resource directly. Vincent Povirk (1): msi: Stub Migrate10CachedPackagesW. Wei-Lun Chao (9): po: Update Chinese (Taiwan) translation. po: Update Chinese (Taiwan) translation. po: Update Chinese (Taiwan) translation. po: Update Chinese (Taiwan) translation. po: Update Chinese (Taiwan) translation. po: Update Chinese (Taiwan) translation. po: Update Chinese (Taiwan) translation. po: Update Chinese (Taiwan) translation. po: Update Chinese (Taiwan) translation. -- Alexandre Julliard julliard@winehq.org