Wine release 0.9.57

Alexandre Julliard julliard at
Fri Mar 7 08:35:29 CST 2008

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

What's new in this release (see below for details):
  - Support for multiple OpenGL pixel formats.
  - Improved support for color profiles.
  - Many window management fixes.
  - Better fullscreen support.
  - Lots of bug fixes.

Because of lags created by using mirrors, this message may reach you
before the release is available at the public sites. The sources will
be available from the following locations:

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.56:

    881  Mouse cursor not blanked
   1733  Black cursor on textbox with black backgroud -> cursor invisible
   1915  Delta Force Black Hawk Down demo crashes
   2398  OpenGL is only used on top level windows so child windows get overdrawn
   2759  Cannot start WinMX 3.53
   3620  GetModuleUsage16 doesn't work on hinstance handle returned by ShellExecute16(32bit.exe)
   3687  The longest journey: almost working
   5090  Second Life - transparency problems
   5394  PHOTO-PAINT 9 gives "unhandled exception" when started
   5824  mdac-2.8 installer fails on first run
   5889  Second Life help window causes unhandled page fault
   5964  Homeworld 2 Demo crashes
   6381  "Unable to create window..." error prevents second life from running
   6386  Milkshape 3d doesn't work any more
   6740  Oblivion pagefaults on start
   6812  opengl in qt window does not display
   6877  Worms Armageddon pagefaults on close
   6900  WoW Crash when try to change graphics settings in opengl mode
   7774  CSPY/Rebar : when drawing 2/more rebars, they overlap or append to the 1st rebar
   7866  World of Warcraft 2.x doesn't start with OpenGL
   7913  Wrong names given to "Programs" menu sub-folders
   8099  Silverlight aka WPF/e plugin can't display silverlight test page
   8146  fr-041 (Debris) fails to render correctly
   8489  Baldur's Gate crashes with an assertion error when trying to load/start a game
   8557  glxcmds.c:343: CreateContext: Assertion `mode != ((void*)0)' failed.
   8575  Tony Hawk's Pro Skater 3: Fonts displayed on black background
   8597  3Dmark2001 crashes with wine-0.9.38
   8671  Safari (and Bonjour) fails to install
   8694  Google SketchUp Fails to Launch
   8899  Call of Duty || renders player weapon when it does not need to
   8936  openCanvas does not start properly
   9078  fr-041 (Debris) crashes when trying to load
   9098  GTA: San Andreas crashes if qedit.dll is present
   9450  Wrong rebar height calculation for hidden bands
   9898  Virtual Moon Atlas 3.5 expert Mostly black drawing
   9920  Limited number of pixel formats
  10025  Cyrillic glyphs are missing in built-in Tahoma
  10045  Battlefield 2 screen is displaced downwards
  10134  regtlib.exe from .NET 1.1's dotnetfx.exe installer crashes with heap problem
  10192  wcmd: command piping broken
  10234  opengl problems (commit 00633e37bcc8da1032f34ea2d87814739de07db4)
  10239  Internet Explorer bar is broken after the rewrite of the rebar layout code
  10300  KotOR has a very low framerate
  10565  Crayon Physics won't start with ALSA (but will with OSS)
  10582  Counter Strike slowness since 0.9.47
  10604  DateTime control parsing date format incorectly.
  10645  Battlefield 2 runs critically slow due to shader recompiling
  10942  Alsa uses plughw:0,0 instead of default
  11173  3ds max 2008 fails to install
  11206  printdlg: combobox "Printquality" is empty
  11219  SketchUp crashes and cripples whole linux system
  11258  (de)select all does not work in Visere installer
  11295  Adobe Photoshop 6 and 7 crash on 24 bit screens if you activate them while there's an image in the clipboard
  11316  3DMark 2003 regression
  11341  The content window doesn't update properly in DAZ Studio
  11390  Wintermute Engine shows garbage in the preview box
  11427  application stays on top of all other windows, including dialogs
  11429  GetMouseMovePointsEx unimplemented
  11516  jedi knight: dark forces II is upsidedown when 3d accel is enabled
  11532  Adobe Photoshop doesn't support custom monitor profiles
  11543  Patrician3 does not display windows correctly and gets stuck needing manual change of the window
  11555  Need a real WinHttpDetectAutoProxyConfigUrl, not a stub for .NET
  11580  winmm - wave test hangs
  11650  Thief: The Dark Project Graphical Glitch
  11678  Microsoft Visual C++ Toolkit 2003 installer fails
  11680  Adobe Photoshop CS2 text tool slow
  11710  wineprefixcreate does not create a color folder
  11724  can't run bat from root of drive
  11746  repeatable wineserver crash when exporting pdf with adobe InDesign CS trial
  11760  Deleting files from Winefile does not send them to the Trash
  11778  gdiplus: incorrect image size
  11779  Recent kernel32 patch breaks CD checks and copy protection
  11783  Civilization 4 refuses to start
  11786  WiseCustomCalla.dll invalid or not found
  11789  Recent Fls API additions break many installers/apps
  11792  Wine dies with an X BadWindow error using Warhammer Dark Crusade
  11806  regedit creates bogus hex:(1) value instead of empty ""
  11831  aSc Timetables 2008: Z-ordering issue in animated tutorial character
  11850  impossbile change focus from wine to everything else
  11860  Regression in user32 preventing Windows XP mspaint from launching
  11863  Dance eJay 7 Demo crashes with pagefault and backtrace in quartz


Changes since 0.9.56:

Alexander Dorofeyev (1):
      d3d8/tests: Add a P8 texture test.

Alexander Nicolaysen Sørnes (2):
      commdlg: PrintDlg16: Handle print quality combobox.
      comdlg32: PrintDlgW: Remove incorrect FIXME.

Alexandre Julliard (57):
      qmgr: Ignore errors when registering the service.
      winex11: Correctly initialize the cursor in a newly-created thread.
      include: Fixed definition of IXMLDOMComment interface.
      user32: Simplify the window structure creation. Get rid of the unused clsStyle field.
      user32: Moved the DCE support from winex11 back to user32.
      winex11: Get rid of the visual id property, we are using the default now.
      winex11: Use the same full screen test in is_window_managed and update_wm_states.
      ntdll: Add an exception handler around check_actctx to catch bad handles.
      ole32: Added a CoGetContextToken stub.
      msvcrt: Fix incorrect uses of msvcrt_set_errno.
      msvcrt: Use the correct msvcrt defines for errno values.
      mscms/tests: The tests shouldn't fail if we have some ICM files.
      winex11: Clear the NET_WM_STATE status when a window is withdrawn.
      winex11: Added tracking of the WM_STATE window property.
      winex11: Use XWithdrawWindow to unmap managed windows, and wait until they are withdrawn before mapping them again.
      winex11: Check the current window state on Map/UnmapNotify and ignore obsolete events.
      server: Unlink remaining children inodes when deleting the parent.
      winex11: Merge the iconification support into the SetWindowPos driver backend.
      user32: Moved the ShowWindow implementation from winex11 back to user32.
      user32: Hide the icon title when hiding a window.
      user32/tests: Flush events after showing/hiding a window to avoid z-order race conditions.
      winmm/tests: Make sure the callback thread has a message queue.
      winex11: Get rid of direct accesses to the window structure in the drag&drop code.
      winex11: Avoid accessing the internals of the window structure in the Map/UnmapNotify handlers.
      winex11: Avoid depending on win.h.
      user32: Moved win.h to the user32 directory.
      ntdll: Added definitions and structures for fiber local storage.
      kernel32: Implement the fiber local storage functions.
      msi/tests: Replace a printf() by a trace().
      Get rid of the global thread.h header.
      ntdll: Only grab the loader lock once we actually call external functions.
      winex11: Set the appropriate _NET_WM_STATE properties for maximized windows.
      regedit: Include the terminating null in string lengths.
      dlls: Move installation rules for 16-bit placeholders to the top-level makefile.
      winebuild: Add support for 16-bit exe modules.
      kernel32: Added a winoldap.mod 16-bit exe to launch 32-bit processes.
      user32/tests: Skip tests instead of crashing if global hook cannot be set.
      server: Invalidate the newly exposed child region on the parent too if it doesn't clip children.
      user32: Reimplement LoadStringA to avoid memory allocations and to pass the tests.
      Replace some instances of LoadStringA by LoadStringW.
      widl: Avoid getopt constants that may not be defined.
      user32/tests: Fix most message tests to pass on Vista.
      user32: Fix a couple of message test failures.
      user32: Store the window placement information directly in the main window structure.
      winex11: Ignore Map/UnmapNotify if the window is already in the appropriate state.
      winex11: Retrieve the current window placement in MapNotify before modifying it.
      ntdll: Fixed handling of fake dlls when loading a builtin. Reported by Jacek Caban.
      user32/tests: Make the initial timeout longer in flush_events() for machines with slower round-trip times.
      winex11: Add a DestroyNotify handler to catch a situation that is not supposed to happen.
      winex11: Wait for a window to move out of withdrawn state before withdrawing it again.
      winex11: Don't set the fullscreen hint on maximized windows.
      user32: Moved Cascade/TileChildWindows16 to wnd16.c.
      user32: Added stubs for Cascade/TileChildWindows.
      winex11: Reset the cursor window when re-creating the client window.
      makefiles: Support non-standard import lib names in the global dll rules.
      user32: Force the window position to be on-screen in SetWindowPlacement.
      mscms: Fix a couple of compiler warnings when lcms is missing.

Alistair Leslie-Hughes (23):
      msxml3: Implement IXMLDOMNode put_nodeValue.
      msxml3: Implement IXMLDOMCDATASection put_data.
      msxml3: Implement IXMLDOMProcessingInstruction put_data.
      msxml3: Implement IXMLDOMText put_data.
      msxml3: Implement IXMLDOMComment put_data.
      msxml3: Tests for put_data.
      msxml3: Implement IXMLDOMComment_get_length.
      msxml3: Implement IXMLDOMCDATASection_get_length.
      msvcrt: Implement wcscpy_s.
      msxml3: Implement IXMLDOMComment_get_nodeValue.
      msxml3: Implement IXMLDOMText_get_data.
      msxml3: Implement IXMLDOMComment_get_data.
      msxml3: Correct IXMLDOMProcessingInstruction_put_data function.
      msxml3: Implemented IXMLDOMText substringData.
      msxml3: Implement IXMLDOMText_appendData.
      msxml3: Implement IXMLDOMCDATASection_get_nodeValue.
      msxml3: Implmented IXMLDOMCDATASection_get_data.
      msxml3: Implement IXMLDOMProcessingInstruction_get_nodeName.
      msxml3: Stopped seg faults during regression tests on windows.
      msxml3: Remove Byte since it's not a valid datatype.
      ntdll: Added support for Windows 2008.
      winecfg: Added support for Windows 2008.
      netapi32: Correct test for NetUserChangePassword.

Anatoly Lyutin (2):
      user32: Added some tests for scrollbar.
      user32: Fix return value in ShowScrollBar according with test.

Andrew Talbot (30):
      dmband: Assign to struct instead of using memcpy.
      dmime: Assign to structs instead of using memcpy.
      dmime: Assign to structs instead of using memcpy.
      dmloader: Assign to structs instead of using memcpy.
      dmscript: Assign to structs instead of using memcpy.
      dmusic: Assign to structs instead of using memcpy.
      dmstyle: Assign to structs instead of using memcpy.
      dplayx: Assign to struct instead of using memcpy.
      dswave: Assign to structs instead of using memcpy.
      dpnet: Assign to structs instead of using memcpy.
      gdi32: Assign to structs instead of using memcpy.
      hid: Assign to struct instead of using memcpy.
      imm32: Assign to structs instead of using memcpy.
      hlink: Assign to struct instead of using memcpy.
      comdlg32: Assign to structs instead of using memcpy.
      dbghelp: Assign to struct instead of using memcpy.
      dinput: Assign to structs instead of using memcpy.
      gdiplus: Assign to structs instead of using memcpy.
      itss: Assign to structs instead of using memcpy.
      kernel32: Assign to structs instead of using memcpy.
      mapi32: Assign to structs instead of using memcpy.
      mpr: Assign to struct instead of using memcpy.
      mciwave: Assign to struct instead of using memcpy.
      mciavi32: Assign to struct instead of using memcpy.
      msacm32.drv: Assign to structs instead of using memcpy.
      mshtml: Assign to structs instead of using memcpy.
      msdmo: Assign to structs instead of using memcpy.
      msi: Assign to structs instead of using memcpy.
      msvfw32: Assign to structs instead of using memcpy.
      msvcrt: Assign to structs instead of using memcpy.

Aric Stewart (1):
      imm32: Correct offset of text in default IME window when using not default window position.

Austin English (1):
      winecfg: Raise max screen resolution to 160 DPI.

Chris Robinson (1):
      winex11: Fix wglCopyContext case where GLX contexts are missing.

Christopher Berner (1):
      user32/tests: Conformance tests for LoadStringW and LoadStringA.

Dan Hipschman (4):
      qmgr: Implement IEnumBackgroundCopyFiles_Next.
      qmgr: Implement IEnumBackgroundCopyJobs_Next.
      qmgr: Implement IBackgroundCopyJob_Resume.
      qmgr: Only have one BackgroundCopyManager per system.

Dan Kegel (1):
      winex11: wintab.c: use atan2 instead of atan.

Detlef Riekenberg (3):
      include/winspool: Add defines for dwAction.
      winspool: Implement Level 6 + 7 for GetPrinter.
      winspool: Implement Level 9 for GetPrinter.

Divan Burger (1):
      user32: Correct the button sizes of the caption bar.

Dmitry Timoshkov (9):
      mscms: Allow compilation without LCMS installed.
      kernel32: Return upper cased drive letters in paths, some applications depend on it.
      winex11: Add a workaround for Metacity being too strict and disabling fullscreen support for not resizable windows.
      kernel32: Add stubs for fiber local storage APIs.
      fonts: Change encoding of tahoma.sfd to unicode.
      fonts: Add capital cyrillic glyphs to tahoma.sfd.
      fonts: Add small cyrillic glyphs to tahoma.sfd.
      fonts: Add the bitmap sets for cyrillic glyphs to tahoma.sfd.
      fonts: Add cyrillic glyphs of a 9 pixel bitmap set to Tahoma.

Eric Pouech (1):
      ntdll: Removed conflict for FAILED (defined both in our winerror.h and in linux/scsi.h).

Ethan Chen (1):
      gdiplus: Implemented GdipCreateBitmapFromFileICM.

Francois Gouget (29):
      dinput: Fix compilation on systems that don't support nameless unions.
      d3dx9_*: Fix the D3DXMatrixDeterminant() forwards.
      msxml3: Add a trailing '\n' to a Wine trace.
      opengl32/tests: Add the trailing '\n' to an ok() call and make a spelling fix.
      shell32/tests: Use the IShellLinkDataList's standard 'C' interface.
      gdi32/tests: Add the trailing '\n' to a couple of ok() calls.
      gdiplus/tests: Add the trailing '\n' to a couple of ok() calls.
      wintrust/tests: Crypt(En,De)codeObjectEx() are not available on Win9x. So load them dynamically and skip some tests.
      wininet/tests: FtpCommandA() is not available on Win9x. So load it dynamically and skip some tests.
      Assorted spelling, punctuation and case fixes.
      winmm/tests: Don't use 0x55 to avoid any confusion when running with +heap.
      shlwapi/tests: Add skip statements for missing functions to the string tests.
      shlwapi/tests: The function pointers are global so initialize them on startup, before they are used.
      shlwapi/tests: Skip the string tests for the functions that are not available on Win9x.
      user32/tests: Add the trailing '\n' to a couple of ok() calls.
      user32/tests: Don't use 0x55 to avoid any confusion when running with +heap.
      kernel32/tests: Don't use 0xaa to avoid any confusion when running with +heap.
      ddraw/tests: Don't use 0xaa to avoid any confusion when running with +heap.
      comctl32/tests: Don't use 0xaa to avoid any confusion when running with +heap.
      ntdll/tests: Don't use 0x55/0xaa to avoid any confusion when running with +heap.
      port/getopt: s/#if/#ifdef/ so it still works if HAVE_STRING_H is not defined.
      msvcmaker: winebuild needs getopt*.c and mkstemps.c when compiled with MSVC.
      msvcmaker: We don't build wine.lib so don't try to copy it.
      msvcmaker: We don't use .dbg.c files anymore.
      ws2_32: s/#if/#ifdef/ so it still works if HAVE_XXX is not defined.
      configure: s/#if/#ifdef/ so it still works if HAVE_XXX is not defined.
      port: s/#if/#ifdef/ so it still works if HAVE_XXX is not defined.
      ddk: Add a stub ntddk.h header.
      hal: Add a stub for HalGetBusData() to make 3DMark2001SE happy in WinNT mode.

Gerald Pfeifer (2):
      widl: Include <unistd.h> for prototype of unlink().
      d3dx8: Simplify D3DXMatrixInverse().

Günther Brammer (1):
      ddraw: Return a nullpointer as lpSurface in Lock() if the rect is invalid.

Hans Leidekker (11):
      mscms: Implement AssociateColorProfileWithDevice and DisassociateColorProfileFromDevice.
      mscms: Add tests for AssociateColorProfileWithDevice and DisassociateColorProfileFromDevice.
      mscms: Assume read sharing when no sharing flags are specified in OpenColorProfile.
      wineprefixcreate: Create the color directory.
      mscms: Implement TranslateColors and improve the other transformation functions.
      gdi32: Return registered monitor profile from GetICMProfile.
      mscms: Avoid closing a random file when destroying a memory based profile.
      mscms: Create a copy of memory based profiles.
      gdi32: Move GetICMProfile to the driver.
      winex11.drv: Retrieve X color profile in GetICMProfile.
      winhttp: Add a stub implementation of WinHttpDetectAutoProxyConfigUrl.

Huw Davies (7):
      gdi32: Add a partial implementation of GdiRealizationInfo.
      shell32: Fix return type of SHAppBarMessage.
      shell32: ABM_GETAUTOHIDEBAR should return a HWND or NULL.
      shell32: Add a test for ABM_GETTASKBARPOS.
      fonts: Start of a 9 pixel high strike for Tahoma.
      ole32: Fix CopyTo to work correctly with LARGE_INTEGERs.
      ole32: Fix CopyTo to work correctly with LARGE_INTEGERs.

Jacek Caban (32):
      shdocvw: Added get_LocationURL implementation.
      shdocvw: Silence more invalid QueryInterface FIXMEs.
      shdocvw: Added WebBrowser::TheaterMode implementation.
      mshtml: Added IHTMLBodyElement::put_link implementation.
      mshtml: Added IHTMLBodyElement::get_link implementation.
      mshtml: Added IHTMLBodyElement::vLink implementation.
      mshtml: Added IHTMLBodyElement::aLink implementation.
      urlmon.idl: Added IInternet declaration.
      wininet: Fixed version returned by INTERNET_OPTION_VERSION.
      wininet: Moved handle destructor to vtbl.
      wininet: Moved close_connection to vtbl.
      wininet: Use vtbl in InternetWriteFile implementation.
      wininet: Use vtbl for InternetSetOption(INTERNET_OPTION_[SEND|RECEIVE]_TIMEOUT) implementation.
      wininet: Moved InternetFindNextFileW implementation to vtbl.
      wininet: Move WININETFTPFINDNEXTW declaration to ftp.c.
      shlwapi: Store rekistry key name in unicode to avoid conversion.
      shlwapi: Added TRACEs to PathIsURL.
      shlwapi: Added more tests.
      shdocvw: Register default URL prefixes.
      shdocvw: Guess URL scheme if not available.
      mshtml: Added nsIURI::Clone implementation on URIs without necko interface associated.
      mshtml: Added nsIURI::Equals implementation on URIs without necko interface associated.
      wininet: Move InternetQueryDataAvailable to vtbl.
      urlmon: Don't call ReportProgress(BINDSTATUS_DIRECTBIND) in MkProtocol::Start (current IE doesn't call it).
      mshtml.idl: Added IHTMLScriptElement declaration.
      wininet: Fixed some tests.
      wininet: Move INTERNET_STATUS_REQUEST_COMPLETE call from INTERNET_ReadFile.
      wininet: Move InternetReadFile to vtbl.
      wininet: Move FTP structs and functions declarations from internet.h.
      wininet: Don't use INTERNET_ReadFile in HTTP_DrainContent.
      mshtml: Added IHTMLScriptElement stub implementation.
      wininet: Moved InternetReadFileExA to vtbl.

James Hawkins (42):
      msi: Add more tests for MsiSourceListGetInfo.
      msi: Simplify the check for a valid product code.
      msi: Factorize and fix the INSTALLPROPERTY_MEDIAPACKAGEPATH case.
      msi: Add tests for MsiSourceListAddMediaDisk.
      msi: Validate the parameters of MsiSourceListAddMediaDisk.
      msi: Return the result of the call to OpenSourceKey.
      msi: Remove invalid fixmes.
      msi: Simplify MsiSourceListAddMediaDisk.
      msi: Fix and simplify handling of REG_MULTI_SZ strings in the WriteRegistryValues action.
      msi: Fix skipping a NULL record.
      msi: Implement MsiSourceListEnumMediaDisks.
      msi: Add tests for MsiSourceListEnumMediaDisks.
      msi: Publish source information in the user-unmanaged context.
      msi: Remove setting a source list property that's in the wrong place.
      msi: Read the disk prompt source list property from the user-unmanaged context.
      msi: Read the source list properties from the user-unmanaged context.
      msi: Store the media type and set the last used source type accordingly.
      msi: Allow setting a media disk as the last used source in the internal msi_set_last_used_source.
      msi: Search existing published sources if the media cannot be found.
      propsys: Add an initial implementation of PropVariantChangeType.
      msi: Change the property variant if the types don't match.
      msi: If a feature's action is INSTALLSTATE_UNKNOWN, MsiEvaluateCondition should return MSICONDITION_FALSE.
      msi: Update controls based on a property when that property changes.
      janitorial: Remove links to any microsoft site.
      janitorial: Remove links to any microsoft site.
      janitorial: Remove links to any microsoft site.
      janitorial: Remove links to any microsoft site.
      janitorial: Remove links to any microsoft site.
      janitorial: Remove links to any microsoft site.
      janitorial: Remove links to any microsoft site.
      msi: Don't bail out if the row to modify is not found as not all modify commands need the row.
      msi: Implement the UILevel property of the Installer object.
      msi: Make local functions static.
      msi: Remove a pointless wrapper of RegCreateKey.
      msi: Add definitions for MsiEnumComponentCosts.
      msi: Include query.h to pull in the definition of STREAMS_CreateView.
      msi: Implement MsiGetProductInfoEx.
      msi: Add tests for MsiGetProductInfoEx.
      msi: Break out the publishing tests into their respective actions.
      msi: Fix handling of published installer properties.

Jason Edmeades (3):
      cmd.exe: Fix running programs from root of drive.
      cmd.exe: Fix pipes.
      cmd.exe: Support cd .. when saving current directory.

Jason Green (2):
      d3d9: Add tests showing the D3DUSAGE_RENDERTARGET and D3DUSAGE_AUTOGENMIPMAP are mutually exlusive.
      d3d9: Fix a few ok() comparisons to not always return true in the visual tests.

Jon Yang (2):
      gdiplus: Implemented and tested GdipGetImageDimension().
      gdiplus: Implemented GdipDrawImageRectRectI.

Karsten Elfenbein (1):
      winealsa: Use "default" as the default card name instead of "default:0".

Lei Zhang (2):
      shell32: Remove unused variable.
      quartz: Validate input for FilterGraph2_AddFilter.

Louis Lenders (2):
      programs: Add a stubbed out secedit.exe.
      shdocvw: Return something more useful for WebBrowser_get_ReadyState.

Maarten Lankhorst (9):
      wininet: Add stub for INTERNET_OPTION_PER_CONNECTION.
      wininet: Fix retrieving raw headers.
      shlwapi: Don't add a trailing slash in the case that nothing has to be appended to relative, with testcase.
      setupapi: Implement CM_Get_Device_ID and add a stub for CM_Get_Parent.
      cfgmgr32: Forward some more functions to setupapi.
      kernel32: Fix GetVolumeInformation for fat32 partitions.
      oleaut32: Handle TKIND_ALIAS properly when passed as pointer.
      include: Add flag for BROADCAST_QUERY_DENY.
      server: Fix reference leak in enum_desktop.

Marcus Meissner (2):
      msi: Initialize type (Coverity).
      shlwapi: Handle buffer overflow on A->W converter.

Mikołaj Zalewski (16):
      comctl32: datetime: Support literals in apostrophes.
      comctl32: rebar: An implementation of RB_SIZETORECT.
      comctl32: rebar: Invalidate children in CalcHorz/VertBand.
      comctl32: rebar: Add RBS_AUTOSIZE support.
      comctl32: rebar: Code cleanup.
      comctl32: rebar: Image height should be taken into account when computing the band height.
      comctl32: rebar: To check if an image is present iImage should be compared to -1 (with testcase).
      comctl32: rebar: Don't assume the first band is visible.
      wordpad: Always use RB_GETBARHEIGHT.
      net: Add Polish translation.
      winefile: Add FOF_ALLOWUNDO to winefile to allow files go to trash.
      shell32: Fixes in Polish translation.
      net: Add Polish translation to rsrc.rc.
      wrc: Convert standard control classes names into ids also for UTF-8 resource files.
      shell32: Improve SHRegisterDragDrop and SHRevokeDragDrop.
      comctl32: rebar: Fix SizeToHeight when no bands visible.

Nathan Beckmann (6):
      gdiplus: Fix IStream_Release in GdipCreateBitmapFromFile.
      gdiplus: Add tests for GdipCreateBitmapFromFile.
      gdiplus: Implement GdipLoadImageFromFile.
      gdiplus: Fix errors in image dimensions.
      oleaut32: Replace bitmap integer constants with symbolic constants.
      gdiplus: Implement GdipGetImageEncoders.

Ove Kaaven (1):
      msi: Fix bug in handling of multivolume CAB files.

Paul Vriens (17):
      msi/tests: Make tests run on win9x/NT4 again.
      advapi32/tests: Don't crash on NT4, W2K and XP-SP1.
      version/tests: Win98, NT4 and W2K return different errors.
      setupapi/devinst: Struct size passed needs to be exact.
      kernel32/tests: Win9x doesn't change last error.
      gdi32/tests: Skip functions that are available but not implemented.
      gdi32/tests: Skip a test as it crashes on Vista.
      msi/tests: Make sure tests will run on Win9x and NT.
      msi/tests: Skip tests for functions that are not available.
      msi/tests: Skip tests that contain functions that are not available.
      msi/tests: Fix test that depends on the order of the files in a directory.
      rpcrt4/tests: Make tests run on win9x/NT4 again.
      wintrust/tests: W2K and XP-SP1 don't set last error.
      wintrust/tests: Add a few tests.
      advapi32/tests: Skip not available functions.
      msi/tests: Make tests run on win9x/NT4 again.
      advapi32/tests: Fix a few typos.

Peter Oberndorfer (2):
      wordpad: Use correct prototype for dialog functions.
      cmdlgtst: Remove unneeded DLGPROC casts.

Rico Schüller (2):
      ddraw: Fix diffuse and specular color types.
      wined3d: Fix copy and past error.

Rob Shearman (62):
      shdocvw: Fix quoting of double-quote in shdocvw.inf.
      shdocvw: Add more keys to the CLSID_Internet key.
      shdocvw: The default value for the "CLSID\%CLSID_Internet" key isn't set on Windows, so we shouldn't set it either.
      comctl32: Fix the signedness of i, oldNumParts and nTipCount in STATUSBAR_SetParts.
      comctl32: Fix local variable shadowing in load_string by moving len to the block in which it is actually used.
      comctl32: Rename the dwStyle and dwOldStyle variables in LISTVIEW_SetExtendedListViewStyle to more accurately reflect their purpose.
      rpcrt4: Include ws2tcpip.h instead of Unix headers when targeting a build for Windows.
      avicap32: Fix the type of retval in capGetDriverDescriptionA.
      comdlg32: Fix checks for failure of COMDLG32_SHGetFolderPathW in FILEDLG95_InitControls.
      comctl32: Fix possible use of uninitialised variable in REBAR_Paint.
      cmd: Fix loop termination check in WCMD_batch.
      cmd: Fix character count passed to GetShortPathName in WCMD_HandleTildaModifiers.
      wineboot: Fix thread handle leak in runCmd.
      wineboot: Fix the character count passed to RegEnumKeyW in start_services.
      explorer: Clean up after CreateProcess in WinMain.
      mciavi32: Fix the buffer length passed into strncat in MCIAVI_mciSet.
      winspool.drv: Fix the character count passed into RegEnumKeyExW in get_local_monitors.
      avifil32: Fix the character count passed into LoadStringW in AVIBuildFilterW and AVISaveOptionsUpdate.
      dinput: Fix character count passed to GetKeyNameTextW in SysKeyboardWImpl_GetObjectInfo.
      shell32: Fix the character count passed to SearchPathW in SHELL_execute.
      kernel32: Fix the number of characters passed to GetAtomNameW in test_local_get_atom_name.
      user32: Fix the number of characters passed to GetClassNameW in ClassTest.
      netapi32: Fix character count passed to GetUserNameW and GetComputerNameW in init_wksta_tests.
      imm32: Destroy the data of the context passed into ImmDestroyContext,  not the data in the root context.
      ole32: Implement VT_VECTOR|VT_VARIANT in PropVariantCopy.
      ddraw: Don't use typeof as it's not portable.
      dsound: Don't use typeof as it's not portable.
      itss: Don't use typeof as it's not portable.
      msimtf: Don't use typeof as it's not portable.
      mshtml: Don't use typeof as it's not portable.
      shdocvw: Don't use typeof as it's not portable.
      urlmon: Don't use typeof as it's not portable.
      msi: Fix the buffer size calculation in msi_build_createsql_prelude.
      msi: Fix buffer size calculation in build_default_format.
      oleaut32: Don't store result of CompareStringW in HRESULT in OLEFontImpl_IsEqual.
      oleaut32: Fix size calculation in OLEFontImpl_GetSizeMax for multi-byte locale environments.
      oleaut32: Fix local variable shadowing in OLEFontImpl_Invoke.
      dbghelp: Define NONAMELESSUNION in dwarf.c and type.c as they access VARIANT fields directly.
      dinput: Include fcntl.h instead of sys/fcntl.h since they are equivalent and the former is more portable.
      rpcrt4: Don't crash in RpcStringBindingParseA/W if Endpoint or Options is NULL.
      rpcrt4: Add tests for RpcStringBindingParseA.
      msisys.ocx: Fix the signature of DllGetClassObject to match that declared in the headers.
      dxdiagn: Fix the variable that the result of GetFileVersionInfoW is assigned to in DXDiag_AddFileDescContainer.
      kernel32: Fix use of uninitialised nameW and typeW in find_resourceA.
      kernel32: Fix typo in UTUnRegister.
      quartz: Don't assume that strlenW of a constant string can be determined at compile time.
      Include config.h and wine/port.h in files that use snprintf.
      inetcomm: Add default case to sub_stream_Seek to avoid using uninitialised memory.
      gdi32: Move 16-bit printing functions to printdrv16.c.
      wininet: Fix compile with MinGW.
      libwpp: Include wine/port.h in ppl.l as strcasecmp is used, which isn't available on all platforms.
      Add configure check for strtoll and strtoull.
      include: Remove superfluous semi-colon from d3d9.h.
      libport: Undefine strcasecmp and strncasecmp in case they are defined to stricmp and strnicmp respectively.
      makefiles: Simplify the use of the IMPORTLIB variable in the DLL makefiles.
      makefiles: Split AR into AR and ARFLAGS.
      rpcrt4: Use closesocket to close sockets and define it to close on Unix platforms to make the code more portable.
      mshtml: Move some public GUIDs to shlguid.h.
      user32: Add test for calling CreateDesktop on already created desktop name.
      uuid: Add CLSID_InProcFreeMarshaler.
      include: Add defines for GetExceptionCode, GetExceptionInformation and AbnormalTermination to excpt.h for the MS compiler when using compiler exceptions.
      adsiid: Add static import library for active directory GUIDs.

Roderick Colenbrander (10):
      wined3d: Request alpha in backbuffer mode, to work correctly with multiple opengl pixel formats.
      wgl: Remove the pixel format limitation.
      wgl: Remove unneeded opengl initialisation code at wine startup.
      wgl: Add aux buffers support to DescribePixelFormat.
      wined3d: Request aux buffers when using backbuffer rendering.
      wgl: Add a test case for wglCreateContext.
      wined3d: Check real depth/stencil capabilities based on WGL pixel formats.
      wined3d: Improved CheckDeviceType.
      wined3d: Add D32F_LOCKABLE to getDepthStencilBits.
      wgl: Add aux buffers support for use with wglChoosePixelFormatARB.

Roy Shea (19):
      qmgr: Implement the IUnknown interface for IBackgroundCopyJob and stubs for the rest of the methods.
      qmgr: Implement IBackgroundCopyManager_CreateJob with test.
      qmgr: Implement IBackgroundCopyJob_GetId with test.
      qmgr: Implement IBackgroundCopyJob_GetType with test.
      qmgr: Implement IBackgroundCopyJob_GetDisplayName with test.
      qmgr: Implement the IUnknown interface for IEnumBackgroundCopyJobs.
      qmgr: Implement IBackgroundCopyManager_EnumJobs with test.
      qmgr: Implement the IUnknown interface for IBackgroundCopyFile.
      qmgr: Implement IBackgroundCopyJob_AddFile.
      qmgr: Implement the IUnknown interface for IEnumBackgroundCopyFiles.
      qmgr: Implement IBackgroundCopyJob_EnumFiles.
      qmgr: Implement IEnumBackgroundCopyFiles_GetCount.
      qmgr: Implement Skip and Reset for IEnumBackgroundCopyFiles.
      qmgr: Implement GetLocalName and GetRemoteName for IBackgroundCopyFile.
      qmgr: Implement IBackgroundCopyFile_GetProgress.
      qmgr: Implement job lists for IBackgroundCopyManager.
      qmgr: Implement IEnumBackgroundCopyJobs_GetCount.
      qmgr: Implement Skip and Reset for IEnumBackgroundCopyJobs.
      qmgr: Implement IBackgroundCopyJob_GetProgress.

Royal Chan (5):
      diplus: Implement GdipDrawBezierI based on GdipDrawBezier.
      diplus: Implemented GdipDrawArcI based on GdipDrawArc.
      gdiplus: GdipDrawArc should return InvalidParameter for non-positive values of height and width.
      gdiplus: Added conformance tests for GdipDrawLineI.
      gdiplus: Implement GdipDrawLinesI based on GdipDrawLines.

Stefan Dösinger (33):
      d3d9: Add a non-shader reversed fog test.
      d3d9: ATI drivers do not handle D3DUSAGE_QUERY_LEGACYBUMPMAP properly.
      d3d9: Fix a ok line.
      wined3d: General cross format blitting infrastrucutre, R32F->R16F blits.
      wined3d: Add GL_APPLE_float_pixels.
      wined3d: Move shader model private data into its own structure.
      wined3d: Move the dummy texture creation to the device.
      wined3d: Mark a vertex buffer dirty after VBO creation.
      wined3d: Remove VBFLAG_LOAD.
      wined3d: Subclass queries.
      wined3d: Give occlusion queries their own vtable.
      d3d9: Fix an ok line.
      include: Declare IDirect3D9Ex and IDirect3DDevice9Ex.
      wined3d: Catch NOP palette changes.
      wined3d: Call fixup_extensions before destroying the fake context.
      ddraw: Catch No-op SetRenderTarget operations.
      d3d9: Add an IDirect3D9Ex stub.
      d3d9: IDirect3DDevice9Ex stub.
      d3d9: Implement Direct3DCreate9Ex + tests.
      d3d9: Reorder the spec file.
      d3d9: Remove D3D9GetSWInfo.
      wined3d: Implement a different constant dirtification algorithm.
      wined3d: Hardcode local constants in ARB shaders if possible.
      wined3d: Use GL_EXT_gpu_program_parameters if available.
      wined3d: Fix a small bug in a patch from yesterday.
      wined3d: Add a number to the ARB program shader bumpenvmat matrices.
      wined3d: Support more than one texbem instruction per shader.
      d3d9: Add a test testing two texbem instructions in one shader.
      wined3d: Support shininess > 128 if opengl does.
      d3d9: Add a test for the vPos register.
      wined3d: gl_FragCoord isn't exact.
      wined3d: Mark constants dirty in the EXT_gpu_program_parameters path.
      d3d9: Add a point size test.

Stefan Leichter (3):
      user32: Fix a test of GetMouseMovePointsEx.
      user32: Added stub for GetMouseMovePointsEx.
      shell32: Added tests for SHGetFolderPathAndSubDirA.

Steven Edwards (2):
      winecfg: Up the default desktop resolution to 800x600.
      winnt.h: Fix dllimport and visibility attributes on cygwin.

Tony Wasserka (4):
      d3dx9: Implement D3DXCheckVersion.
      make_makefiles: Fix importlib handling.
      d3dx9_36: Create d3dx9 importlib.
      d3dx9: Implement D3DXDebugMute.

Alexandre Julliard
julliard at

More information about the wine-announce mailing list