diff --git a/ANNOUNCE b/ANNOUNCE
index 52bde8e..a017cdc 100644
--- a/ANNOUNCE
+++ b/ANNOUNCE
@@ -1,12 +1,13 @@
-The Wine development release 1.2-rc2 is now available.
+The Wine development release 1.2-rc3 is now available.
 
-There are no new features in this release, only bug fixes, since we
-are in code freeze. If you find a new feature that's a bug.
+What's new in this release (see below for details):
+  - Many translation updates.
+  - A lot of bug fixes.
 
 The source is available from the following locations:
 
-  http://ibiblio.org/pub/linux/system/emulators/wine/wine-1.2-rc2.tar.bz2
-  http://prdownloads.sourceforge.net/wine/wine-1.2-rc2.tar.bz2
+  http://ibiblio.org/pub/linux/system/emulators/wine/wine-1.2-rc3.tar.bz2
+  http://prdownloads.sourceforge.net/wine/wine-1.2-rc3.tar.bz2
 
 Binary packages for various distributions will be available from:
 
@@ -22,315 +23,527 @@
 
 ----------------------------------------------------------------
 
-Bugs fixed in 1.2-rc2:
+Bugs fixed in 1.2-rc3:
 
-   1733  Black cursor on textbox with black backgroud -> cursor invisible
-   3182  test case demonstrating PeekMessage give up timeslices
-   5264  Equation editor in Microsoft Office 97/2000/2003/2007 doesn't work
-   6183  NFS MW crashed when sound is on in winecfg
-   6997  NFS Most Wanted: Execution of glDrawArrays (drawStridedFast) takes 1 second +
-   7036  Doom 3  Demo fails to start
-   8030  Need for Speed Carbon crashed after game starts
-   8112  user32 msg test fails when using virtual desktop mode
-   8131  MiniTab fails to load due to not being able to load its own DLL
-   8555  No large display pictures in MSN Messenger 7.0
-   9252  Far Cry: Segmentation fault on startup when using Direct3D
-   9359  Need for Speed Most Wanted crahshes frequently
-  10501  NFSU2 crashes out when loading a level
-  10982  ClearScale, Autocad 2008 do not run (GdipBitmapSetPixel not implemented)
-  11346  Emule: Background color of an label is displayed horizontal
-  13042  CodeGear RAD Studio 2007 does not install
-  13177  [winhelp] Popup shadow is displayed ontop of popup itself
-  14292  winhelp: Window title is not set correctly for some (older) help files
-  14298  winhelp: Mouse pointer flickers when moved
-  14697  wineserver: debug events can block completion of queued user APCs
-  14866  expand: Wine's expand program fails on /r option
-  14868  Initial crash when running GSpot
-  15291  Microsoft Office Outlook 2007: Splash screen never goes away, z-order issues
-  15968  Microsoft XNA Framework 2.0 redistributable cannot be installed even with .NET Framework 2.0 installed
-  16093  MS AppLocale installer fails
-  17001  guitar pro 5.2 is sluggish and unstable
-  17148  Use the system desktop setting for subpixel font smoothing
-  17957  Audiosurf crashes on startup
-  18643  NCSoft Launcher crashes after being run.
-  18959  MetaTrader 4 installer hangs at the very end of file extraction
-  19059  VectorNTI crashes when saving files
-  19797  Powerpoint 2007: text does not display correctly in textbox rotated 90 or 270 degrees
-  20180  Teach2000 hangs when switched to "Advanced input mode"
-  20282  ControlSpy doesn't show any message passed to control procedure
-  20389  Firefox/Thunderbird/Sunbird: Close button must be clicked twice
-  20751  MS Keyboard Layout Creator won't run (needs GdipIsStyleAvailable)
-  21413  Cannot type language specific letters in MS Word
-  21562  Multiple init/deinit of msvcrt (std fd's) causes pluto app installer to hang
-  21871  Nokia Ovi Suite installer fails
-  21876  Demo Need for Speed Underground 1 crashes
-  22045  VirtualDub: cannot edit text informations
-  22138  system(NULL) generates SIGSEGV
-  22263  Total Commander: Main window becomes dead when the FTP Connect window is open and you switch workspaces or minimize and restore the main window
-  22287  Personal Chess Trainer v3.02, Run-time error '13': Type mismatch
-  22294  PlayOnline viewer has missing icon in title bar
-  22320  Mono & HTML-Kit's installers do not appear in the taskbar
-  22339  QuickTime installs a few files to the wrong location
-  22341  Touhou games: no text in dialogue boxes
-  22460  msvcr90 insufficient to run Deluge
-  22542  Trackmania quits when i want to go back to the main menu
-  22550  uTorrent 2.0.1 renders some icons incorrectly when run within a FreeNX session
-  22575  Major decline in Starcraft's 2d graphics performance
-  22658  Movie Magic Screenwriter 2000 crashes when selecting Program Options
-  22724  windows opened by wine has zero size, and cannot be resized
-  22765  Fonts no longer anti-aliased
-  22809  SUPERAntiSpyware displays crash handler when Preferences button is clicked
-  22810  Civ4BeyondtheSword crashes when trying to start it
-  22820  StarCraft 2 warns incorrectly about old drivers.
-  22821  Tropico 3 - cursor is black rectangle everywhere in game
-  22822  Utorrent progress bars don't show progress
-  22831  freebsd compile broken when using BSD make
-  22837  Mailwasher connection timeout on gmail
-  22845  Total Commander crashes when trying to display system information
+   4523  Can't copy from Firefox 1.5 and paste into OpenOffice 2 under Wine [dogfood]
+   6594  Call of Duty install fails - can't eject first CD
+   6642  BabasChess v3.6 crashes quite randomly
+   6654  NFS Carbon cant run
+   7098  msi doesn't publish/install some assemblies into GAC
+   7807  3dmark03 crashes:denormal float operand in 32-bit code (0x0042504a)
+   7973  Default font unreadable
+   8095  PQ Teaching toy crashes
+   9114  MSI Uninstallers leave empty directory behind after removal
+   9657  Adobe Framemaker 8 setup requires setting Window version to Vista even if XP and 2000 should also work
+  10147  Word Viewer 2003 - Tab behavior differs from Windows
+  10287  unable to install nero 8
+  10934  Nikon Camera Control Pro thinks trial is up immediately
+  11207  Problem running iRO 3.0 (recruiting application)
+  11267  Adobe/Macromedia Flash MX Pro 2004 can't create .fla file
+  11367  Flysis: Launcher resolution dropdown box lists no options.
+  11560  Sigmaplot 10 demo refuses to start; license manager problem?
+  11719  Intuit QuickBooks Simple Start 2008 install fails
+  11924  BabasChess crashes halfway
+  12020  Unimplemented function d3dx9_36.dll.D3DXAssembleShader
+  12066  Jade Empire character models are invisible
+  12218  word viewer 2003 - required / difference columns do not countain data
+  12234  EdwinXP 1.61 trial installer z-order problem
+  12487  FutureTax runs but postscript is invalid
+  12574  Using WinAMP's media Library causes crash
+  12696  nsis script with a gradient background window => install window not displayed
+  12880  Sony Ericsson software fails to install.
+  13516  Dynamic HTML Editor 4.2 Demo installs, crashes on startup
+  13895  printer setup dialog has a useless Apply button
+  13924  Mod4win crashes when trying to start the mixer
+  14284  winhelp: bad/missing support for imagemaps
+  14286  winhelp: window size/position changed whenever link or navigation button is clicked
+  14312  mdi workspace not drawn correctly when restoring child windows in winefile
+  14910  Errors creating PDF files using WINEPS printer using CUPS form PAF.
+  14957  FL Studio fails to minimize
+  15069  Apps won't minimize and extra caption bar shows
+  15094  Wine won't install FAA Safelog
+  15126  Pro evolution soccer 2008 demo crashes
+  15156  Unable to change from Direct3D to OpenGL output in WinUAE
+  15287  Silent Hunter IV: game crashs while loading ingame grafics (tutorial, mission, museum, etc.)
+  15372  palm hotsync: minimize button disappears
+  15433  Failure to load mp3 in popup file browser in Audiosurf.
+  15480  Saving files in Word/Excel 2000 creates useless .lnk files
+  15522  Firefox crashes on LDS.org's Move Media Player page with latest git and 1.1.5
+  15818  winecfg should fit on a 640x480 display
+  15981  Rhapsody 3 and 4 crash at end of autoupdate install
+  16088  Quartus II 80sp1: Opening About window crashes application
+  16158  Condor: Wine System Tray
+  16282  Quartus II 80sp1: Compiling project crashes application
+  16298  Finale Notepad 2009: Clicking on splash screen causes X error
+  16356  16 bit file dialog file filter not working
+  16418  Keyword corral crashes (LsaLookupNames2 returns ERROR_NONE_MAPPED)
+  16475  dragging the winamp window is slow
+  16729  font smoothing doesn't work
+  16753  unimplemented function ntoskrnl.exe.KeGetCurrentThread
+  16820  VCarvePro v4.6 Trial crashes on save
+  17026  Prince of persia warrior within: everything is upside down during gameplay
+  17067  Stud_PE crashes on Tools -> Plugins
+  17175  Crash running Quicken 2008
+  17242  Regedit: Exported key names containing backslashes are not escaped
+  17454  Toad's tool 64 doesn't work, needs msvcrt.dll.___lc_handle_func
+  17484  Leisure Suit Larry 7 refuses to run with Win98 settings
+  17603  winecfg crashes on encountering unknown (incorrect) dll overrides
+  17684  ABBYY FineReader 8.0 Professional PL: Fails to start
+  17705  Audiosurf: crashes at startup
+  17773  AutoCAD Mechanical 2005 PL: Fails to install
+  17800  Silent hunter 4 crashes while loading mission
+  18025  .NET 2.0 Regasm.exe typelib exporter needs ICreateTypeInfo2::SetCustData
+  18026  TopPlan 2009 crashes while opening a map
+  18348  Wine Crash in Baldurs Gate I when more than 1 character in team
+  18542  Slingplayer 2.0 unhandled exception
+  18575  FlashFXP installer quits: "Cannot register "C:\Program Files\FlashFXP\IEFlash.dll"
+  18654  Wine uses native gdiplus with Adobe Lightroom 2.3 demo by default
+  18723  LUAU 2.2.1 setup causes a page fault
+  18876  Lightroom 2.3 flipped logos
+  18908  Editing name in File Open dialog causes Powerpoint to hang
+  18942  UT2004: freeze loading a match
+  18973  Duplicate license entries in multiple wine programs
+  19000  Stronghold 2: Error at installing 1.4 game patch
+  19013  Oxford English Dictionary 2: freezes on startup with fatal error
+  19075  Problem with MCataloguer
+  19172  Powerpoint 2003 viewer's installs file in wrong location (appinstall)
+  19255  SlingPlayer 2's remote doesn't draw
+  19357  Crash when changing resolution in Telltale games
+  19440  Word Viewer 2003 - Tab button does not work
+  19502  Visual Studio 2005 SP1 install seems to fail
+  19524  War in the Pacific: Admiral's Edition: game hangs on starting any scenario
+  19597  Sony Ericsson PC Suite 5 fails to download a required component
+  19642  Arx Fatalis : page fault on read access while loading
+  19793  Office 2007 Word has problems rotating .EMF files
+  19811  Visual C 2005 redistributable installers create many empty directories in WinSXS
+  19861  Wine should warn when ulimit -n needs raising
+  19947  Desktop windo fullscreen directx application focus problem
+  20007  Winamp 5 won't start
+  20059  Office 2007 SP1/SP2 looks for *.cab in C:\Windows\Installer\ instead of C:\MSOCache\
+  20226  builtin xcopy.exe crashes with page fault when source directory does not exist.
+  20279  winemenubuilder confuses Windows and Unix code pages leading to 100% CPU usage
+  20307  Call of Duty 4 v1.7 frame rate issue
+  20541  No MIDI in to Piano Teacher v3.0
+  20680  winecfg: no Wave Out Devices under ALSA Drivers (M-Audio Delta)
+  20744  Mordor - the depths of Dejenol installer puts window into background
+  20935  HoMM5: Hammers of Fate: game dvd not found
+  20939  Keyboard focus lost after switching to another app and back
+  21124  Text cursor and some of mouse cursors are not solid in Word 2003
+  21156  Add torrents in webUI with µTorrent >= 2.0 doesn't work
+  21511  wsmanhttpconfig.exe tool from Windows Management Framework Core (PowerShell 2.0) needs msvcrt.dll._scwprintf
+  21930  Free Ghost installer crashes during project building in console
+  22143  Lemmings game clone (Lemmix): problems running under Wine.
+  22346  Palm Pilot: hotsync.exe could not load 'USER.DLL' required by 'COMUT16', error=2
+  22470  Excel 2003 cannot launch
+  22532  Lemmix (Lemmings Clones) can't be played because of black screen
+  22610  Ragnarok Online client echoes some sounds
+  22656  Serif Webplus X2 trial crashes in windowscodecs
+  22695  Avira AntiVir doesn't install - missing msvcr90.dll._snwprintf_s
+  22702  Cyberboard maps, markers and units display as all black.
+  22816  QIP 2010 (Infium): text cursor doesn't move properly
+  22843  Paste of text from Word 2003 into Powerpoint 2003 stopped working
+  22863  Win64 compile broken on FreeBSD
+  22876  HTML-Kit's small icons have a white background
+  22888  Damaged icons in QIP
   22909  Drawn text overlapps after the second character.
+  22911  Fonts are garbled when running apps inside a vnc4server session
+  22914  TheWord: cursor does not display/function correctly
+  22927  The Bat! v4.2.36.4 didn't show the titlebar caption in KDEs taskbar
+  22928  IE8 for Vista's "missing updates" message is cut off
+  22946  WinOmega v6.30.51 shows Icons with dark/black background instead of transparency
+  22988  Vectorworks 2010: Drawing area doesn't show objects
+  22989  Adobe FrameMaker 8 installer aborts with compressed file extraction error
+  23003  Compile/link error on Red Hat Enterprise Linux AS release 4 (Nahant Update 8)
+  23007  GetSaveFileName incorrectly returns non-zero when Escape is pressed after a "replace this file" dialog
+  23010  Fonts corrupted in Civ4-based games when subpixel rendering is enabled
+  23021  Spider black suits fail to display
+  23029  closing window of IE 6 closes Lotus Notes 6.5.5
+  23044  Program 'convert.exe' shows menus in a strange way
+  23049  Shareaza crash while starting
+  23056  BitComet 1.21: Fails to start
+  23107  Unimplemented call _snprintf_s in CSPro 4.0
 
 ----------------------------------------------------------------
 
-Changes since 1.2-rc1:
+Changes since 1.2-rc2:
 
-Alexander Scott-Johns (1):
-      clock: Remove "License..." and "NO WARRANTY..." items from "Info" menu.
+Akihiro Sagawa (7):
+      taskmgr: Update Japanese translation.
+      oledlg: Update Japanese translation.
+      wordpad: Update Japanese translation.
+      wineboot: Update Japanese translation.
+      wininet: Update Japanese translation.
+      localui: Add Japanese translation.
+      shell32: Update Japanese translation.
 
-Alexandre Julliard (34):
-      winhlp32: Get rid of the shadow window, it's ugly and causes z-order issues.
-      user32: Don't repaint the caret in SetCaretPos if the position doesn't change.
-      configure: BSD make doesn't treat .PHONY as a proper target, so it needs its own dependencies.
-      configure: Disable makefile auto-updating on BSD make, it's broken for parallel builds.
-      ntdll: Reimplement bsearch to avoid redundant and possibly out of bounds comparisons.
-      winex11: Fetch the antialias parameter from fontconfig too.
-      winex11: Allow the Xft configuration to override both registry and fontconfig parameters.
-      user.exe: Make sure 16-bit user and gdi never get unloaded.
-      winex11: Unmap zero-size windows also while processing a PropertyNotify event.
-      winex11: Don't send minimize/maximize sys commands to windows that are not supposed to get them.
-      msi: Ignore min/max versions if their values are null.
-      user.exe: Store the GDI instance when it's first loaded.
-      ole32: Implement the IAdviseSink call_as proxies and stubs.
-      user32/tests: Fix a test failure in desktop mode.
-      atl: Fix formatting of generated class name for 64-bit.
-      user32: Check the active window instead of the foreground to show/hide owned popups.
-      comctl32/imagelist: Add support for 25% and 50% blending when using an alpha channel.
-      comctl32/imagelist: Fix a copy/paste typo in ImageList_Merge.
-      user32: Copy icon bits by hand in CreateIconIndirect if the bitmaps can't be selected into a DC.
-      kernel32: Reset stdio handles when they are closed.
-      gdi32: Return the actual DIB section bitfields instead of default values in GetDIBits.
-      gdi32: Only 16 and 32 bpp DIB sections can have bitfields.
-      user32: Don't include winbase16.h.
-      version: Don't include winbase16.h.
-      winedump: Don't include winbase16.h.
-      Revert "gdi32: Pre-multiply RGB values by alpha for subpixel font rendering."
-      kernel32: Unalign the stack on process startup to work around Doom3 bug.
-      kernel32/tests: Restore the stderr handle after the closing test.
-      user32: Re-enable the fast code path in CreateIconIndirect.
-      winex11: Set window style to normal for windows with a minimize box.
-      winex11: Set size hints to 1x1 for zero-sized windows.
-      winex11: Map zero-size windows and set an empty window region for them.
-      winex11: Only unmap windows when the window rect changes to unmapped the first time.
-      user32: Only skip redraws on MDI child unmaximize if the new child is maximized.
+Alex Balut (1):
+      comctl32/tests: Added a test that checks whether setting a custom default button in a property sheet works.
 
-Andrew Eikum (1):
-      winedbg: Allow user to specify length of stack info output.
+Alexander Scott-Johns (8):
+      msvcrt: Fix comments.
+      msvcrt/tests: Properly skip if functions are not available.
+      msvcrt: Rename _TRUNCATE to MSVCRT__TRUNCATE.
+      include/msvcrt: Define _TRUNCATE; use it in the tests.
+      msvcrt: The sizeOfBuffer argument of _vsnwprintf_s is measured in wide characters, not bytes.
+      msvcrt: Fix spec file.
+      msvcrt/test: Add some simple _vsnwprintf_s tests.
+      msvcrt/tests: Move function pointer initialization code in printf.c into separate init function.
 
-Andrew Nguyen (2):
-      configure: Don't enable maintainer mode if it is explicitly not requested.
-      ws2_32: Update DLL version information to correspond to XP.
+Alexandre Julliard (30):
+      configure: Remove some dead code.
+      msvcrt: Make sure msvcrt doesn't get unloaded.
+      winex11: Disable sub-pixel antialiasing if Xrender isn't supported.
+      user32: Fallback to normal icon drawing if AlphaBlend fails.
+      mlang/tests: Fix some nasty #ifdef syntax.
+      winex11: Windows with WS_EX_NOACTIVATE style shouldn't be on the taskbar.
+      services: Start the 32-bit winedevice.exe for 32-bit kernel drivers.
+      comctl32/imagelist: Don't select the mask bitmap into a DC, it may already be selected.
+      comctl32/imagelist: Initialize the mask bits to zero in case the mask bitmap is smaller than the image bitmap.
+      winex11: Ignore fontconfig and Xft configuration if the app explicitly requested antialiasing.
+      comctl32: Only support an alpha channel for 32-bpp DIB-based imagelists.
+      comctl32: Load comctl32 builtin bitmaps as 32-bit DIBs.
+      winex11: Fix the X image masks according to the pixmap format in Get/SetDIBits.
+      winapi: Get the list of files from git-ls-files if possible.
+      winapi: Fix a few C parser bugs.
+      kernel32/tests: Fix the process title tests to actually test something.
+      kernel32: Make sure we always have a valid process title.
+      ntdll: Set a valid process title for the initial process.
+      comctl32/imagelist: Grow the has_alpha array also in ImageList_SetImageCount.
+      krnl386: Load gdi.exe and user.exe also when initializing universal thunks.
+      oleaut32: Fix handling of 'c' format for non-date variants in VarTokenizeFormatString.
+      winecfg: Remove the unimplemented device autodetect radio buttons.
+      winecfg: Reduce the height of the audio tab.
+      winecfg: Reduce the height of the applications tab.
+      winecfg: Reduce the height of the remaining tabs to make the window fit in a 640x480 desktop.
+      advapi32: Fix Unicode string lengths in LsaLookupSids.
+      xcopy: Do not ignore errors caused by processing parameters.
+      msi: Don't allow entering text in a scroll text richedit control.
+      wine.inf: Avoid creating empty registry values.
+      include: Set the oleautomation attribute on XML interfaces so that they get registered properly.
 
-Andrey Turkin (4):
-      oleaut32: Fix ctl2_alloc_importfile offset calculations.
-      oleaut32: Store correct offset for imported files in ICreateTypeInfo::AddRefTypeInfo.
-      oleaut32: Don't rewrite name's hreftype.
-      server: Connect named pipe synchronously when overlapped param is NULL.
+Andrew Eikum (3):
+      msi: Publish icons into the correct directory.
+      msi/tests: Fix install tests for Win9x.
+      regedit: Escape the value name portion during export.
 
-André Hentschel (11):
-      oledb32/tests: Preset dst_len to encounter more problems.
-      winegcc: Add support for amd64-mingw32msvc platform.
-      atl: Reuse code of AtlModuleRegisterWndClassInfoW for AtlModuleRegisterWndClassInfoA.
-      winejack.drv: Use jack_client_open instead of deprecated function.
-      oledb32: Fix dst_len in DataConvert.
-      oledb32: Add Variant to Integer conversion.
-      winebuild: Add support for amd64-mingw32msvc platform.
-      widl: Add support for amd64-mingw32msvc platform.
-      libs/port: Add support for amd64-mingw32msvc platform.
-      oledb32: Fix variant to integer conversion.
-      dbghelp: Use the available PowerPC functions.
+Andrew Nguyen (4):
+      gdi32/tests: Uncomment and enhance a Win9x-specific Restore/SaveDC test.
+      gdi32: Fix parameter handling of GetBoundsRect.
+      configure: Avoid breaking compilation if AC_PACKAGE_URL is unavailable when regenerating with older autoconf.
+      winealsa.drv: Replicate the snd_pcm_recover alsa-lib implementation to cope with older alsa-lib versions.
 
-Aric Stewart (6):
-      usp10: Use font chartype only as a fallback if we do not know the characters script already.
-      gdi32: Handle a BiDi string being shaped into more or less glyphs than characters in the string.
-      usp10: Handle Ligature Substitution Subtable from GSUB.
-      usp10: Apply the GSUB 'rlig' feature for Required ligature substitution.
-      usp10: Break out a function to apply a GSUB feature to an entire string of glyphs.
-      usp10: Apply all the GSUB features specified in Microsofts Typesetting documentation for Arabic Shaping.
+André Hentschel (10):
+      winapi: Init preprocessor_condition.
+      winapi: Add ordinal flag.
+      winapi: Allow multiple flags.
+      equartz: Add ntdll to imports.
+      winemenubuilder: Simplify switch cases.
+      winetest: Add an else case.
+      wine.man: There is no configuration file.
+      wineps.drv: Make the Apply button useable.
+      comdlg32: Correctly report the filter.
+      kernel32/tests: Add a test about unicode collation.
 
-Austin English (13):
-      ntdll: Add %gs support for FreeBSD.
-      user32: Add test for drop down width in test_changesize().
-      user32/tests: Check return value of DdeClientTransaction in test_initialisation().
-      gdi32/tests: Use ret in test_CreateFontIndirect().
-      kernel32/tests: Use ret in load_blackbox().
-      usp10/tests: Check return value of SelectObject.
-      kernel32/tests: Check return value of alarmThread in test_NamedPipe_2().
-      winebuild: FreeBSD 64-bit binaries are elf_x86_64_fbsd.
-      user32/tests: Check return value of GetUpdateRect in test_validatergn.
-      qedit: Fix return value of DllUnregisterServer.
-      winenas.drv: Remove oldb from nas_add_buffer, where it's unused.
-      loader: Remove mapat from map_so_lib, where it is unused.
-      dmusic: Use if(0) instead of #if 0 to make sure code still compiles.
+Aric Stewart (2):
+      gdi32: Set lpOrder in BIDI_Reorder even for strings not requireing reordering.
+      gdi32: Do not ignore USP_E_SCRIPT_NOT_IN_FONT when shaping glyphs.
 
-Damjan Jovanovic (2):
-      windowscodecs: Fix ICO palette size calculation.
-      winemenubuilder: Use the full path to start.exe.
+Aurimas Fišeras (1):
+      cmd: Update Lithuanian translation.
 
-David Adam (3):
-      d3drm: Remove a useless include.
-      d3drm: Do not redefine already defined guids.
-      d3drm: Remove a useless comment.
+Austin English (2):
+      ntdll: Add stub implementation of IOCTL_STORAGE_GET_MEDIA_TYPES/IOCTL_STORAGE_GET_MEDIA_TYPES_EX.
+      ntdll: Add signal context function definitions for FreeBSD.
 
-David Hedberg (2):
-      include: Add IExplorerBrowserEvents, IExplorerPaneVisibility and IExplorerBrowser interface declarations and related GUID's.
-      include: Add ICommDlgBrowser2 and ICommDlgBrowser3 interfaces.
+Damjan Jovanovic (4):
+      winemenubuilder: Also extract .lnk icons from file types.
+      winemenubuilder: Also extract .lnk icons from file types's open handler.
+      wine.inf: Also install winhlp32 into \windows\system32.
+      kernel32: CopyFile cannot overwrite a file with itself.
 
-Dmitry Timoshkov (1):
-      winex11.drv: Simulate pressing Alt+F4 instead of clicking the caption Close button when handling the WM_DELETE_WINDOW event.
+Dan Kegel (1):
+      wined3d: Fix size of buffer in swapchain_create_context_for_thread().
 
-Dylan Smith (4):
-      richedit: Missing HeapFree in WM_IME_COMPOSITION. (Smatch).
-      richedit: Commit undo items after modifications in WM_IME_COMPOSITION.
-      richedit: Simplify redundant code in WM_IME_COMPOSITION.
-      richedit: Fix assignment to wrong variable (LLVM/Clang).
+David Hedberg (6):
+      include: Add SID_ExplorerPaneVisibility.
+      include: Update FOLDERVIEWMODE and FOLDERFLAGS.
+      include: Add new SBSP_* defines.
+      shell32: Fix possible memory leak in CreateUnixFolder.
+      include: Add PIDLIST_ABSOLUTE typedef.
+      include: Add extended treeview style (TVS_EX_) definitions.
 
-Gerald Pfeifer (5):
-      msvcrt/tests: Adjust CHECK_TYPE to avoid some two dozen compiler warnings.
-      oleaut32/tests: Remove variable rValid which is not really used from test_VarMod.
-      rsaenh: Simplify store_key_container_permissions.
-      dbghelp: Remove variable basic_block which is not really used from dwarf2_parse_line_numbers.
-      wordpad: Remove variable bottom which is not really used from print.
+Dmitry Timoshkov (3):
+      hhctrl.ocx: Add a trace for the resulting CHM offset to string conversion.
+      hhctrl.ocx: If a CHM file reports window dimensions and title but doesn't really set them use default values.
+      server: Make layered windows transparent for mouse messages.
 
-Hans Leidekker (9):
-      server: Map EHOSTUNREACH to STATUS_HOST_UNREACHABLE.
-      msi: Get rid of the goto in MSI_ApplicablePatchW.
-      msi: Add a test for properties updated by a patch.
-      msi: End the search for a directory signature if the parent cannot be found.
-      wininet: Implement InternetSetOption(INTERNET_OPTION_CONTEXT_VALUE).
-      wininet: Pass the object header pointer to INET_QueryOption.
-      wininet: Implement InternetQueryOption(INTERNET_OPTION_CONTEXT_VALUE).
-      wininet: Add tests for setting and retrieving the context value.
-      wuapi: Return success from automatic_updates_Pause.
+Dylan Smith (3):
+      richedit: Keep default char format on WM_SETFONT in plain text mode.
+      wordpad: Native RegisterClassExW requires cbSize to be set.
+      wordpad: Provide buffer for replace with text.
 
-Henri Verbeet (15):
-      wined3d: Set the drawprim.c GLINFO_LOCATION to *gl_info.
-      wined3d: Set the swapchain.c GLINFO_LOCATION to *gl_info.
-      wined3d: Set the volume.c GLINFO_LOCATION to *gl_info.
-      wined3d: Set the nvidia_texture_shader.c GLINFO_LOCATION to *gl_info.
-      wined3d: Set the ati_fragment_shader.c GLINFO_LOCATION to *gl_info.
-      wined3d: Set the arb_program_shader.c GLINFO_LOCATION to *gl_info.
-      wined3d: Set the state.c GLINFO_LOCATION to *gl_info.
-      wined3d: Get rid of GLINFO_LOCATION.
-      d3d8: Set the FPU control word on device creation.
-      d3d9: Set the FPU control word on device creation.
-      wined3d: Handle a zero source value for WINED3DSIH_POW.
-      d3d9/tests: Fix a typo.
-      d3d9/tests: Don't depend so much on point rasterization rules in pointsize_test().
-      d3d9/test: Introduce point_match() to simplify testing point sizes.
-      d3d9/tests: Remove an invalid point size test.
+Eric Pouech (8):
+      winhelp: Added support for hotspot in images with target window embedded.
+      winhelp: When opening a page, don't reopen the same page from macro, even if requested.
+      winhelp: Don't reset window position when reusing the current window.
+      winhelp: Don't close popup just after they are created.
+      dbghelp: In dwarf parser, properly handle array without size specified.
+      dbghelp: Ensure that local variables and parameter actually have a container.
+      dbghelp: Properly manage in dbghelp interfaces local variables and parameters that are constant.
+      winhelp: Implemented ExecFile macro.
 
-Jacek Caban (8):
-      mshtml: Simplify translate_url call.
-      jscript: Store builtin constructor's length in instance object.
-      jscript: Added RegExp.leftContext and RegExp.rightContext stub implementation.
-      jscript: Treat no argument as "undefined" in RegExp.test.
-      jscript: Store match result in script context.
-      jscript: Added RegExp.leftContext implementation.
-      jscript: Added RegExp.rightContext implementation.
-      jscript: Added leftContext and rightCont4ext tests.
+Frédéric Delanoy (7):
+      comctl32: Fix French translation.
+      comdlg32: Fix French translation.
+      shlwapi: Fix French translation.
+      mshtml: Update French translation.
+      kernel32: Fix a spelling error in French locale definitions.
+      msacm32: Remove dead "code" from rc files.
+      cmd: Update French translation.
 
-Juan Lang (5):
-      ole32/tests: Test creating an IPropertySetStorage with an unknown format id.
-      ole32: Only read known format ids when attempting to read summary information.
-      crypt32/tests: Improve granularity of testing a store's serialized form.
-      crypt32/tests: Test an otherwise unused return value.
-      crypt32/tests: Always compare serialized stores in memory.
+Hans Leidekker (12):
+      msi: Don't keep handles open to the patch database in MSI_ApplyPatchW.
+      msi: Advance to the right cabinet in ACTION_MsiPublishAssemblies.
+      msi: Improve parsing of patch summary information.
+      msi: Pass the control name to ControlEvent_SubscribeToEvent instead of uninitialized memory.
+      setupapi: Add stub implementations of SetupGetNonInteractiveMode and SetupSetNonInteractiveMode.
+      msi: Create directories right before installing files.
+      msi: Directly pass the disk id to installfiles_cb.
+      msi: Display the directory identifier instead of the full path in standard actions.
+      msi: Compare file versions as numbers instead of strings.
+      msi: Disable an optimization in the execution of WHERE clauses.
+      msi: Update an existing record even if the low bit in the transform mask is set.
+      msi: Implement MsiGetFeatureCostA/W.
+
+Henri Verbeet (5):
+      wined3d: Get rid of some dead code.
+      wined3d: Sampler states are 1-based.
+      wined3d: Release the context on an error path in buffer_PreLoad().
+      wined3d: Also flip the point sprite coordinate origin when rendering offscreen.
+      d3d9/tests: Add a test for offscreen point sprites.
+
+Hwang YunSong (2):
+      wordpad: Update Korean resource.
+      msi: Update Korean resource.
+
+Igor Paliychuk (3):
+      winhlp32: Add Ukrainian translations.
+      oledlg: Add Ukrainian translations.
+      kernel32: Update Ukrainian translations.
+
+Jacek Caban (3):
+      iexplore: Use 1 as default icon ID.
+      mshtml: Uncomment iexplore.exe registries.
+      winbase.h: Added missing COPY_FILE_* flags.
+
+Joel Holdsworth (5):
+      iexplore: Renamed iexplore resource file.
+      iexplore: Added a Tango compliant icon.
+      winecfg: Moved about panel code into about.c.
+      winecfg: Added new logo graphics.
+      winecfg: Cosmetic improvements to the about panel.
+
+John Voltz (1):
+      gdi32: Fix typo in enhanced metafile Arc function.
+
+Jose Rostagno (10):
+      setupapi: Update Spanish translation.
+      mshtml: Update Spanish translation.
+      wininet: Update Spanish translation.
+      shell32: Update Spanish translation.
+      msvidc32: Add Spanish translation.
+      winecfg: Update Spanish translation.
+      shell32: Fix Spanish translation.
+      write: Add Spanish translation.
+      jscript: Add Spanish translation.
+      reg: Add Spanish translation.
+
+Juan Lang (2):
+      comdlg32: No and escape are equivalent.
+      winhttp/tests: Skip tests when a connection fails.
+
+Konstantin Kondratyuk (1):
+      mshtml: Fix typo in Russian resources.
 
 Kristofer Henriksson (1):
-      winemp3.acm: Fix the Mac-specific code.
+      winemp3.acm: Update mpegl3.c copyright notice.
+
+Louis Lenders (1):
+      xinput1_3: Quiet a noisy fixme.
+
+Luca Bennati (25):
+      wordpad: Update Italian translation.
+      wineboot: Update Italian translation.
+      winhlp32: Update Italian translation.
+      oledlg: Update Italian translation.
+      setupapi: Update Italian translation.
+      cryptdlg: Add Italian translation.
+      msvidc32: Add Italian translation.
+      iccvid: Add Italian translation.
+      sane.ds: Add Italian translation.
+      localspl: Add Italian translation.
+      gphoto2.ds: Add Italian translation.
+      localui: Add Italian translation.
+      hhctrl.ocx: Add Italian translation.
+      mapi32: Add Italian translation.
+      taskmgr: Add Italian translation.
+      jscript: Add Italian translation.
+      shell32: Update Italian translation.
+      comdlg32: Fix Italian Translation.
+      regedit: Update Italian translation.
+      shell32: Fix Italian translation.
+      shdoclc: Add Italian translation.
+      wldap32: Add Italian translation.
+      oleview: Add Italian translation.
+      shdoclc: Fix Italian translation.
+      shdoclc: Fix again Italian translation.
 
 Maarten Lankhorst (1):
-      winmm: Wake up timer after the timer list is empty.
+      dsound: Unofficially support 5.1 sound.
 
-Marcus Meissner (5):
-      usp10: Check heap_alloc return value (Coverity).
-      ntdll: qsort: comparator must not get the same pointer.
-      d3dx9_36: Fixed off by 1 in the usage_idx check (Coverity).
-      wininet: Check for NULL lpwhh (Coverity).
-      include: Pack NE_NAMEINFO and NE_TYPEINFO pack(1).
+Marcus Meissner (4):
+      shlwapi: Handle NULL ptr return from allocation (Coverity).
+      mshtml: Add check for doc_obj being NULL (Coverity).
+      dbghelp: Add 2 new darf defines and implement DW_OP_stack_value.
+      wininet: Fixed buffer lengths in InternetCrackUrlW tests.
 
-Matteo Bruni (2):
-      d3dx9: Stricter checks for relative addressing in the shader assembler.
-      d3dx9: Shader assembler vs_1_0 and vs_1_1 support.
+Mariusz Pluciński (5):
+      gameux: Add initial header for gameux.dll.
+      gameux: Add declaration of IGameExplorer interface.
+      gameux: Add declaration of IGameStatistics interface.
+      gameux: Add declaration of IGameStatisticsMgr interface.
+      gameux: Add declaration of IGameExplorer2 interface.
 
-Michael Stefaniuc (5):
-      msacm32: Avoid using the long type.
-      mapi32: Add the Romanian translation.
-      comctl32: Avoid a potential NULL pointer dereference in a TRACE.
-      ole32: Avoid potential NULL pointer dereferences in a TRACE.
-      devenum: Split the translations into separate resource files.
+Matijn Woudt (1):
+      msi/tests: Testcases for CREATE TABLE.
 
-Nikolay Sivov (9):
-      comctl32/listview: Fix vertical position offset for subitem rectangle.
-      shell32: Export lowlevel PIDL manipulation calls by name too.
-      comctl32/listview: Perform ranges validation only when tracing enabled.
-      comctl32: Export subclass calls by names too.
-      Fix unneeded capitalization in user prompts.
-      shell32: Complete strings resources.
-      wineboot: Add a translation for prefix update dialog.
-      comctl32: Fix accelerator letters for Toolbar customizing dialog.
-      README.ru: Fix some problems with words order in phrases.
+Matteo Bruni (12):
+      d3dx9: Allow modifiers on the ps dcl input instruction.
+      d3dx9: Allow modifiers on the ps dcl sampler instruction.
+      d3dx9: Fix get_regname debug function.
+      d3dx9: Remove stray debug trace.
+      d3dx9: Make D3DXCompileShader stub more verbose.
+      d3dx9: Allow D3DXAssembleShader calls with NULL parameters.
+      d3dx9: Mark builtin compatibility declarations in the shader assembler.
+      d3dx9: Support ps_2_0-style dcl instruction in the shader assembler.
+      d3dx9: Accept texture coordinate registers in dcl instruction.
+      d3dx9: Allow sampler declaration without sampler type.
+      d3dx9: Check register type in dcl input instruction.
+      d3dx9: Disallow sampler declarations where not supported.
 
-Piotr Caban (2):
-      msvcrt: Fix mbstowcs_l implementation.
-      msvcrt: Fix wcstombs_l implementation.
+Nikolay Sivov (12):
+      shlwapi: Don't limit text size for message boxes from ShellMessageBoxWrapW.
+      oleaut32: Copy bytes instead of WCHARs in VarBstrCat.
+      comctl32/rebar: Fix index check condition for RB_SHOWBAND.
+      comctl32/rebar: Use defined constants as parameters.
+      comctl32/treeview: Activate tree verification only when TRACE() is on.
+      comctl32/treeview: Remove commented out lines.
+      comctl32/treeview: Remove some casts.
+      comctl32/tests: Some expand notifications tests.
+      msvcrt: Add _snprintf_s implementation.
+      msvcrt: Add _snwprintf_s implementation.
+      msvcrt: Add _scwprintf implementation.
+      msvcrt: Fix __lconv_init() prototype.
 
-Robert Wilhelm (4):
-      include: Add struct _stat32i64 and struct _stat64i32.
-      msvcrt90: Add fstat64i32.
-      msvcrt90: Add stat64i32.
-      msvcrt: Support system(NULL).
+Octavian Voicu (1):
+      ntdll: Show one-time ERR if NOFILE limit is reached.
 
-Roderick Colenbrander (7):
-      wined3d: Replace set_shader call with unset_shader in blt_to_drawable.
-      wined3d: Don't use blit_supported() in d3dfmt_get_conv for now.
-      wined3d: Update Nvidia Geforce6+ driver version to latest 197.45 WHQL version.
-      wined3d: Add Geforce 4x0 cards to GPU database.
-      wined3d: Add Geforce 2xx lowend models.
-      wined3d: Mark Geforce GT 140 as a Geforce 9600GT.
-      wined3d: Add support for mobile Geforce 3xx GPUs.
+Paul Vriens (36):
+      browseui: Add Danish translation.
+      comctl32: Add Danish translation.
+      winedbg: Add the Danish translation.
+      wineconsole: Add Danish translation.
+      wineboot: Update the Danish translation.
+      winecfg: Update the Danish translation and convert to UTF-8.
+      taskmgr: Update the Danish translation and convert to UTF-8.
+      shell32: Update the Danish translation and convert to UTF-8.
+      mshtml: Update the Danish translation and convert to UTF-8.
+      regedit: Update the Danish translation and convert to UTF-8.
+      notepad: Update the Danish translation and convert to UTF-8.
+      setupapi: Update the Danish translation.
+      reg: Update the Danish translation and convert to UTF-8.
+      kernel32: Fix the Korean resources.
+      wininet: Update the Danish translation and convert to UTF-8.
+      avifile32: Update the Danish translation and convert to UTF-8.
+      winecfg: Update the Danish translation.
+      winhlp32: Update the Danish translation and convert to UTF-8.
+      wordpad: Update the Danish translation and convert to UTF-8.
+      kernel32: Add the Danish translation.
+      appwiz.cpl: Add the Danish translation.
+      credui: Update the Danish translation and convert to UTF-8.
+      mapi32: Add the Danish translation.
+      write: Add the Danish translation.
+      jscript: Add the Danish translation.
+      start: Add the Danish translation.
+      devenum: Add the Danish translation.
+      cryptdlg: Add the Danish translation.
+      winhlp32: Define LANGUAGE only once.
+      resources: Fix some copy-paste mistakes in resource files.
+      winecfg: Update the Danish translation.
+      regedit: Update the Danish translation.
+      user32: Update the Danish translation and convert to UTF-8.
+      shell32: Update the Danish translation.
+      notepad: Update the Danish translation.
+      comdlg32: Update the Danish translation and convert to UTF-8.
 
-Sven Baars (8):
-      winemine: Fix Dutch translation.
-      msi: Fix English translation.
-      msi: Update Dutch translation.
-      view: Fix Dutch translation.
-      taskmgr: Fix Dutch translation.
-      sane.ds: Fix Dutch translation.
-      winhlp32: Fix Dutch translation.
-      winefile: Fix Dutch translation.
+Robert McDonald (1):
+      include: Add missing typedef keyword to avoid multiply-defined symbols.
 
-Thomas Mullaly (5):
-      urlmon/tests: Added tests for IUri_GetPropertyBSTR.
-      urlmon/tests: Added tests for IUri_GetPropertyDWORD.
-      urlmon/tests: Added tests for half of the IUri_Get* string functions.
-      urlmon/tests: Added the remainder of tests for the IUri_Get* string functions.
-      urlmon/tests: Added tests for the IUri_Get* dword property functions.
+Sven Baars (10):
+      oleview: Fix Dutch translation.
+      cmdlgtst: Fix Dutch translation.
+      regedit: Fix Dutch translation.
+      reg: Fix Dutch translation.
+      progman: Fix Dutch translation.
+      cmd: Make some help messages more informative.
+      cmd: Update Dutch translation.
+      winmm: Fix Dutch translation.
+      wordpad: Fix Dutch translation.
+      comdlg32: Fix Dutch translation.
 
-Vincent Povirk (4):
-      ole32/tests: Add more IStream_Seek tests for hglobalstream.
-      ole32: Fix seeking backwards in hglobalstream.
-      windowscodecs: Account for a NULL pceltFetched in ComponentEnum_Next.
-      ole32: Always check the size of the small block root chain.
+Sylvain Petreolle (1):
+      mshtml: Allow either REG_SZ or REG_EXPAND_SZ for GeckoCabDir.
+
+Thomas Mullaly (7):
+      urlmon/tests: Added more test data for the IUri tests.
+      urlmon/tests: Added tests for IUri_GetPropertyLength.
+      urlmon/tests: Added test for invalid args to IUri_GetPropertyBSTR and IUri_GetPropertyDWORD.
+      urlmon/tests: Added tests for IUri_GetProperties.
+      urlmon/tests: Added tests for IUri_HasProperty.
+      urlmon/tests: Added tests for IUri_IsEqual.
+      urlmon/tests: Added tests for IUri_GetHost.
+
+Vincent Povirk (2):
+      windowscodecs: Fix the tile coordinate translation in the TIFF decoder.
+      include: Add definitions for IWICColorContext.
+
+Wolfram Sang (2):
+      wined3d: Clarify some comments about Intel cards.
+      user32: No sanity checks for BITMAPCOREINFO in BITMAP_Load.
+
+Łukasz Wojniłowicz (22):
+      mshtml: Update the Polish translation.
+      wineboot: Update the Polish translation.
+      wordpad: Update the Polish translation.
+      taskmgr: Update the Polish translation.
+      wininet: Update the Polish translation.
+      shell32: Update the Polish translation.
+      regedit: Update the Polish translation.
+      winecfg: Update the Polish translation.
+      setupapi: Update the Polish translation.
+      notepad: Update the Polish translation.
+      reg: Update the Polish translation.
+      appwiz: Add the Polish translation.
+      crypt32: Add the Polish translation.
+      serialui: Add the Polish translation.
+      cryptdlg: Add the Polish translation.
+      jscript: Add the Polish translation.
+      cryptui: Add the Polish translation.
+      winedbg: Add the Polish translation.
+      mapi32: Add the Polish translation.
+      shdoclc: Add the Polish translation.
+      user32: Update the Polish translation.
+      oleacc: Update the Polish translation.
 
 --
 Alexandre Julliard
diff --git a/VERSION b/VERSION
index 84cd7a1..82c0b12 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-Wine version 1.2-rc2
+Wine version 1.2-rc3
diff --git a/configure b/configure
index 82d969b..5e20b93 100755
--- a/configure
+++ b/configure
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.65 for Wine 1.2-rc2.
+# Generated by GNU Autoconf 2.65 for Wine 1.2-rc3.
 #
 # Report bugs to <wine-devel@winehq.org>.
 #
@@ -552,8 +552,8 @@
 # Identity of this package.
 PACKAGE_NAME='Wine'
 PACKAGE_TARNAME='wine'
-PACKAGE_VERSION='1.2-rc2'
-PACKAGE_STRING='Wine 1.2-rc2'
+PACKAGE_VERSION='1.2-rc3'
+PACKAGE_STRING='Wine 1.2-rc3'
 PACKAGE_BUGREPORT='wine-devel@winehq.org'
 PACKAGE_URL='http://www.winehq.org'
 
@@ -1364,7 +1364,7 @@
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures Wine 1.2-rc2 to adapt to many kinds of systems.
+\`configure' configures Wine 1.2-rc3 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1433,7 +1433,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of Wine 1.2-rc2:";;
+     short | recursive ) echo "Configuration of Wine 1.2-rc3:";;
    esac
   cat <<\_ACEOF
 
@@ -1576,7 +1576,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-Wine configure 1.2-rc2
+Wine configure 1.2-rc3
 generated by GNU Autoconf 2.65
 
 Copyright (C) 2009 Free Software Foundation, Inc.
@@ -2096,7 +2096,7 @@
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by Wine $as_me 1.2-rc2, which was
+It was created by Wine $as_me 1.2-rc3, which was
 generated by GNU Autoconf 2.65.  Invocation command line was
 
   $ $0 $@
@@ -15352,7 +15352,7 @@
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by Wine $as_me 1.2-rc2, which was
+This file was extended by Wine $as_me 1.2-rc3, which was
 generated by GNU Autoconf 2.65.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -15423,7 +15423,7 @@
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-Wine config.status 1.2-rc2
+Wine config.status 1.2-rc3
 configured by $0, generated by GNU Autoconf 2.65,
   with options \\"\$ac_cs_config\\"
 
