Wine release 0.9.60

Alexandre Julliard julliard at
Fri Apr 18 10:59:16 CDT 2008

This is release 0.9.60 of Wine, a free implementation of Windows on Unix.

What's new in this release (see below for details):
  - Better support for Windows IMEs.
  - Option for Windows-style window decorations.
  - Improved system tray behavior.
  - Window management fixes.
  - Improved quartz audio support.
  - Better support for launching apps from Unix file managers.
  - 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.59:

   2989  Wine supports only one DISPLAY per session
   3185  Invalid working directory results in crashes file open/close dialog
   3534  Systray icons are not transparent...
   4056  winecfg is unusable with the default virtual desktop size
   5034  Wrong size of commdlg OpenFile dialog in radvideo.exe
   5346  Library initialisation crash with USER and X11DRV
   5396  Tabbed Text
   5804  iTunes detects incorrect version of QuickTime
   5887  Wine does not load dynamically generated fonts
   6257  Ankh Demo crashes in OpenGL mode
   6450  Deus Ex user input stops working intermittently
   6573  Errors while trying to run Ragnarok Online causing game to crash at startup
   6785  Continuum doesn't run in non-virtual desktop when windowed
   6786  Continuum windowed mode under virtual desktop puts pixels ~15 too low
   6871  Textures in GTAIII are rendered as grey and silver weirdness
   6907  Delphi applications printing bug
   6999  Prince of Persia Warrior Within plays videos with blank screen then closes
   7137  game Secret Files Tunguska dies randomly with "unknown error" poping up
   7140  segfault running rc.exe via make
   7174  Master of Orion 2 does not switch screen resolution correctly
   7193  Deus Ex fullscreen > 1024x768 cut off
   7231  TextPad4: Can't print
   7477  Uplink demo crashes
   7596  HomeSeer 2.2 will not install
   7622  Sony Vegas 7.0
   7631  Titan Quest hangs after 5 seconds in menu
   7647  The updater for Gekkeiju Online crashes with an error message.
   7679  IMVU 3D Avatar Chat client crashes
   7786  Grand Prix 3 dplay error
   7836  Prism fails to start
   7879  Mono (D3D Game) dies with an error about sound
   7945  3dmark 2000 demo immediately exits
   8049  Edit control text length is off by one
   8086  gdi32 font test fails in fonts with charset 130
   8116  MyScribe doesn't start (Suse 10.0)
   8143  Project IGI 2 : Covert Strike crashes at the end of intro movie
   8319  Autocad 2008 trial install fails very early
   8540  C&C3: Malfunctioning shaders (ATI)
   8547  Intel Image processing Library - ipla6 error preventing operation.
   8551  MoveFileWithProgressW unconditional fails for directories with flag MOVEFILE_REPLACE_EXISTING
   8641  Supreme Commander Patch crashes
   8809  When in "Wine desktop" mode, systray crashes
   9010  HebRech takes forever to load
   9011  incorrect dup() behavior
   9047  Civilization IV Expansion pack "Beyond the Sword" Install Crash
   9286  nice icon and menu
   9315  Running Corel Draw 7 causes crash
   9631  Window with specific classes/styles/ex_styles should bypass WM taskbar
   9647  iTunes 7 sound loopy, unstable
   9671  Derive 5 no longer draws graphs in color
   9731  GdiConvertToDevmodeW trying to copy -32 bytes on memcpy
   9740  Unimplemented function causes Phantasmagoria 2 to crash
   9765  iTunes 7.4.3 can't connect to the iTunes music store
   9793  Circuitmaker 2000 trouble with wire manual routing
   9809  Autodesk Revit Architecture 2008 install fails
   9969  OPAS shows error boxes when hovering over calendar item
  10446  Capslock key press not detected
  10750  shdocvw carshes after showing webpage
  10867  Trying to run Ztree under wine : "Could not get hWnd"
  10917  Checkpoint Smart Dashboard crashes
  11026  newly created tool window does not have keyboard focus
  11111  Picasa slideshow does not have focus on Gnome
  11252  Adobe Photoshop CS2 window motion cosmetic problem
  11347  Microsoft Word 2000 - some fonts are always bold
  11371  Not possible to open documents with Teach2000
  11463  conflicting types between Wine list.h and Solaris list.h in server/fd.c
  11474  winelauncher mixes up stdout & stderr
  11547  corrupted double-linked list - glasgow haskell compiler
  11593  winecfg does not correctly import colour theme profiles
  11679  BW Styler Plugin for Adobe Photoshop CS/CS2 ugly cosmetic problem
  11731  iTunes doesn't register mouse clicks properly
  11775  Oleview does not correctly generate idl files
  11784  3dsmax2008 installer crashes:err:cursor:DIB_GetBitmapInfo (1633746944): unknown/wrong size for header
  11870  Steam Crashes when trying to install any game with GLX Error
  11973  Chatstat crashes into wintrust
  12050  No mouse cursor after minimize-restore in Uru
  12073  Cyberboard: selection windows don't change selection
  12108  Regression in mshtml results in page causes page fault when visiting a web page
  12110  Regression in Starfleet Command game since 0.9.57
  12150  Photoshop7 -> open file -> select more than 36 files, Wine dies
  12156  closing multiple help windows crashes wine
  12162  Heroes of Might & Magic IV awful frame rate
  12203  Windows Live Messenger 8.1.0178 fails to install
  12249  Ultraedit v14.00a builtin MSI doesn't work.
  12250  Call of Cthulhu: Slow and jerky mouse movement
  12264  IDA disassembler (and other apps developed in Delphi) window isn't added to taskbar
  12266  EVE Online interface got several glitches between 0.9.58 and 0.9.59
  12296  Some games are crashing when they switch the resolution
  12325  winebrowser / mapi32.dll does not support accented characters in mailto:
  12331  windows driver doc kit won't install.
  12343  Anarchy Online: Shift Clicking anything with left shift does not work as intended
  12362  Systray support for all applications is broken
  12365  ntoskrnl: crash on unimplemented API: KeQueryActiveProcessors / KeQueryInterruptTime  (starforce)
  12397  Can't accept licence of Swat 4 demo
  12399  Oregon Trail 5th Edition: will not start
  12408  Swat 4 Demo Installer license text displayed incorrectly
  12409  EVE Premium Client Login Screen Black
  12410  f761b908013698ee4e015ea03f48ce5d170fb666 breaks ghostrecon
  12413  Pokerstars windows not refreshed
  12424  QIP: message window hangs often if minimized
  12439  Regression: Age of Mythology: Installer page faults
  12445  Arcgisexplorer crashes in dbghelp
  12461  SmartFTP Client requires an implementation of cryptui.dll
  12465  winetest compilation regression with 0.9.59 (Bourne shell problem)
  12469  Keyboard navigation regression in some controls
  12482  Wine 0.9.59 don't do linefeed when ENTER is pressed in any "MEMO" in applications  compiled by DELPHI7.
  12493  CreateCompatibleDC creates a compatible DC from everything
  12496  SSF: SendMessage Error MessageBox ends program
  12498  fixme:htmlhelp:HtmlHelpW Not all HH cases handled correctly
  12499  RnQ: chat input textbox became non-multiline in 0.9.59
  12512  Ctrl+Home and Ctrl+End don't match Windows behaviour for the edit control
  12543  Shift-click not working in World of Warcraft after upgrade to latest wine (0.9.59) (affects Photoshop, too)
  12579  regression : cohabitation between windows in "mdi" application


Changes since 0.9.59:

Alex Villacís Lasso (1):
      user32: LoadImage(IMAGE_BITMAP) should reject invalid BMP files (with tests).

Alexander Dorofeyev (21):
      wined3d: Don't copy the extra line.
      wined3d: Implement CONVERT_RGB32_888 conversion.
      wined3d: Add ENTER_GL/LEAVE_GL in IWineD3DDeviceImpl_Uninit3D.
      wined3d: Add ENTER_GL/LEAVE_GL in IWineD3DDeviceImpl_ColorFill.
      wined3d: Add ENTER_GL/LEAVE_GL in IWineD3DDeviceImpl_ResourceReleased.
      wined3d: LEAVE_GL when exiting with error in tesselate_rectpatch.
      wined3d: Add ENTER_GL/LEAVE_GL in IWineD3DQueryImpl_Release.
      wined3d: Add ENTER_GL/LEAVE_GL in IWineD3DOcclusionQueryImpl_GetData.
      wined3d: Add ENTER_GL/LEAVE_GL in IWineD3DEventQueryImpl_GetData.
      wined3d: Add ENTER_GL/LEAVE_GL in IWineD3DEventQueryImpl_Issue.
      wined3d: Add ENTER_GL/LEAVE_GL in IWineD3DOcclusionQueryImpl_Issue.
      wined3d: move ENTER_GL in IWineD3DDeviceImpl_Init3D.
      wined3d: Add device->isInDraw checks in LoadLocation.
      wined3d: Move PreLoad to avoid calling it with gl lock held.
      wined3d: Set isInDraw later in drawPrimitive.
      include/d3d.h: Fix method calling macros.
      ddraw: Add possibility to ignore lights in viewport_activate.
      ddraw: Set active_device in AddViewport.
      ddraw: Temporarily activate viewport when clearing.
      ddraw/tests: Add viewport clearing tests.
      ddraw/tests: Add colorkeyed blit to p8_primary_test.

Alexander Morozov (3):
      setupapi: Add a test for SetupDiGetDeviceRegistryProperty and SetupDiSetDeviceRegistryProperty.
      setupapi: SetupDiGetDeviceRegistryProperty should return ERROR_INSUFFICIENT_BUFFER when buffer size is insufficient.
      setupapi: SetupDiGetDeviceRegistryProperty should return ERROR_INVALID_DATA when buffer size is not 0 but buffer is NULL.

Alexander Nicolaysen Sørnes (6):
      comdlg32: Update Norwegian Bokmål resource.
      oledlg: Fix control class in Norwegian Bokmål resource.
      shell32: Update Norwegian Bokmål resource.
      winecfg: Update Norwegian Bokmål resource.
      regedit: Update Norwegian Bokmål resource.
      winhelp: Update Norwegian Bokmål resource.

Alexandre Julliard (63):
      winex11: Ignore ConfigureNotify events when a window is iconified.
      user32: Fix a few ShowWindow todo tests.
      winex11: Fix handling of property sizes for 64-bit platforms.
      winex11: Get rid of the SetWindowPos hack to unmap systray windows.
      winex11: Set the _NET_WM_STATE atom directly for unmapped windows.
      winex11: Don't set NET_WM_STATE on the desktop window.
      libwine: Only use the last line of the git version description.
      user32: Fix list_window_parents when run in the desktop process.
      wrc: Add support for Unicode accelerator strings.
      libwine: Added mappings for codepage 1361 (Korean Johab).
      user32: Get rid of the debug mark option in the system menu.
      winex11: Improved handling of broken 8-bit TARGETS selection.
      winex11: Move all the embedded systray window support to winex11.drv.
      winex11: Make the system tray window transparent.
      winex11: Add a timer to detect when a systray owner has been destroyed.
      explorer: Implement a global system tray window.
      programs: Remove obsolete winelauncher script.
      tools: Remove the obsolete and genpatch scripts.
      winex11: Abstract window map/unmap to separate functions.
      winex11: Add some generic support for XEMBED client windows.
      winex11: Get rid of the useless systray hidden flag.
      winex11: Fix KeymapNotify handler to take left/right modifiers into account.
      winex11: Added an error handler to catch bad atoms in clipboard selections.
      winex11: Flush the display after creating X windows.
      user32/tests: Avoid testing uninitialized data.
      programs: Remove winelauncher from install rules.
      winex11: Separate the XIM process-wide setup from the IME creation.
      winex11: Make sure to flush painting operations before moving a window.
      comctl32: Get rid of the hack to remove size grips on managed windows.
      user32: Forward all WM_SYSCOMMAND messages to the driver, not only moves and resizes.
      user32: Moved the menu activation hack on managed windows to the X11 driver.
      winex11: Replace the keyboard flags bitfield by the official flag definitions.
      user32/tests: Replace the keyboard flags bitfield by the official flag definitions.
      wine.inf: Add a version number to make sure the file changes between versions.
      wordpad: Don't pass an invalid DC to CreateCompatibleDC.
      gdi32: Fix CreateCompatibleDC to reject invalid DCs.
      winex11: Don't set full screen style on minimized windows.
      winex11: Make WS_EX_APPWINDOW windows have normal type.
      winex11: Fix the type hint for the desktop window.
      shdocvw: Fixed typo in CLSID_InternetShortcut.
      preloader: Reserve low memory areas in separate chunks.
      kernel32: Reserve the low 64Kb area separately from the rest of the DOS memory.
      winedos: Handle memory reservation errors more gracefully.
      include: Add the SPSVCINST_* setupapi flags.
      setupapi: Move strdupW and strdupWtoA to the setupapi_private.h header.
      setupapi: Implemented SetupInstallServicesFromInfSectionW.
      setupapi: Install services in InstallHinfSection.
      wine.inf: Use a proper services section to install services.
      fusion: Fix a number of leaks in assembly_create.
      comdlg32: CDM_GETSPEC and CDM_GETFILEPATH should preserve double quotes in file lists.
      server: Keep a file descriptor open to the config directory to make sure we don't write the registry in the wrong place.
      winex11: Moved the ExposeEvent handler to event.c.
      winex11: Moved the MapNotify handler to event.c.
      winex11: Moved the WM_SYSCOMMAND handling to window.c.
      user32: Added support for WS_EX_RIGHT in the button control.
      user32: Added support for WS_EX_RIGHT in the edit control.
      user32: Added support for WS_EX_RIGHT in the static control.
      quartz: Avoid sizeof in traces.
      kernel32: Create the windows and system directories if necessary.
      setupapi: Add support for creating directories from the FakeDlls section.
      wineprefixcreate: Moved creation of directories to wine.inf.
      ntdll: Don't create a temporary dir, run wineprefixcreate directly in the final dir.
      gdi32: Fixed initialization of bit masks in GetDIBits for 16-bit bitmaps.

Alistair Leslie-Hughes (1):
      msxml3: Implement transformNode.

Anatoly Lyutin (2):
      user32/tests: Get rid of magic number.
      user32/tests: Add test for switching not maximized mdi children.

Andrew Talbot (23):
      port: Remove superfluous semicolon.
      wintrust: Avoid assigning to struct members from other structs.
      advapi32: Do not call MIDL_user_free() with pointer to stack memory.
      msdmo: Array parameter is passed to function as pointer so loses size information.
      advapi32: Array parameters are passed to function as pointers so lose size information.
      msdmo: Fix calculation of array size in bytes.
      dnsapi: Remove unused variables.
      comctl32: Remove unused variables.
      comctl32: Remove unused variables.
      crypt32: Remove unwanted shadow variable.
      comdlg32: Remove unused variables.
      crypt32: Remove unused variables.
      browseui: Fix handle leak.
      dinput: Fix handle leak.
      comctl32: Remove unused variables.
      dmime: Remove unused variables.
      comdlg32: Remove unused variable.
      dsound: Remove unused variable.
      dplayx: Remove unused variables.
      gdi32: Remove unused variable.
      gphoto2.ds: Remove unused variable.
      hhctrl.ocx: Remove unused variable.
      ddraw: Remove unused variables.

Apostolos Alexiadis (3):
      oleaut32: Added Greek translation.
      comctl32: Greek resources update.
      comdlg32: Greek resources update.

Aric Stewart (22):
      winex11: Add IME functionality to winex11drv.
      imm32: Implement ImmConfigureIME using the loaded IME.
      imm32: Load a default IME if a specific one is not specified. This defaults to x11.
      imm32: Implement ImmGetImeMenuItems using loaded IME.
      winex11: Have all xim interaction pass through the new x11drv IME interface.
      imm32: Make use of of the loaded IME for all processing.
      imm: Default context and hwnd are per thread so store that data in a thread local storage.
      imm32: Properly handle unicode and non unicode IMEs with SetCompositionString.
      imm32: ImmDestroyContext cannot destroy the default context.
      imm32: Semi-stub implement ImmEnumRegisterWord using loaded IME.
      imm32: Semi-stub implement ImmEscape using loaded IME.
      imm32: Semi-stub implement ImmGetConversionList using loaded IME.
      imm32: Implement ImmGetRegisterWordStyle using loaded IME.
      imm32: Implement ImmRegisterWord using loaded IME.
      imm32: Implement ImmUnregisterWord using loaded IME.
      imm32: Remember to unset the hwnd for a context when that hwnd is associated with a different context.
      user32: Make sure there is space for at least 6 items in a combo dropdown without forcing it to be at most 6 items as well.
      imm32: All HIMCC in the InputContext should be initialized at creation.
      imm32: Implement ImmProcessKey and ImmTranslateMessage.
      user32: Call ImmProcessKey in TranslateMessage to allow IMEs to handle key processing if they choose to.
      imm32: Create the IME UI window with the IME instance so the registered class can be found.
      wininet: Correct the case where Content-Length is set as well as Transfer-Encoding == chunked.

Austin English (6):
      Spelling fixes.
      msi: Spelling fixes.
      Spelling fixes.
      ole32: Spelling fixes.
      oleaut32: Spelling fixes.
      Spelling fixes.

ByeongSik Jeon (2):
      winex11: Add VK_HANGUL, VK_HANJA for Korean Native IME.
      imm32: Implement ImmSetConversionStatus.

Chris Robinson (1):
      wined3d: Check for NULL vertex declarations.

Colin Finck (1):
      gdi32: Add a test to demonstrate a CreateCompatibleDC problem.

Dan Hipschman (15):
      qedit/tests: Don't forget CoUninitialize.
      qedit/tests: Add test framework and test for IMediaDet_put_Filename.
      qedit/tests: Add a test for IMediaDet_get_OutputStreams.
      qedit/tests: Add a test for IMediaDet_get_Filename.
      qedit/tests: Add a test for IMediaDet_(put|get)_CurrentStream.
      qedit/tests: Add a partial test for IMediaDet_get_StreamMediaType.
      qedit/tests: Fix an incorrect count given to GetTempPathW.
      qedit: Implement IMediaDet_put_Filename.
      qedit: Implement IMediaDet_get_Filename.
      qedit: Implement IMediaDet_get_OutputStreams.
      qedit: Implement IMediaDet_(put|get)_CurrentStream.
      qedit: Implement IMediaDet_get_StreamMediaType.
      qedit: Implement IMediaDet_get_FrameRate.
      qedit: Add a stub for IMediaDet_get_StreamLength.
      qmgr/tests: Fix minor potential memory leaks.

Detlef Riekenberg (2):
      ntoskrnl.exe: Implement KeQueryActiveProcessors.
      ntoskrnl.exe: Implement KeQueryInterruptTime.

Dmitry Timoshkov (19):
      gdi32: Fully initialize face->ntmFlags on font load.
      winex11: Change the priority of evaluated window styles to workaround a Metacity bug with handling of utility windows.
      gdi32: Fix lfWidth before caching the font to avoid duplicate entries in the cache.
      gdi32: Move negative lfWidth test into a separate body, skip the test if there is no 'x' in the font.
      winex11.drv: Do not set window type to utility to avoid a Metacity bug.
      regedit: Fix Win64 warnings.
      wineboot: Fix Win64 warnings.
      wineconsole: Fix Win64 warning.
      winefile: Fix Win64 warnings.
      wordpad: Fix Win64 warnings.
      winhelp: Fix Win64 warnings.
      tools: Fix font structure layout for 64-bit mode.
      user32: Fix Win64 warnings.
      user32: Use appropriate type for lresult.
      gdi32: Clarify which font doesn't contain 'x'.
      gdi32: Map glyph to Symbol range only if the font supports symbol encoding.
      winex11.drv: Map zero-sized windows but don't add WM decoration to them.
      winedump: Print names for all known EMF records.
      winedump: Decipher contents of a couple EMF records.

Eric Pouech (5):
      dbghelp: Be stricter when looping in symbol tables.
      dbghelp: Prevent debug overflow of internal buffer while tracing.
      dbghelp: Fix invalid pointer dereference.
      richedit: Force window update when the word wrap option has changed.
      winhelp: Fix regression introduced by Win64 warning fixes.

Erik de Castro Lopo (1):
      msvcrt: Clear end-of-file flag on fseek.

Francois Gouget (11):
      services: Add a trailing '\n' to a couple of Wine traces.
      wineboot: Make sure COBJMACROS is defined before objidl.h is included.
      ddraw/tests: Fix compilation on systems that don't support nameless unions.
      fusion/tests: Fix compilation on systems that don't support nameless unions.
      Assorted spelling fixes.
      ole32: Fix spelling of GetComparisonData().
      Fix spelling of dwAssign.
      wldap32: Fix typo in the French resources.
      jscript/tests: Fix the '\n's in an ok() call.
      ddraw/tests: Fix compilation on systems that don't support nameless unions.
      Spelling fix in the ldt bitfields.

Hans Leidekker (1):
      winebrowser: Convert to Unicode.

Hin-Tak Leung (2):
      hhctrl.ocx: Return help window handle to caller.
      hhctrl.ocx: Look up in chm if url doesn't contain "://".

Huw Davies (2):
      gdi32: Don't overrun the current scanline while copying a glyph's bitmap.
      gdi32: LineDDA shouldn't include the end point.  Add some tests.

Hwang YunSong(황윤성 (8):
      winemine: Updated Korean resource.
      winecfg: Updated Korean resource.
      user32: Updated Korean resource.
      comdlg32: Updated Korean resource.
      shell32: Updated Korean resource.
      user32: Updated Korean resource.
      winecfg: Updated Korean resource.
      winefile: Updated Korean resource.

Hwang YunSong(황윤성) (10):
      progman: Updated Korean resource.
      notepad: Updated Korean resource.
      shell32: Updated Korean resource.
      uninstaller: Updated Korean resource.
      winecfg: Updated Korean resource.
      winemine: Update Korean resource.
      winhelp: Updated Korean resource.
      wordpad: Updated Korean resource.
      xcopy: Updated Korean resource.
      wineps.drv: Updated Korean resource.

Jacek Caban (17):
      mshtml: Added IHTMLWindow2::get_navigator implementation.
      mshtml: Don't crash if nsWebBrowser could not be created.
      mshtml: Remove unneeded includes.
      jscript: Added IObjectSafety implementation.
      jscript: Added IObjectSafety tests.
      include: Added ICanHandleException interface.
      mshtml.idl: Added DispHTMLWindow2 dispinterface.
      mshtml: Correctly handle NULL req in get_nscontainer_from_load_group.
      mshtmdid.h: Fixed IHTMLWindow2 dispids.
      mshtml.idl: Added IHTMLWindow3 declaration.
      mshtml: Make sure to null terminate buffer in parse_extern_script.
      mshtml: Added IActiveScriptDebug32 stub implementation.
      mshtml: Added generic IDispatchEx implementation and use it in OnNavigator.
      mshtml: Move get_typeinfo to dispex.c.
      mshtml: Added possibility to get node object from nsIDOMNode only if available.
      mshtml: Added IHTMLWindow3 stub implementation.
      mshtml: Store IActiveScriptParseProcedure in ScriptHost.

James Hawkins (21):
      msi: Reset the feature states if iInstallLevel is 0 or below.
      msi: Set the install context based on the ALLUSERS property.
      msi: Don't reorder the table when matching rows as the results are already ordered.
      msi: Test and reimplement MsiQueryProductState.
      msi: Open the install properties key based on the install context.
      msi: Don't execute the view again when modifying a WHERE query.
      advapi32: Fix a few tests that fail in win2k.
      crypt32: Fix a few tests that fail in win2k.
      ntdll: Fix a few tests that fail in win2k.
      kernel32: Add traces to see why the tests fail in win2k.
      shell32: Fix a few tests that fail in win2k.
      fusion: Implement IAssemblyCache::InstallAssembly.
      user32: Fix a test that fails in XP and win2k3.
      kernel32: Split the GetComputerName/Ex tests into their own test functions.
      kernel32: Fix a few failing tests in win2k.
      kernel32: Remove an invalid trace and comment.
      fusion: Explicitly check for -1 for a missing table.
      kernel32: Fix a test that fails in win2k.
      kernel32: Fix a test that fails in win2k and up.
      ole32: Fix a few tests that fail in win2k.
      oleaut32: Fix a few tests that fail in win2k.

Jeremy White (1):
      include: Add a resource type for scalable font resource (.fot) files.

John Klehm (1):
      wintab32: Implement WTSetA/W.

Jonathan Ernst (4):
      comdlg32: Updated French translation.
      winecfg: Updated French translation.
      winefile: Updated French translation.
      winhelp: Updated French translation.

Juan Lang (2):
      softpub: Forward softpub functions to wintrust.
      cryptui: Add stub DLL.

Jörg Höhle (1):
      wined3d: Fix missing break inside switch in SetAutoGenFilterType.

Kai Blin (1):
      dpnhpast: Implement a stub for DirectPlayNATHelpCreate.

Kusanagi Kouichi (4):
      winex11: Connect to XIM server dynamically.
      winex11.drv: Fix Solaris build error.
      user32: Handle IME messages more gracefully.
      winex11: Update caret position.

Lei Zhang (38):
      user32: Add more tests for ES_WANTRETURN.
      user32: Add more tests for single line edit control inside a dialog.
      user32: Add tests for edit controls and VK_RETURN.
      user32: Add tests for edit controls and VK_TAB.
      user32: Fix WM_CHAR return value for edit controls.
      user32: Handle ES_MULTILINE correctly for WM_KEYDOWN/VK_RETURN.
      user32: Handle VK_ESCAPE correctly in EDIT_WM_KeyDown.
      gdiplus: Add a stub for GdipSetClipRectI.
      user32: Add edit control check to see if its in a dialog on WM_CHAR/VK_RETURN.
      user32: Add edit control check to see if its in a dialog on WM_CHAR/VK_TAB.
      user32: Fix a typo.
      user32: Handle VK_TAB in EDIT_WM_KeyDown.
      gdiplus: Add a stub for GdipSetClipRegion.
      gdiplus: Add a stub for GdipSetCustomLineCapBaseCap.
      gdiplus: Add a stub for GdipGetCustomLineCapBaseInset.
      gdiplus: Add a stub for GdipSetCustomLineCapBaseInset.
      gdiplus: Add a stub for GdipSetCustomLineCapStrokeJoin.
      gdiplus: Add a stub for GdipSetCustomLineCapWidthScale.
      gdiplus: Add a stub for GdipSetEffectParameters.
      gdiplus: Add a stub for GdipSetEmpty.
      gdiplus: Add a stub for GdipSetImageAttributesCachedBackground.
      gdiplus: Add a stub for GdipSetImageAttributesGamma.
      gdiplus: Add a stub for GdipSetImageAttributesNoOp.
      gdiplus: Add a stub for GdipSetImageAttributesOutputChannel.
      gdiplus: Add a stub for GdipSetImageAttributesOutputChannelColorProfile.
      gdiplus: Add a stub for GdipSetImageAttributesRemapTable.
      gdiplus: Add a stub for GdipSetImageAttributesThreshold.
      gdiplus: Add a stub for GdipSetImageAttributesToIdentity.
      gdiplus: Add a stub for GdipSetInfinite.
      gdiplus: Add a stub for GdipSetLineColors.
      gdiplus: Add a stub for GdipSetLineLinearBlend.
      gdiplus: Add a stub for GdipSetLinePresetBlend.
      gdiplus: Add a stub for GdipSetLineTransform.
      gdiplus: Add a stub for GdipSetMetafileDownLevelRasterizationLimit.
      user32: Do checks in the right order in EDIT_BuildLineDefs_ML.
      user32: Handle ctrl + home in edit control.
      user32: Handle ctrl + end in edit control.
      msxml3: Check for xsltInit before calling it.

Louis Lenders (2):
      urlmon: Add stub for CoInternetSetFeatureEnabled.
      wininet: Improve stub for FindNextUrlCacheEntryW a tiny bit.

Luis C. Busquets Pérez (1):
      tools: Add Spanish translation to wine.desktop.

Maarten Lankhorst (47):
      dsound: Hold lock in GetStatus.
      quartz: Add more state transitions to the filtergraph.
      quartz: Get rid of code duplication and add a flush method.
      quartz: Make FileAsyncReader_WaitForNext return an empty sample in flushing state.
      quartz: Fix some memory leaks in the file source.
      quartz: Fix past mistake to release lock during seeking and changing state.
      quartz: Reset EcCompleteCount before starting filters.
      quartz: Handle flushing and end of stream notifications for input pins.
      quartz: Make wait timeout in directsound slightly larger.
      quartz: Fix deadlocks in pullpin.
      quartz: Make mpeg splitter keep track of play position and keep last sample if sending was not successful.
      quartz: Try creating the file reader from the filter source first before falling back to the generic async file reader.
      quartz: Drop packets in the transform filter if in the wrong state.
      quartz: Make the DirectSound renderer return S_FALSE packet if in the paused state.
      quartz: Don't free a null media type in the file source.
      quartz: Make the pullpin forward the BeginFlush before doing its own flushing.
      quartz: Remove while { } while construct.
      quartz: Generate a seek table for the mpeg splitter.
      quartz: Make the directsound renderer handle the Play->Pause->Play position without dropping data.
      quartz: Implement stop position in the filtergraph.
      quartz: Implement stop position in the mpeg splitter.
      include: Add ISeekingPassThru interface.
      quartz: Add a stub for SeekingPassThru.
      quartz: Add stubs for the IMediaSeeking interface in SeekingPassThru.
      quartz: Don't clean up in avi decoder if driver isn't opened.
      quartz: Set sane defaults for pin stream rate.
      quartz: Silence requests for IVideoWindow.
      quartz: Silence seeking fixmes on transform filter.
      quartz: Bring waveparser to the same level as the mpeg splitter.
      include: Add dvdmedia stub header.
      quartz: Add VIDEOINFOHEADER2 support to VideoRenderer.
      quartz: Update start_time if the current position is changed.
      include: Update aviriff header.
      quartz: Dump opendml indexes and header.
      quartz: Make the avi splitter skip index headers.
      quartz: Parse old style avi index.
      quartz: Add a Disconnect function to the parser and use it to clean up allocated memory in avisplitter.
      quartz: Fix discontinuities in wave parser.
      quartz: Fix IMediaSample2 SetPreroll and SetSyncPoint.
      quartz: Reject samples in video renderer when stopped.
      quartz: Reject samples in transform filter only when stopped.
      quartz: Make sure at least 1 sample is processed before returning.
      quartz: Check for discontinuities in the directsound renderer.
      quartz: Store the stream index in the avi stream for files that have them.
      quartz: Obtain the duration using the index in avisplitter.
      server: Make enum_winstations enumerate all the window stations with WINSTA_ENUMERATE right.
      server: Make enum_desktop enumerate all the desktops on the window station with the DESKTOP_ENUMERATE right.

Marcus Meissner (6):
      shell32: Correct casing for "Wine".
      d3d9: Initialized 2 variables with NULL.
      rpcrt4: Handle exit path where bind not allocated yet.
      wined3d: Handle out of array bounds state.
      winex11: Move code behind error return.
      advapi32: Initialize hLock.

Matthew D'Asaro (2):
      winex11: Add registry option to let wine decorate windows.
      winecfg: Add option to let wine decorate windows.

Michael Hoffman (3):
      powrprof: Implement IsPwrSuspendAllowed.
      powrprof: Implement IsPwrShutdownAllowed.
      powrprof: Implement IsPwrHibernateAllowed.

Michael Moss (1):
      wine.inf: Move winebrowser.exe to the system directory.

Michael Stefaniuc (8):
      localui: Add the Romanian translation.
      sane.ds: Add the Romanian translation.
      mpr: Add the Romanian translation.
      view: Add the Romanian translation.
      notepad: Add the Romanian translation.
      msacm32: Add the Romanian translation.
      quartz: Add missing lock releases on some code paths (Smatch).
      fonts: Add the Romanian glyphs SsTt with "comma below" to the tahoma font.

Mikołaj Zalewski (1):
      qedit/tests: Fix dependency.

Nikolay Sivov (7):
      gdiplus: Implement GdipCloneStringFormat.
      gdiplus: Implement GdipAddPathLine2I.
      gdiplus: Implement GdipAddPathArcI.
      gdiplus: Implement GdipCreateMatrix3I.
      gdiplus: Implement GdipCreatePath2I.
      gdiplus: Implemented GdipGetCustomLineCapBaseCap.
      gdiplus: Implemented GdipVectorTransformMatrixPoints.

Paul Vriens (1):
      rsaenh/tests: Fix a test on W2K and above.

Peter Urbanec (1):
      comctl32: Mousewheel support for updown control.

Petr Sumbera (2):
      winetest: Fix shell substitution syntax for Solaris.
      server: Workaround for conflict between Wine and Solaris list.h.

Piotr Caban (11):
      oleview: Added helpstring to functions.
      oleview: Fixed idl files generation with dual interfaces.
      oleview: Fixed idl files generation with oleautomation flag.
      oleview: Hide functions without id property in dual interfaces.
      oleview: Added returns as arguments in interfaces with oleautomation flag.
      oleview: Skip IDispatch functions in dual interfaces properly.
      oleview: Added coclass handling base.
      oleview: Removed memory leak in EnumImplTypes.
      oleview: CreateCoclassHeader partially implemented.
      oleview: Add dual interfaces support to coclasses.
      oleview: Fixed incorrect brackets bug.

Reece Dunn (3):
      tools/msvcmaker: Suppress deprecation warnings on VC8 and above.
      shlwapi: Fixed the todo blocks in the SHCreateStreamOnFile tests.
      shlwapi/tests: Enumerate the STGM sharing modes in the SHCreateStreamOnFile tests.

Rhys McGuckin (1):
      wintrust: Check for null CleanupPolicy function pointer.

Rico Schüller (5):
      d3d9: Make the shader test more precision tolerant.
      d3d9: fix two copy and paste mistakes.
      wined3d: Filter out invalid stuff in SetStreamSourceFreq().
      wined3d: Improve drawStridedInstanced().
      d3d9: Add stream_test with instancing.

Rob Shearman (34):
      shell32: Implement ParseDisplayName for EntireNetwork in the Network Places shell folder.
      mshtml: Support parsing the resource type in the res:// protocol.
      mshtml: Fix the buffer length being passed into MultiByteToWideChar in set_registry.
      winedos: The calling convention should come after the return type in the declaration of VGA_DoShowMouse for portability.
      rpcrt4: Implement I_RpcExceptionFilter.
      services: Split RPC_MainLoop into initialisation and the actual loop.
      services: Automatically start boot-start, system-start and auto-start services when services.exe is started, instead of in wineboot.exe.
      ole32: Use I_RpcExceptionFilter instead of custom exception filter for RPC calls.
      advapi32: Add exception handling around all service RPC calls.
      widl: Support non-default calling conventions for object methods.
      widl: Support non-default calling conventions for non-object functions.
      qmgr: Dynamically link to advpack.dll.
      rpcrt4: Add buffer size checks to base type unmarshalling.
      include: The unique attribute doesn't make any sense in the interface header, so remove it.
      include: Fix a typo in a level of indirection in tom.idl.
      include: Add local to interfaces or functions that take a void * parameter and so aren't designed to work remotely.
      pstorec: Fix incorrectly spelt PPST_PROMPTIFO type in pstorec.c and pstore.idl.
      widl: Check that attributes applied to interfaces, functions and arguments are applicable and issue an error if not.
      widl: Check that attributes applied to typedefs and fields are applicable and issue an error otherwise.
      widl: Make the attrs parameter passed to start_typelib const.
      widl: The odl attribute is valid for dispinterfaces.
      widl: Check that attributes are applicable for libraries,  modules, dispinterfaces and coclasses and otherwise issue an error.
      widl: Output a warning if duplicate attributes are specified.
      widl: Add support for the broadcast and idempotent operation attributes.
      widl: Write out TYPEFLAG, FUNCFLAG and VARFLAG flags for all attribute we currently parse.
      widl: Add functions to print an error or warning message using location information to enable these to be printed accurately when a check is done after an element is parsed.
      widl: Add checking to arguments of non-local functions.
      include: Make IContextMenu interface in shobjidl.idl local since some parameters are pointers to structures with fields that can't be marshalled.
      ole32: Add some tests for OleGetClipboard.
      ole32: Fix OLEClipbrd_IDataObject_QueryGetData to conform to the tests.
      ole32: Add tests for clipboard's implementation of IDataObject_GetData.
      rpcrt4: Test and fix I_RpcExceptionFilter.
      widl: Change alls calls to error in the parser to error_loc so that line number information is printed.
      msi: Fix the value parameter of IWineMsiRemotePackage::FormatRecord to have the right level of indirection for an [out] parameter.

Roderick Colenbrander (2):
      wined3d: Use the render target its palette when performing a texture copy as the texture doesn't hold one.
      wined3d: Remove a PBO when a converted surface is detected.

Rok Mandeljc (53):
      avifil32: Updated Slovenian translation.
      gphoto2.ds: Added Slovenian translation.
      iccvid: Added Slovenian translation.
      mscacm32: Added Slovenian translation.
      mshtml: Added Slovenian translation.
      sane.ds: Added Slovenian translation.
      winspool.drv: Added Slovenian translation.
      msi: Added Slovenian translation.
      comctl32: Updated Slovenian translation.
      msrle32: Updated Slovenian translation.
      user32: Updated Slovenian translation.
      winmm: Updated Slovenian translation.
      comdlg32: Updated Slovenian translation.
      localspl: Added Slovenian translation.
      wininet: Updated Slovenian translation.
      wineboot: Added Slovenian translation.
      winemine: Updated Slovenian translation.
      notepad: Updated Slovenian translation.
      clock: Updated Slovenian translation.
      winhelp: Updated Slovenian translation.
      winefile: Updated Slovenian translation.
      view: Updated Slovenian translation.
      progman: Updated Slovenian translation.
      browseui: Added Slovenian translation.
      oledlg: Added Slovenian translation.
      credui: Added Slovenian translation.
      wordpad: Added Slovenian translation.
      net: Added Slovenian Translation.
      mpr: Added Slovenian translation.
      hhctrl.ocx: Added Slovenian translation.
      uninstaller: Added Slovenian translation.
      winecfg: Added Slovenian translation.
      shdoclc: Added Slovenian translation.
      shlwapi: Added Slovenian translation.
      write: Added Slovenian translation.
      devenum: Added Slovenian translation.
      cmdlgtest: Updated Slovenian translation.
      wineconsole: Added Slovenian translation.
      shell32: Updated Slovenian translation.
      start: Updated Slovenian translation.
      reg: Added Slovenian translation.
      xcopy: Added Slovenian translation.
      taskmgr: Added Slovenian translation.
      localui: Added Slovenian translation.
      cmd: Updated Slovenian translation.
      msvidc32: Added Slovenian translation.
      msvfw32: Added Slovenian translation.
      regedit: Updated Slovenian translation.
      oleaut32: Added Slovenian translation.
      winmm: Slovenian translation: Add a string that got lost during last update.
      comdlg32: Fix a mistake in Slovenian translation.
      winecfg: Update Slovenian translation to reflect recently introduced changes.
      shell32: Updated Slovenian translation to reflect changes in About dialog.

Sergey Khodych (1):
      dinput/tests: Add test to show dinput does not use user defined data format for keyboard.

Stefan Dösinger (18):
      d3d9: Enforce ColorFill restrictions.
      d3d9: Remove some test trace lines.
      d3d9: Read from a slightly different spot in a test.
      d3d9: Accept nvidia hardware vp garbage.
      d3d9: Fix a few ok conditions in the visual tests.
      d3d9: Run the visual test with hardware vertex processing.
      wined3d: Put implicit surfaces into drawable on unload.
      wined3d: Mark the SYSMEM copy outdated after releasing memory.
      wined3d: Store the number of aux buffers in the context.
      wined3d: Report D3DUSAGE_QUERY_WRAPANDMIP support.
      wined3d: Make the min mip lookup type a texture property.
      wined3d: Disable texture filtering on textures that do not support it.
      wined3d: Make the mag filter lookup a separate array.
      wined3d: Disable MAG filters on formats that do not support them.
      wined3d: Disable blending when clearing.
      d3d9: Make the srgb reading test less strict.
      d3d9: Accept erros in the fvp->3.0 pixel shader varying test.
      d3d9: Some Windows drivers set undefined attributes to 0.0.

Steven Edwards (2):
      server: Remove unneeded semicolon.
      include/setupapi: Remove extra semicolons.

Tomasz Jezierski (2):
      hhctrl.ocx: Fix for writing outside allocated memory in HH_AddToolbar.
      hhctrl.ocx: Apparently it is possible to have chm file without #STRINGS in it, so we should not stop processing file at it.

Tony Wasserka (1):
      d3dx9: Add d3dx9tex.h.

Vincent Povirk (2):
      start.exe: Add /Unix switch for native file managers.
      tools: Modify wine.desktop to use start.exe /unix.

Vitaliy Margolen (16):
      iccvid: Add Russian translation.
      localui: Add Russian translation.
      mpr: Add Russian translation.
      msvfw32: Add Russian translation.
      msvidc32: Add Russian translation.
      sane.ds: Add Russian translation.
      msacm32: Add Russian translation.
      winex11: Get the ScrollLock mask.
      winex11: Properly report state of the caps-lock and num-lock and scroll-lock keys.
      wininet: Properly initialize struct.
      dinput: Assign button GUID to joystick buttons.
      dinput: Joysticks are not supported for DX v3.
      dinput: Don't use dead-zone from the device.
      winex11.drv: Send scan code when adjusting modifier key states.
      Update Russian translation.
      gphoto2.ds: Add Russian translation.

Alexandre Julliard
julliard at

More information about the wine-announce mailing list