Wine Announcement

This is release 0.9.61 of Wine, a free implementation of Windows on Unix.
This release marks the beginning of the code freeze for the 1.0 release.

What's new in this release (see below for details):
  - Automatic updating of the WINEPREFIX directory.
  - Winhelp now uses Richedit as display engine.
  - Many RichEdit fixes.
  - More improvements to IME support.
  - More quartz fixes.
  - Implementation for many more Gdiplus functions.
  - 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:

Binary packages for various distributions will be available from:

You will find documentation on

You can also get the current source directly from the git or CVS
repositories. Check respectively or for details.

If you fix something, please submit a patch; instructions on how to do
this can be found at

Wine is available thanks to the work of many people. See the file
AUTHORS in the distribution for the complete list.


Bugs fixed since 0.9.60:

   3884  3DMark 2001 SE dies into debugger when trying to display about screen
   4252  The Sting demo crashes
   5130  Faststone Image Viewer crashes on exit
   5159  Microphone xmit in Half Life and HL:S games very harsh and goes in and out of "focus"
   6710  Mouse is invisible in Act of War : Direct Action
   7111  D3D & Via seems to don't work fine together...
   7157  MetaEditor Help Navigator Doesn't Work.
   7398  lockon crashes with null pointer dereference during loading
   7864  VobBlanker: Hangs when X-11 closes child window.
   7867  drmMap Failes -- Multiple Monitors:
   7881  JRE 1.3.1: RuntimeException in sun.awt.Win32GraphicsDevice.getDefaultPixIDImpl(Native Method)
   8171  Strict Pasv response check should be modified.
   8300  Title bar shown in window style that does not have one
   8447  VobBlanker Crashes when openin some DVDs
   8520  combobox dropdown area should be customisable
   8720  Monopoly Tycoon demo crashes at startup
   8790  Sea Dogs: infinite loop on startup
   8960  lack of GLX causes wine to crash
   9039  GS-Auftrag Professional SQL aborts on startup
   9093  NexusTK crashes at start
   9115  unable to run setup for Office 2003
   9257  Day of Defeat (a Half-Life 1 mod) - Mouse & Graphic
   9388  installer stuck for TRS 2006 Demo
   9959  Make wine updates work even if the registry changed
  10128  winecfg: not launching
  10198  IE’s writing-mode:tb-rl (CJK-style vertical text layout) renders fullwidth characters rotated when it should not
  10411  Synergy HL2 mod crashes in IHTMLWindow2_Release
  10676  Sega rally 2 crashes on start
  10984  sun jre 5 update 10 installer hangs in 0.9.52
  11019  matlab r14 and r16 (7.0.4 and 7.3.0) and WriteItNow3.1.0s hang if X in 24bpp mode
  11191  Chief Architect refuses to install
  11196  Adobe Acrobat Reader 3: Text of the Document is displayed as big black boxes
  11402  Date selector not displayed in Lotus Notes 7.0.2
  11647  mspaint: Multiple copy / paste operations will cause an exception
  11656  FarCry InstallShield wizard cannot be completed
  11741  ClocX installer has a z-order problem
  11806  regedit creates bogus hex:(1) value instead of empty ""
  11818  matlab r16 / 2006b / 7.3.0 hangs on startup with X in 16bpp mode
  11830  oRipa MSN Webcam Recorder crashes with page fault, backtrace in user32
  11875  Wine crashes and won't initialize any type of application
  11900  Unimplemented function msftedit.dll.DllGetVersion preventing proper detection of richedit from Miranda IM History++ plugin
  12054  D3D9: Device test fails
  12127  Kai Power Tools filters z-order problem in Photoshop (7, CS2)
  12149  winedbg crashes loading a .pdb file
  12180  MSN Messenger 7.0 crash while configuring the Webcam
  12191  X11DRV_ChoosePixelFormat fails (Wing Commander: Secret Ops)
  12281  msxml3 test case fails
  12416  Deus Ex and Syberia2 both have corrupted graphics in 0.9.59
  12420  wine 0.59 and kyodai
  12466  Chinese input method not working in DirectX game World of Warcraft with wine 0.9.59
  12478  Palringo: Pressing shift-enter in a chat window closes it
  12494  -lGLU flag not activated
  12555  Battlefield 1942 crashes when having joysticks attached
  12569  Window of PSPad is flashing, when new file is opened
  12575  Photoshop CS2 installer crashes in msi:ACTION_CallDllFunction
  12596  Picasa no longer starts maximized in KDE
  12610  Ctrl and Alt do not work in Guild Wars
  12621  Abilty to set virtual desktop on a per app basis
  12640  Applications written in Delphi has got minimize, maximize and size controls disabled for its item in taskbar
  12644  GTA 3 Liberty City: texture corruption on cards with GL_EXT_paletted_texture
  12656  EVE Online light effects and some other objects are not blended correctly
  12657  Bad textures/shading in Dream Aquarium (white fishes)
  12666  Wine should refuse to run if pointed at a real Windows
  12695  when calling wineprefixcreate from wine launcher, WINEPREFIX is ignored
  12707  some winemenubuilder processes never exit
  12712  OpenGL Application crashes with GLX error
  12727  non-fatal crash accompanies every program start
  12747  Trying to get Electric Quilt 6 working
  12761  net start spooler results in an infinite loop
  12763  Wineboot: Can't run wine cross test
  12765  Regression in ResHacker in wine-0.9.60
  12769  control + enter sending the wrong key code
  12770  Build breaks
  12772  imm32: imm32.ok test fails
  12781  Dungeon Siege graphics problems since removing the pixel format limitation
  12825  Xdrive Desktop Lite Crashes after login
  12837  Stack trace in socket.c when starting Call of Duty multiplayer
  12845  Mono 1.9.1 installer EULA is not rendered due to richedit regression
  12855  opengl.ok test fails in PC-BSD but not Linux
  12860  magic the gathering online v3 doesn't run
  12898  EasyUO: disappears when reduced but still running
  12904  Thief The Dark Project crashes on game start


Changes since 0.9.60:

Alam Arias (1):
      include: Fix wingdi.h to define AW version of wglUseFontBitmaps and wglUseFontOutlines.

Alex Villacís Lasso (30):
      riched20: Fix behavior of EM_REPLACESEL with painting disabled.
      riched20: EM_SETTEXTEX supports RTF strings, with tests.
      riched32: Add more todo tests for CR and LF behavior for richedit 1.0.
      riched32: Implement a portion of suggested interpretation of CRLF handling for richedit 1.0 emulation.
      richedit: EM_STREAMIN tests for richedit 1.0 emulation.
      richedit: EM_STREAMIN tests for richedit 2.0.
      richedit: Accept RTF stream that does not start with {\rtf1 in 1.0 emulation.
      uxtheme: Speed up UXTHEME_SizedBlt in the ST_TILE by building an appropriately-sized memory bitmap out of the tile instead of iterating with UXTHEME_Blt() directly.
      uxtheme: Fix nasty regression with painting of themed progress bar.
      uxtheme: Skip creation of temporary bitmap when painting a single tile.
      riched20: Yet more tests for EM_STREAMIN.
      riched20: Implement ignoring of last \par for EM_STREAMIN.
      riched20: Implement ignoring of last \par for EM_STREAMIN - 1.0 emulation.
      riched20: Reject RTF that is recognized as invalid.
      richedit: Add support for encoding number of CR and LF contained within a line break.
      richedit: Fixups to move over to reliance on CR and LF counters.
      richedit: Remove reliance on bEmulateVersion10 for end-of-line handling in ME_InternalDeleteText.
      richedit: EM_GETLINE: honor CR and LF counters.
      richedit: EM_LINELENGTH: honor CR and LF counters.
      richedit: Modify ME_GetTextW() to honor CR and LF encodings.
      richedit: Remove indication for bCRLF, now that ME_GetTextW() knows how to honor CR and LF counters.
      richedit: Flip the big switch and encode actual CR and LF into end-of-paragraph runs.
      richedit: Implement rule that in 1.0 emulation, a single CR that terminates the text is NOT a line break.
      richedit: Only notify selection change when selection has actually changed from previous notification.
      richedit: Fix modify step setting in EM_SETCHARFORMAT.
      richedit: WM_SETTEXT - Clear modify step flag before any notifications can be sent.
      richedit: Private movement of cursors in text insertion should not cause WM_NOTIFY to be sent.
      richedit: Paragraph may have multiple rows, which should possibly update nHeight.
      richedit: On failure to parse incoming text as RTF, EM_STREAMIN must set dwError to -16.
      richedit: Add tests for EM_FINDTEXT in 1.0 emulation, make them pass under Wine.

Alexander Dorofeyev (2):
      wined3d: Add missing check for p8 primary in surface_download_data.
      wined3d: Prevent console spamming in drawPrimitive.

Alexander Morozov (1):
      ntoskrnl.exe: Change calling conventions for Interlocked* functions.

Alexander Nicolaysen Sørnes (2):
      start: Update Norwegian Bokmål resource.
      xcopy: Add Norwegian Bokmål resource.

Alexandre Julliard (70):
      gdi32: Return bitmask for 32-bit bitmaps too in GetDIBits.
      user32: Remove redundant LocalUnlock calls.
      ntdll: Automatically setup the dosdevices directory if it doesn't exist.
      wineboot: Add an option to update the prefix directory by re-executing wine.inf.
      wineboot: Automatically update the prefix directory if wine.inf changes.
      wineprefixcreate: Use wineboot --update to run wine.inf.
      libwine: Allow to specify a non-existing directory as WINEPREFIX.
      winecfg: Don't allow editing the configuration of the C drive.
      user32: Dump more SetWindowPos flags.
      user32: Invalide DCEs also when resizing a hidden window, or when minimizing.
      winex11: Use SetWindowPos to invalidate DCEs when changing the pixel format.
      winex11: Set type to dialog for owned popup windows.
      winex11: Get rid of the unnecessary opengl debug channel.
      winemenubuilder: Process messages while waiting for the semaphore or the parent process.
      winex11: Moved the ConfigureNotify handler to event.c.
      msi: Avoid creating zero-length string values in the registry.
      localspl: Avoid creating zero-length string values in the registry.
      winex11: Moved the X11DRV_resize_desktop function to desktop.c.
      winex11: Merged the contents of winpos.c into window.c.
      winex11: Make sure that the window gravity is always set.
      winex11: Don't allow changing the X11 size of a maximized window.
      explorer: Convert the command line parsing to Unicode.
      kernel32: If necessary reload the environment after wineboot has run.
      user32: Make drivers non-const to avoid a compiler warning.
      Make.rules: Move the all: target before the implicit rules to avoid confusing FreeBSD make.
      services.exe: Make the changed status event an auto-reset event.
      services.exe: Don't reject config changes if the display name corresponds to the service being changed.
      wine.inf: Fix the service type of the spooler service.
      explorer: Allow specifying a default size for each desktop using the HKCU\Software\Wine\Explorer\Desktops registry key.
      explorer: Retrieve the default desktop name from the startup parameters or the registry.
      user32: Allow the default desktop name to be specified on a per-app basis.
      makefiles: Add support for generating correct dependencies for tlb files.
      Add makedep magic comments for typelibs in resource files.
      makedep: Don't try to open .tlb files.
      oleaut32/tests: Store the test typelib in resources instead of depending on an external file.
      winex11: Don't force tool windows to unmanaged mode.
      winecfg: Add a couple of Unicode helper functions.
      winecfg: Allow to configure the desktop separately for each application.
      winex11: Check if IsXExtensionPointer is defined before using it.
      shell32: Avoid traces that use size_t.
      winex11: Merge the contents of clipping.c into graphics.c.
      winex11: Don't put window manager decorations on shaped windows.
      documentation: Remove PACKAGING, this is maintained on the wiki now.
      winex11: Fix debug trace using the removed opengl channel.
      ws2_32: Don't name a parameter errno.
      ws2_32/tests: Fix the gethostname prototype.
      gdiplus: Fix the GdipFillRectangles spec entries.
      msvcrt: Rename a few functions to avoid conflicts with Windows headers.
      Include wine/port.h everywhere we use exceptions.
      loader: Add stub versions of the pthread functions.
      itss: Fix function prototype now that widl does the right thing with const.
      makefiles: List the static libraries as normal imports instead of extra libs.
      dxerr8: Don't use Wine debugging macros in static libraries.
      dxerr9: Don't use Wine debugging macros in static libraries.
      winex11: Register IME classes only when needed.
      ntdll: Make the exception handling functions inline.
      exception.h: Only push the exception frame after sigsetjmp.
      exception.h: Preserve registers when calling RtlUnwind.
      winex11: Avoid printing traces without a \n.
      configure: Improve the check for the GLU library.
      msftedit: Export a few more IIDs.
      opengl32: Dynamically load libGLU.
      make_makefiles: Avoid duplicate rules for static import libs on PE builds.
      winex11: Don't free the pixmap in X11DRV_DIB_CreateDIBFromPixmap since we don't own it.
      winex11: Ignore the specified owner if it's a zero-size window.
      winex11: Only unmap a window when explicitly hidden, not just when WS_VISIBLE is cleared.
      user32: Add an exception handler around LB_GETTEXT to hide a Delphi bug.
      richedit: Avoid strlen in traces.
      urlmon: Avoid sizeof in traces.
      Updated the authors list.

Alistair Leslie-Hughes (9):
      msxml3: Implement get_namespaceURI.
      msxml3: Add tests for get_prefix and get_namespaceURI.
      msxml3: Implement get_prefix.
      msxml3: Corrected IXMLDOMComment appendData with a broken xmlTextConcat function.
      msxml3: Corrected transformNode.
      msxml3: Added IObjectWithSite support in IXMLDOMDocument2.
      msxml3: Implement IDispatch for IXMLDOMNode.
      msxml3: Implement IObjectSafety for IXMLDOMDocument2.
      msxml3: Implement IXMLDOMComment insertData.

Andrew Talbot (28):
      kernel32: Remove unused variables.
      mciseq: Remove unused variable.
      mciavi32: Remove unused variables.
      mcicda: Remove unused variable.
      mciseq: Remove unused variable.
      msi: Remove unused variables.
      mshtml: Remove unused variable.
      mpr: Remove unused variables.
      msvfw32: Remove unused variable.
      msvcrt: Remove unused variable.
      oleaut32: Remove unused variables.
      ntdll: Remove unused variables.
      netapi32: Remove unused variable.
      qcap: Remove unused variable.
      riched20: Remove unused variables.
      quartz: Remove unused variables.
      rpcrt4: Remove unused variables.
      shell32: Remove unused variables.
      setupapi: Remove unused variables.
      secur32: Remove unused variables.
      comctl32: Dangling pointers fix.
      shlwapi: Remove unused variables.
      user32: Remove unused variables.
      uxtheme: Remove unused variable.
      wined3d: Remove unused variables.
      advapi32: Use correct function pointer cast.
      wineps.drv: Remove unused code.
      winex11.drv: Remove unused variables.

Aric Stewart (2):
      comctl32: Fix an off-by-one error in toolbar TOOLBAR_SetHotItem.
      hlink: Implement IExtensionServices.

Austin English (4):
      Spelling fixes.
      Spelling fixes.
      Spelling fixes.
      shell32: Fix a typo.

Bryan DeGrendel (1):
      winex11: Rudimentary drawing support for display balloon tool tips in systray.

ByeongSik Jeon (25):
      winecfg: Update Korean translation.
      start: Update Korean translation.
      reg: Add Korean translation.
      net: Update Korean translation.
      shdoclc: Update Korean translation.
      imm32: Add stub and header of ImmRequestMessage.
      imm32: Add stub and header of Imm{Create|Show|Destroy}SoftKeyboard.
      user32: Pass the WM_IME_NOTIFY message to the default IME window.
      imm32: Examine whether the fOpen value differs with its old value.
      imm32: Pass the old conversion status value to the IME.
      imm32: More implementation of the ImmGetConversionStatus().
      imm32: Reconstruct the ImmProcessKey, ImmTranslateMessage for the VK_PROCESSKEY.
      imm32: ImmGetVirtualKey return orignal virtual key value.
      imm32: Fix a typo.
      imm32: Add the updated ImmTranslateMessage declaration.
      user32: Set the vkey value to VK_PROCESSKEY when IME process key.
      imm32: Implementation of the Imm{Get|Set}CandidateWindow.
      imm32: Implementation of the Imm{Get|Set}StatusWindowPos.
      imm32: Updated implementation of the Imm{Get|Set}CompositionFont{A|W}.
      user32: Post the WM_KEY{DOWN|UP} message whenWM_IME_KEY{DOWN|UP} message is generated by IME.
      imm32: Updated implementation of the ImmEnumRegisterWord{A|W}.
      imm32: Updated implementation of the ImmGetCandidateList{A|W}.
      imm32: Updated implementation of the ImmGetCandidateListCount{A|W}.
      imm32: Updated implementation of the ImmGetConversionList{A|W}.
      imm32: Implementation of the ImmRequestMessage{A|W}.

Dan Hipschman (3):
      wininet: Remove custom content-length/type headers from redirects.
      wininet: Don't forget the INTERNET_STATUS_REDIRECT callback in HttpEndRequest.
      gdi32: Add font faces to families in a specific order.

Dan Kegel (2):
      winecfg: Restrict dpi slider to sane values.
      gdiplus: GdipLoadImageFromStream: initialize variable.

David Adam (3):
      wined3d: Fix a possible null dereference.
      amstream: Fix the condition of existence of the IMediaStream interface.
      amstream: Register CLSID_AMDirectDrawStream.

Dmitry Timoshkov (12):
      winedump: Print contents of EMR_INTERSECTCLIPRECT and EMR_EXTSELECTCLIPRGN.
      gdi32: Add a test for ExtCreateRegion, make it pass under Wine.
      gdi32: Add a test for EMR_EXTSELECTCLIPRGN, make it pass under Wine.
      gdi32: Reselect objects into the DC only if scaling factors change.
      fonts: Change encoding of tahomabd.sfd to unicode.
      gdi32: Do not reselect objects while recording a metafile, that's done at the playing time.
      gdi32: Save/restore internal EMF playing state on EMR_SAVEDC/EMR_RESTOREDC, add a test for this.
      winecfg: Update Russian translation.
      gdi32: Add SetPixel to the EMF DC functions.
      gdi32: info-> is always NULL, there is no need to save/restore it.
      gdi32: Make the bitmap test pass under Windows 2000.
      winecfg: Add a font size preview, update all language resources to reflect this change.

Dylan Smith (1):
      richedit: Updated editor.h to reflect the contents of source files.

Elias Benali (1):
      winhelp: Check against a NULL pointer dereference.

Eric Pouech (73):
      winhelp: Add an (ugly) icon.
      winhelp: Get rid of the WM_USER message.
      winhelp: Moved all static data used when parsing HLP files into the internal structures.
      winhelp: Removed no longer needed field (wStringTableOffset) in Globals.
      winhelp: Fixed the parsing of a link containing both a .hlp file and a window name.
      winhelp: Always create a main window, even for popups.
      winhelp: No longer store the WINHELP_WINDOW* inside the button box.
      winhelp: Removed a couple of internal windows' handle and replaced them with control IDs.
      winhelp: Instead of loading all pages at once, allow to browse them one by one.
      winhelp: When no help file is passed on command line,  we should open then file pickup dialog.
      winhelp: Silencing the copyright system record entry while parsing help files.
      winhelp: Get rid of the reuse concept for Windows and refactor the code a bit for window creation / deletion.
      winhelp: Added the notion of WINHELP_WNDPAGE and use it to move the history to the global variables.
      winhelp: Store the history in correct order.
      winhelp: Present correctly the history when dealing with multiple files.
      winhelp: Properly handle the back button (in multiple windows, in empty stack...).
      winhelp: Fix window caption index in |SYSTEM.
      winhelp: Fix the loading of a row in a table (especially, for multiple paragraphs in a single cell).
      winhelp: Properly display the page title.
      winhelp: Don't add a page to the history when using the back button.
      winhelp: Replaced an erroneous FIXME by a TRACE in MACRO_DisableButton().
      winhelp: Fixed JumpId and JumpKeyword with correct signature and implementation.
      winhelp: Enable/Disable prev/next buttons if there's a prev/next page.
      winhelp: Simplified message box handling.
      winhelp: Now use the icon out of hlpfile if any.
      winhelp: Added ability to locate information within a page (and to store it inside WNDPAGE).
      winhelp: Also store the relative offsets of a page in the history and back information sets.
      winhelp: Simplify most of the helpers dealing with window creation.
      winhelp: Store reference to the popup (if any) as a WINHELP_WINDOW pointer.
      winhelp: Popup's background color should be inherited from parent.
      winhelp: Fix the link kind (and color) of the 0xEA-0xEF family.
      winhelp: Be sure to raise a newly (re)created window in all cases.
      winhelp: Added as an option, to use richedit to render the text window.
      winhelp: Start feeding the richedit control with relevant RTF stream.
      winhelp: Add proper support for charset from headers and escaped non ANSI characters in RTF stream.
      winhelp: Added proper RTF conversion for non breakable space and hyphen.
      winhelp: Implement the first round of support for links in RichEdit.
      winhelp: Correctly compute the popup size and manage the popup when richedit is used.
      winhelp: Create the shadow window also for popups handled by RichEdit.
      winhelp: Allow links inside popups to work properly.
      winhelp: Setup a better font size for the richedit rendering.
      winhelp: Added support for richedit tabs in paragraph format.
      winhelp: Added support for paragraph information.
      winhelp: Set the alignment of paragraph in richedit.
      winhelp: Set the borders of a paragraph in richedit.
      winhelp: Properly decode the keep bit in paragraph style.
      winhelp: Emit proper RTF tokens for a bitmap.
      winhelp: Emit the proper RTF stream for a metafile to RichEdit.
      richedit: Properly handle the background in case of border in paragraph.
      richedit: Ensure wrapping is done all the time after inserting an RTF stream.
      wordpad: Open the filename passed on command line if any.
      msvcrt: Fixed symbol unmangling for template-parameter-?? form, as well as test.
      msvcrt: undname: correctly handle multi-dimensional arrays.
      msvcrt: Fixed space in type with double indirection.
      winhelp: Make richedit the default for rendering.
      winhelp: Generate the proper RTF data for a table formatting.
      winhelp: Added support for transparent bitmaps.
      msvcrt: Added __iob_func implementation.
      janitorial: Prototype func() should be func(void).
      winedump: Print more meaningful information about module list.
      winedump: Added support for latest versions of Codeview (VC70).
      winedbg: Try harder to locate a source file.
      winedbg: Added implementation of qSupported request.
      winedbg: Attach the source files to a given process, and unload them at process end.
      dbghelp: Prevent debug overflow of internal buffer while tracing.
      dbghelp: Revert commit ae1791b0b8d181e0d01f8db1cae4eba48edefbac and correctly fix what this patch was trying to do.
      dbghelp: Some cleanup in dwarf include files.
      winedbg: Added ability to print properly float/double values.
      winhelp: Get rid of the old internal rendering.
      winhelp: Remove the internal data used for the old rendering.
      winhelp: We can now get rid of the tests about a NULL rtfData block.
      winhelp: Added support for font scaling when using RichEdit.
      winhelp: Added support for relative offsets in richedit rendered pages.

Erik de Castro Lopo (5):
      include: Fix "warning: cast from pointer to integer of different size".
      user32/tests: Use SetWindowLongPtr instead of SetWindowLong.
      crypt32: Use LOWORD on LPCSTR type instead of casting to int.
      ntdll: Win64 fix for get_pointer_obfuscator.
      dbghelp: Fix pointer cast.

Frans Kool (2):
      winecfg: Added missing Dutch translation.
      start: Fixed Dutch translations.

Gerald Pfeifer (1):
      widl: Fix syntax to also work with older versions of bison.

Guy Albertelli (4):
      listview: Implement LVS_EX_GRIDLINES functionality.
      listview: Implement 2 pixel decoration at top of report style with grid lines.
      listview: Correct return value from LVM_GETORIGIN including tests for this.
      usp10: Use passed hdc instead of cached one for ScriptTextOut with test to check.

Hans Leidekker (2):
      usp10: Remove redundant code from ScriptTextOut.
      usp10: Fix a few failing tests and make them pass on Wine.

Herve Chanal (1):
      winhelp: A nicer icon.

Huw Davies (3):
      user32: Fix bitmap_info_size to take into account bit field masks.
      gdi32: Rename DIB_BitmapInfoSize to bitmap_info_size and fix to take into account bit field masks.
      winex11.drv: Rename X11DRV_DIB_BitmapInfoSize to bitmap_info_size and fix to take into account bit field masks.

Hwang YunSong(황윤성) (3):
      reg: Updated Korean resource.
      winhelp: Updated Korean resource.
      start: Updated Korean resource.

Jacek Caban (64):
      mshtml: Parse and store onload attributes.
      mshtml: Added load event support.
      mshtml: Added IDispEx::GetDispID implementation.
      mshtml: Added IDispatchEx::InvokeEx implementation.
      mshtml: Added IDispatchEx::Invoke implementation.
      mshtml: Added IDispatchEx::GetIDsOfNames implementation.
      mshtml: Forward IOmNavigator's IDispatch method to IDispatchEx implementation.
      mshtml: Added window IDispatchEx implementation.
      mshtml: Forward window IDispatch methods.
      mshtml: Added navigator's IDispatchEx test.
      mshtml: Added IHTMLWindow2::get_document implementation.
      mshtml: Forward IHTMLWindow2::setTimeout to IHTMLWindow3::setTimeout.
      mshtml: Added setTimeout implementation.
      mshtml: Make IHTMLDocument2 iterface offset independent.
      mshtml: Added HTMLDocument's IDispatchEx implementation.
      mshtml: Forward IHTMLDocument2's IDispatch methods to IDispatchEx implementation.
      mshtml: Added IHTMLDocument3::getElementById implementation.
      mshtml: Use heap_alloc_zero for allocating node objects.
      mshtml.idl: Added DispHTMLUnknownElement declaration.
      mshtml: Added elements IDispatchEx implementation.
      urlmon: Ignore query and hash part in file protocol URL.
      oleaut32: Properly clear VT_BSTR record.
      oleaut32: Clear record in RecordDestroy.
      oleaut32: Handle VT_R4 in RecordClear (spotted by Konrad Rzepecki).
      mshtml: Fixed typo.
      mshtml: Return S_OK in QueryContinue.
      mshtml: Added more IDispatchEx tests.
      mshtml: Return VT_NULL instead of empty string in getAttribute.
      mshtml: Added IHTMLDOMNode2 stub implementation.
      mshtml: Added IHTMLDOMNode2 to IDispatchEx support.
      mshtml.idl: Added DispHTMLDOMText declaration.
      mshtml.idl: Added IHTMLDOMTextNode declaration.
      mshtml: Added get_firstChild implementation.
      mshtml: Added IHTMLDOMTextNode stub implementation.
      mshtml: Added IDispatchEx support to text node.
      mshtml: Added get_nodeType implementation.
      mshtml.idl: Added DispHTMLElementCollection declaration.
      mshtml: Added IDispatchEx support to HTMLElementCollection object.
      mshtml.idl: Added DispHTMLInputElement declaration.
      mshtml: Added put_backgroundImage implementation.
      mshtml: Added IHTMLInputElement::get_disabled implementation.
      mshtml.idl: Added IHTMLDOMChildrenCollection and DispDOMChildrenCollection declaration.
      mshtml.idl: Added DispHTMLOptionElement declaration.
      mshtml: Added IHTMLCommentElement declaration.
      mshtml: Added support for custom DISPIDs.
      mshtml: Added indexed access to HTMLElementCollection object support.
      mshtml: Added IDispatchEx support to HTMLInputElement.
      mshtml: Added IDispatchEx support to HTMLOptionElement.
      mshtml.idl: Added DispHTMLImg implementation.
      mshtml.idl: Added DispHTMLStyle declaration.
      mshtml: Added get_childNodes implementation.
      mshtml: Added IHTMLDOMChildrenCollection::get_length implementation.
      mshtml: Added IHTMLDOMChildrenCollection::item implementation.
      mshtml: Added IDispatchEx support to HTMLDOMChildrenCollection.
      mshtml: Moved IDispatchEx initialization to HTMLElement_Init.
      mshtml: Don't assume that nselem is valid in HTMLElement.
      mshtml: Handle COMMENT_NODE like ELEMENT_NODE in element collection.
      mshtml: Added IHTMLCommentElement stub implementation.
      mshtml: Added comment and childNodes test.
      mshtml.idl: Added DispHTMLCommentElement declaration.
      mshtml: Added IDispatchEx support to HTMLCommentElement.
      mshtml: Added IDispatchEx support to HTMLStyle.
      mshtml: Added IHTMLImgElement stub implementation.
      mshtml: Added IDispatchEx support to HTMLImgElement.

James Hawkins (39):
      advpack: Remove a test that fails inconsistently on several platforms.
      advapi32: Fix a test that fails on some versions of win2k.
      advapi32: Remove a test that fails on some systems.
      advpack: Fix a few failing tests in win95.
      crypt32: Remove tests for properties not present on all systems.
      inetcomm: Fix a test that fails on all systems.
      kernel32: Skip the screen buffer tests if codepage 866 is not available.
      msi: Fix a few tests that fail in win9x.
      advapi32: Fix a test that fails in win2k3.
      kernel32: Fix a test that fails in win9x.
      kernel32: Fix two tests that fail in win9x.
      imm32: Fix a test that fails on all systems.
      shdocvw: Fix a test that fails on all platforms.
      version: Fix tests that fail in win9x and win2k.
      kernel32: Fix a test that fails on win9x.
      pdh: Fix two tests that fail on win2k3.
      riched20: Fix a few tests that fail in XP and up.
      shell32: Fix a test that fails in win2k3.
      uxtheme: Fix a test that fails in win2k3.
      advapi32: Fix a test that fails in win2k3 SP2.
      d3d8: Fix a few test failures in win2k3.
      gdi32: Remove a dependence on the amount of available memory.
      winspool.drv: Disable a test for capabilities not available on all printer drivers.
      winmm: Remove a failing test that is driver-specific.
      ddraw: Fix tests that fail with the reference rasterizer.
      kernel32: Fix a test that fails in win2k3.
      msi: Remove a debugging call.
      cabinet: Revert "cabinet: Fix for FDICopy with an empty cabinet file.".
      d3d9: Fix a few test failures in win2k3.
      ddraw: Remove a test that fails in VMs.
      schannel: Fix a test that fails in win2k3.
      user32: Fix a test that fails on platforms without IME.
      msi: Add initial implementation of MsiPublishAssemblies.
      gdi32: Remove a dependency on the amount of available memory.
      user32: Fix a test that fails in win2k3.
      urlmon: Fix a test that fails in win2k3.
      ntdll: Fix two tests that fail on all NT platforms.
      msi: A progid who is its own parent cannot have a clsid.
      itss: Remove a test that we expect to fail sometimes.

Jeff Latimer (1):
      user32/tests: Fix typedefs & function definitions so that the code compiles in visual C++ 2005.

Jeff Zaroyko (3):
      msadp32.acm: Use the same szShortName value as windows.
      msacm32.drv: Increase the reported vDriverVersion.
      wine.inf: Use lowercase for some drivers32 entries and remove trailing whitespace.

Jens Albretsen (1):
      ddraw: Fixed device name.

Jeremy White (1):
      gdi32: Shift default height used in EnumStructs to the standard em size of 2048.

John Klehm (3):
      winex11: Allow wintab devices with less than 5 axes.
      winex11: Allow wizardpen to be detected as a stylus.
      winex11: Add support for IsXExtensionPointer tablet devices.

Joris Huizer (1):
      mshtml: Fixed copy/paste mistake.

Juan Lang (1):
      cryptdlg: Implement GetFriendlyNameOfCertA/W.

Kai Blin (3):
      ws2_32: Work around the host name resolving to 127.x.x.x when using that for binding.
      ws2_32: Handle gethostbyname call failure, add tests.
      secur32: Don't call waitpid() in dispatcher.

Kirill K. Smirnov (3):
      winhelp: We can reference any page in HLPFILE_BrowsePage(). Perform similar change in HLPFILE_DoReadHlpFile() for the symmetry.
      winhelp: Shift by 6 not 4 in case of old 3.0 file.
      winhelp: Fix possible copy/paste error.

Kusanagi Kouichi (8):
      winex11.drv: Generate WM_IME_ENDCOMPOSITION when preedit ends.
      winex11: Generate WM_IME_ENDCOMPOSITION when composition string is canceled.
      imm32: Fix a meaningless test.
      winex11: Destroy the handle to the composition string after it is cancelled.
      imm32: Fix typos.
      winex11: hCompStr should never be NULL because Wine expects it is not NULL.
      winex11: Remove unnecessary #include.
      winex11: Allow XIM server to be started after Wine.

Lei Zhang (13):
      gdiplus: Initialize variables in the graphics test.
      gdiplus: Do not access freed memory in a test.
      user32: Add a test for sending WM_KEYDOWN to a child edit control.
      user32: Handle VK_RETURN WM_KEYDOWN events better in edit controls.
      winex11: control + enter should generate '\n' instead of '\r'.
      user32: Edit controls should ignore WM_KEYDOWN on control + enter.
      advapi32: Replace UuidToStringW call with a sprintfW.
      winmm: Do not unload drivers when the process is terminating.
      userenv: Add initial tests for CreateEnvironmentBlock.
      userenv: Initial implementation of CreateEnvironmentBlock.
      userenv: Add tests for environment variables for CreateEnvironmentBlock.
      userenv: Add more tests for environment variables for CreateEnvironmentBlock.
      userenv: Add a test for variable inheritance for CreateEnvironmentBlock.

Lionel Debroux (1):
      dinput: joystick test: Improve reporting when enumerated axes/buttons/POVs don't match capabilities.

Maarten Lankhorst (41):
      dsound: Skip the sound checks on the primary module and change its driver module to "".
      quartz: Make the video renderer drop preroll samples.
      quartz: Fix theoretical memory leak.
      quartz: Fix sample leak in file source on failure path.
      quartz: Flux AsyncReader in PullPin_BeginFlush.
      quartz: Make acmwrapper respect preroll samples.
      quartz: Set media time in the file source.
      quartz: No longer drop packets on discontinuities.
      quartz: Drop preroll frames in directsound renderer too.
      quartz: Only drop Preroll samples after obtaining its time.
      quartz: Add more seek entries and fix a time continuity bug.
      quartz: Change longlong printfs.
      quartz: Add some more tests and fix wine to pass them.
      explorer/mountmgr.sys: Move device hotplug code over to mount manager.
      quartz: Optimize the processing thread to fetch one sample while processing another.
      quartz: Fix error message names in tests.
      quartz: Fix inverted logic in memallocator.
      quartz: Copy discontinuity status in acmwrapper.
      quartz: Add some sanity checks to file splitter.
      quartz: Make wave parser and mpeg splitter zero copy by getting rid of the seperate allocator for the output pin.
      quartz: Make the file source support multiple samples by preallocating enough handles.
      dsound: Skip WAVE_FORMAT_EXTENSIBLE tests on directx < 8.
      quartz: Add a vtable argument to Parser_Create that individual filters can override.
      quartz: NotifyAllocator does not like a null argument.
      quartz: Fix time discontinuities in the acm wrapper.
      quartz: Make the EnumPins interface dynamic.
      quartz: Optimize the file source to do its job better.
      quartz: Make dwSamplesProcessed a longlong.
      quartz: Add a function that can be called when stopping processing data.
      quartz: Fix acmwrapper time regression.
      quartz: Fix bug in memallocator with test.
      quartz: Keep track of the time in the video renderer.
      quartz: Handle failures better in acmwrapper.
      quartz: Some state changes fixes.
      Revert "quartz: Handle failures better in acmwrapper.".
      quartz: More filesource fixes.
      quartz: Clean up pullpin code.
      quartz: Get rid of the sample holding code in the mpeg splitter.
      quartz: Get rid of the sample holding code in the wave parser.
      quartz: Silence a fixme that isn't.
      headers: Add some extra defines to vfw.h.

Markus Weiland (1):
      dxdiagn: Implemented ullPhysicalMemory property for DXDiagSystemInfoContainer.

Mathias Gottschlag (2):
      winecfg: Fix some errors in the German translation.
      taskmgr: Fix some German translation errors.

Matthias Derer (1):
      winejack: Re-added line which has been accidently deleted.

Michael Stefaniuc (4):
      winecfg: Fix typos in the En(US) resource.
      winecfg: Update and fix the Romanian translation.
      start: Update the German translation.
      winecfg: Transform the set_advanced() driveui function to unicode.

Nikolay Sivov (34):
      gdiplus: Implemented GdipVectorTransformMatrixPointsI.
      gdiplus: Implemented GdipAddPathLine.
      gdiplus: Implemented GdipDrawRectangle.
      gdiplus: GdipCreateLineBrushI implemented using float args version.
      gdiplus: Implemented GdipCloneFont.
      gdiplus: Implemented GdipTransformMatrixPointsI.
      gdiplus: Implemented GdipDrawPieI.
      gdiplus: Implemented GdipDrawRectanglesI.
      gdiplus: Implemented GdipDrawPolygon/GdipDrawPolygonI.
      gdiplus: Implemented GdipFillPieI.
      gdiplus: Implemented GdipGetLineRect/GdipGetLineRectI.
      gdiplus: Implemented GdipGetLineColors.
      gdiplus: Implemented GdipSetLineColors.
      gdiplus: Implemented GdipAddPathBezier.
      gdiplus: Implemented GdipDrawImageRect/GdipDrawImageRectI.
      gdiplus: Implemented GdipAddPathBeziersI.
      gdiplus: Implemented GdipAddPathEllipseI.
      gdiplus: Implemented GdipCreatePathGradientI.
      gdiplus: Implemented GdipCreateLineBrushFromRect.
      gdiplus: Implemented GdipDrawCurve2I.
      gdiplus: Implemented GdipDrawCurve/GdipDrawCurveI.
      gdiplus: Implemented GdipDrawImage.
      gdiplus: Implemented GdipDrawImagePointsRectI.
      gdiplus: Implemented GdipFillEllipse/GdipFillEllipseI.
      gdiplus: Implemented GdipFillRectangles/GdipFillRectanglesI.
      gdiplus: Implemented GdipGetDpiX/GdipGetDpiY.
      gdiplus: Implemented GdipGetPathGradientCenterPointI.
      gdiplus: Implemented GdipGetPathPointsI.
      gdiplus: Implemented GdipGetPathWorldBoundsI.
      gdiplus: Implemented GdipIsMatrixEqual.
      gdiplus: Implemented GdipIsMatrixIdentity.
      gdiplus: Implemented GdipMultiplyWorldTransform.
      gdiplus: Implemented GdipSetPathGradientCenterPointI.
      gdiplus: Implemented GdipCreateFontFromDC.

Paul Vriens (10):
      tools/ Fix a typo.
      gdi32/tests: Run tests on win9x again.
      oleaut32/tests: Skip a test on win9x.
      user32/tests: Skip tests if function is not implemented.
      kernel32/tests: Fix tests on win9x.
      urlmon/tests: Fix timeout for tests on win9x.
      user32/tests: Run tests again on win95.
      winecfg: Better alignment of text and combobox.
      kernel32/tests: Don't run tests on win9x if we are out of memory.
      kernel32/tests: Skip some tests on win98.

Petr Sumbera (1):
      port: Add alternative for isinf.

Reece Dunn (3):
      shlwapi/tests: Fix the return codes for Windows 2000 (without IE6 installed).
      shlwapi/tests: Improve the way that the UrlCanonicalize tests report failure.
      shlwapi/tests: Add 'res:' protocol tests for UrlCanonicalize.

Rico Schüller (1):
      msftedit: Add DllGetVersion.

Rob Shearman (54):
      widl: Stop looping in check_remoting_args when a context_handle or wire_marshal type is found as they are in effect fundamental types.
      widl: Check that fields in structures and unions referenced by non-local functions can be marshalled and that their attributes are consistent.
      widl: The implicit_handle attribute is allowed with a handle explicitly specified in the function parameters.
      widl: Automatically add "handle_t IDL_handle" parameter to functions with no explicit handle specified whose containing interface has the explicit_handle attribute.
      widl: Issue an error instead of crashing for dividing by zero in a constant expression.
      widl: Add support for "->" and "." operators in expressions.
      widl: Add support for arrays in expressions.
      widl: Add support for '%' operator in expressions.
      widl: Fix operator precedence in expressions.
      widl: Require a constant expression for case statements.
      widl: Add support for comparison, exclusive or, logical not and positive operators in expressions.
      widl: Remove EXPR_MEMBERPTR and implement it using EXPR_PPTR and EXPR_MEMBER instead.
      widl: Don't free input_name in pop_import as we keep pointers to it in the var_t type now.
      widl: Pass the actual type into check_remoting_fields and check_field_common instead of the type name.
      widl: Check that expressions resolve so that expressions in generated code will compile.
      widl: Move expression functions to a new file, expr.c.
      widl: Use expr_resolve_type to get the type of the identifier in write_conf_or_var_desc.
      widl: Remove duplicated code in the form of the write_struct_expr function by enhancing write_expr to allow toplevel identifiers to be prefixed by a string, if specified.
      crypt32: Decode the message content on finishing in CDecodeMsg_Update for the streamed case as well as the non-streamed case.
      wintrust: Implement WTHelperGetProvPrivateDataFromChain.
      wintrust: Check that provider functions are not NULL before using them.
      widl: Implement lcid property on library declarations.
      widl: Construct the pointer chain while parsing pointers, rather than storing a ptr_level.
      widl: Allow NULL to be used in expressions.
      widl: Create a list of statements in the whole IDL file, instead of just a list of interfaces.
      widl: Add typedef statements to the statement lists.
      widl: Consolidate most of the inner loop of reg_typedefs into set_type.
      widl: Rename pident to declarator and parse the array declarations as part of declarators.
      widl: Make the rules for parsing fields in structures, encapsulated unions and non-encapsulated unions more strict.
      widl: Add support for declaring multiple fields of a structure in one statement.
      widl: Add support for string literals and wide-string literals in expressions.
      widl: Create a statement object for import statements.
      widl: Move the func_declarator rule entirely into direct_declarator.
      rpcrt4: Use safe_copy_from_buffer instead of direct memory copy in NdrBaseTypeUnmarshall.
      widl: Add typedefs to typelibs which have the public or uuid attributes, not any other attribute.
      widl: Support hex digits that use an uppercase 0X prefix.
      widl: Accept integer constant suffixes in the lexer.
      ole32: Fix two comments about the running object table.
      ole32: Add tests for registering a moniker more than once in the ROT and then using it.
      ole32: Add a test for marshaling an object as table-weak and as normal and then unmarshaling and testing that the object is released on the final release.
      ole32: Keep track of the number of weak references to an object.
      rpcss: When registering a moniker that is already registered in the ROT another ROT entry should still be created and a distinct cookie returned.
      widl: Keep const attributes applied to pointers when writing out the type.
      widl: Add support for "inline" on function definitions.
      widl: Make constdef and externdef take a declarator instead of an ident so that functions and arrays can be defined using the statements.
      widl: Allow pointer attributes to be applied to function pointers.
      widl: callback, code, comm_status and in_line are attribute names, not keywords.
      widl: Prepare for supporting storage classes in declaration statements.
      widl: Add the parsing of storage classes into declaration-specifiers.
      cryptdlg: Add stubs for CertTrustInit, CertTrustCertPolicy, CertTrustCleanup and CertTrustFinalPolicy.
      wininet: Don't crash in GetUrlCacheEntryInfoA/W if lpdwCacheEntryInfoBufferSize is NULL.
      wininet: Add tests for GetUrlCacheEntryInfoExA.
      advapi32: Make sure not to return a credential with a NULL UserName field when a Mac Keychain doesn't have an account name attribute.
      widl: Consolidate writing of COM and dispatch interfaces into one function to remove duplicated code.

Robert Reif (1):
      winmm: Fix a test failure on Windows with Terminal Server.

Roderick Colenbrander (16):
      wined3d: Add palette re-upload support for cards with hardware palette support.
      wgl: Put the core functionality of X11DRV_SetPixelFormat in a separate function.
      wgl: Add a wine specific WGL extension which allows you to change the pixel format multiple times.
      wined3d: Split WGL pixel format selection code off from CreateContext.
      wined3d: Store more information about pixel formats. This is needed for some WineD3D_ChoosePixelFormat restructuring.
      wined3d: Let WineD3D_ChoosePixelFormat operate on the pixel format database we store at WineD3D startup.
      wined3d: Also use WineD3D_ChoosePixelFormat for pbuffers.
      wined3d: Fix a few small bugs in WineD3D_ChoosePixelFormat.
      wined3d: Add multisampling support.
      wgl: We were already advertising GL_EXT_framebuffer_sRGB but not the corresponding WGL_FRAMEBUFFER_SRGB_CAPABLE_EXT.
      opengl32: Drop the ChoosePixelFormat test as it is very unreliable.
      opengl32: Get rid of X/GLX leftovers.
      wined3d: Fix typo in pixel format trace.
      wined3d: In window mode (!pbuffer) we want both a window drawable format and double buffering.
      wined3d: We don't want double buffering in pbuffer mode.
      ddraw: Enable EnableAutoDepthStencil to receive depth support.

Stefan Dösinger (11):
      wined3d: Use the shader backend to enable / disable atifs and nvts.
      wined3d: Support framebuffer reading from texture_rectangle sources.
      d3d9: Add a test for NP2 stretchrect.
      wined3d: Call activate_dimensions from the atifs code.
      d3d9: Make the offscreen format test a bit more tolerant.
      wined3d: More fglrx spam.
      wined3d: Fix the GL_ATI_separate_stencil codepath.
      wined3d: Fix DP2ADD in GLSL.
      d3d9: Check textures for srgb writing, not surfaces.
      d3d9: Dump the device information in the visual tests.
      wined3d: Remove an unused variable.

Stefan Leichter (1):
      shell32: Implement SHGetFolderPathAndSubDirA/W.

Steven Edwards (1):
      rpcrt4: Correct the number of aguments for fill_method on unsupported architectures.

Tijl Coosemans (2):
      hhctrl.ocx: Plug memory leak.
      hhctrl: Fix NULL pointer dereference in some failure cases.

Tomasz Jezierski (1):
      shell32: Secure filename copy to fixed size variable wfileName.

Tomasz Nowiński (1):
      Fixed typos in the Polish translations.

Vitaliy Margolen (9):
      shdoclc: Add Russian translation.
      Update Russian translation.
      dinput: Limit number of supported axis and buttons.
      dinput: Explicitly set extended key flag for Right Shift.
      winex11: Fix GetKeyNameText for Right Shift.
      winex11: Use constants instead of magic numbers in GetKeyNameText.
      winex11: Fix MapVirtualKeyEx to properly map left-right modifier keys.
      dinput: Fix default axes mapping generation.
      dinput: Fix typo.

Vitaly Perov (2):
      cabinet: Added a test for FDICopy with an empty cabinet file.
      cabinet: Fix for FDICopy with an empty cabinet file.

Alexandre Julliard
[email protected]