WineHQ

Wine Announcement

The Wine development release 8.13 is now available.

What's new in this release:
  - Wow64 support in WineGStreamer.
  - WeakMap support in JScript.
  - Georgian translation.
  - Various bug fixes.

The source is available at:

  https://dl.winehq.org/wine/source/8.x/wine-8.13.tar.xz

Binary packages for various distributions will be available from:

  https://www.winehq.org/download

You will find documentation on https://www.winehq.org/documentation

You can also get the current source directly from the git
repository. Check https://www.winehq.org/git for details.

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

----------------------------------------------------------------

Bugs fixed in 8.13 (total 36):

 - #24614  Multiple games crash or hang on startup due to D3DXAssembleShader not handling apostrophes in comments (Medieval II: Total War, Yu-Gi-Oh! ONLINE 3 client)('winetricks -q d3dx9_xx' is a workaround)
 - #35690  Steam network hang ups.
 - #35701  League of Legends: Right click contextual menu on friends list is invisible
 - #35866  AvP 2000 game: some ingame text has red boxes around it with built-in d3dx9 libraries
 - #41466  Steam: Tray icon menu sometimes flickers
 - #42867  steam store doesnt work
 - #44223  FrameMaker 7.2/8.0: Console window minimized and not (re)drawn
 - #44529  [Steam] Process remaining after exiting
 - #45042  Steam doesn't uninstall applications, gets stuck saying "deleting %game%" and the other popup is barely visible
 - #45564  Kolab E14 Client installation fails with "Copy failed"
 - #46221  League of Legends  8.23 crash after champion select
 - #46888  Office 2007 word does not export to PDF/A
 - #47328  Steam crashes when loading the Store tab (Assertion Failed: killing unresponsive browser for URL)
 - #49371  Incorrect output buffer length check in WSAIoctl with SIO_GET_INTERFACE_LIST
 - #50771  msys2 unlink() fails on read-only files [needs CreateFile(FILE_WRITE_ATTRIBUTES)]
 - #50868  League of Legends: infinite loading after login
 - #51383  S.T.A.L.K.E.R.: Call of Pripyat rendering is messed up with Enhanced full dynamic lighting (DX10)
 - #51950  Iperf 2.0.8 hangs in parallel dual mode on localhost
 - #51982  When installing Kobo for Desktop, user data meant for AppData\Local\Kobo is instead placed inside an arbitrary folder of the program's installation.
 - #53446  Total War Shogun 2 crashes on Intel Iris Plus Graphics G4
 - #53723  Star Ocean The Last Hope HD exits to desktop on start after NtUserSystemParametersInfo change.
 - #53890  comctl32:edit - test_ime() fails in Korean on Windows
 - #54166  Compilation fails with gcc 4.8.4 (error: ‘HTTP_STATUS_CONTINUE’ undeclared)
 - #54503  d3dx9_36:math - test_D3DXSHMultiply3() fails on Debian Testing
 - #54609  32-bit Softerra LDAP Administrator crashes due to proxy use-after-free
 - #54688  ntdll:info - test_query_cpu() fails on Windows 7
 - #54871  kernel32:console - testScroll() fails on Windows 10 1909
 - #54932  Fallout 3: Black screen when using the experimental wow64 mode
 - #55032  Multiple games have laggy rendering in DX12 mode (Kena: Bridge of Spirits, Total Conflict: Resistance)
 - #55078  Powerpoint 2007: "Print to file" broken
 - #55114  secur32:schannel - The 32-bit test_connection_shutdown() crashes on Windows <= 8
 - #55177  Hatching not printed in Framemaker 8
 - #55181  Recent versions of chromium broken again, need ProcessPrng
 - #55187  winedbg --auto crashes if target process terminates after attaching.
 - #55247  Assertion in riched20 while installing Office 2007
 - #55276  Dying Light 2: Stay Human crashes on launch

----------------------------------------------------------------

Changes since 8.12:

Alex Henrie (6):
      webservices: Add missing const to url parameter of WsOpenListener.
      include: Add WS_STRING_VALUE and WS_XML_STRING_VALUE.
      webservices/tests: Use WS_STRING_VALUE and WS_XML_STRING_VALUE.
      include: Annotate IoAllocate functions with __WINE_(ALLOC_SIZE|DEALLOC|MALLOC).
      shell32: Free item lists with ILFree.
      include: Annotate SHAlloc with __WINE_(DEALLOC|MALLOC).

Alexandre Julliard (101):
      comctl32: Use nameless unions/structs.
      comdlg32: Use nameless unions/structs.
      dinput: Use nameless unions/structs.
      dplayx: Use nameless unions/structs.
      riched20: Use nameless unions/structs.
      urlmon: Use nameless unions/structs.
      wintrust: Use nameless unions/structs.
      wow64: Implement backend notification functions.
      gitlab: Upgrade the Debian image to bookworm.
      ntdll: Fix returned length for some info classes in NtQueryInformationProcess().
      ntdll: Return the 32-bit PEB for NtQueryInformationProcess(ProcessWow64Information).
      psapi/tests: Use MAX_PATH size for arrays holding file paths.
      kernelbase: Use ProcessWow64Information to retrieve the 32-bit PEB.
      wow64: Use ProcessWow64Information to retrieve the 32-bit PEB.
      ntdll: Implement RtlWow64GetSharedInfoProcess().
      adsldp: Use nameless unions/structs.
      amstream: Use nameless unions/structs.
      appwiz.cpl: Use nameless unions/structs.
      cryptdlg: Use nameless unions/structs.
      cryptnet: Use nameless unions/structs.
      cryptui: Use nameless unions/structs.
      dmloader: Use nameless unions/structs.
      dmsynth: Use nameless unions/structs.
      dmusic: Use nameless unions/structs.
      dxdiagn: Use nameless unions/structs.
      gitlab: Install the gstreamer packages from deb-multimedia.org.
      d3drm: Use nameless unions/structs.
      ddraw: Use nameless unions/structs.
      ddrawex: Use nameless unions/structs.
      explorerframe: Use nameless unions/structs.
      fusion: Use nameless unions/structs.
      gdiplus: Use nameless unions/structs.
      hhctrl.ocx: Use nameless unions/structs.
      ieframe: Use nameless unions/structs.
      inetcomm: Use nameless unions/structs.
      inetcpl.cpl: Use nameless unions/structs.
      inetmib1: Use nameless unions/structs.
      include: Add some new information classes.
      configure: Always disable winegstreamer if gst/gst.h is broken.
      mscoree: Use nameless unions/structs.
      mshtml: Use nameless unions/structs.
      msi: Use nameless unions/structs.
      msxml3: Use nameless unions/structs.
      ndis.sys: Use nameless unions/structs.
      netio.sys: Use nameless unions/structs.
      netprofm: Use nameless unions/structs.
      oledb32: Use nameless unions/structs.
      oledlg: Use nameless unions/structs.
      gitlab: Make sure that the tags are fetched before building.
      pdh: Use nameless unions/structs.
      prntvpt: Use nameless unions/structs.
      quartz: Use nameless unions/structs.
      sane.ds: Use nameless unions/structs.
      usbd.sys: Use nameless unions/structs.
      wbemprox: Use nameless unions/structs.
      wevtapi: Use nameless unions/structs.
      wined3d: Use nameless unions/structs.
      wineandroid.drv: Use nameless unions/structs.
      winemac.drv: Use nameless unions/structs.
      winex11.drv: Use nameless unions/structs.
      winhttp: Use nameless unions/structs.
      wininet: Use nameless unions/structs.
      winmm: Use nameless unions/structs.
      winspool.drv: Use nameless unions/structs.
      strmbase: Use nameless unions/structs.
      krnl386: Use nameless unions/structs.
      mmsystem: Use nameless unions/structs.
      ver: Use nameless unions/structs.
      comctl32/tests: Use nameless unions/structs.
      comdlg32/tests: Use nameless unions/structs.
      compstui/tests: Use nameless unions/structs.
      crypt32/tests: Use nameless unions/structs.
      cryptui/tests: Use nameless unions/structs.
      devenum/tests: Use nameless unions/structs.
      dmsynth/tests: Use nameless unions/structs.
      dplayx/tests: Use nameless unions/structs.
      fusion/tests: Use nameless unions/structs.
      gdi32/tests: Use nameless unions/structs.
      gdiplus/tests: Use nameless unions/structs.
      ieframe/tests: Use nameless unions/structs.
      imagehlp/tests: Use nameless unions/structs.
      inetcomm/tests: Use nameless unions/structs.
      iphlpapi/tests: Use nameless unions/structs.
      kernel32/tests: Use nameless unions/structs.
      mfplat/tests: Use nameless unions/structs.
      mshtml/tests: Use nameless unions/structs.
      msi/tests: Use nameless unions/structs.
      ntdll/tests: Use nameless unions/structs.
      oledb32/tests: Use nameless unions/structs.
      pdh/tests: Use nameless unions/structs.
      quartz/tests: Use nameless unions/structs.
      rpcrt4/tests: Use nameless unions/structs.
      shlwapi/tests: Use nameless unions/structs.
      urlmon/tests: Use nameless unions/structs.
      user32/tests: Use nameless unions/structs.
      wevtapi/tests: Use nameless unions/structs.
      windowscodecs/tests: Use nameless unions/structs.
      wininet/tests: Use nameless unions/structs.
      winmm/tests: Use nameless unions/structs.
      winspool.drv/tests: Use nameless unions/structs.
      wintrust/tests: Use nameless unions/structs.

Alistair Leslie-Hughes (37):
      appwiz: Remove DECLSPEC_HIDDEN usage.
      sxs: Remove DECLSPEC_HIDDEN usage.
      netprofm: Remove DECLSPEC_HIDDEN usage.
      adsldp: Remove DECLSPEC_HIDDEN usage.
      explorerframe: Remove DECLSPEC_HIDDEN usage.
      wintab32: Remove DECLSPEC_HIDDEN usage.
      msdaps: Remove DECLSPEC_HIDDEN usage.
      mscms: Remove DECLSPEC_HIDDEN usage.
      shlwapi: Remove DECLSPEC_HIDDEN usage.
      widl: Remove unnecessary null check (Coverity).
      windowscodecs: Remove misleading comment.
      windowscodecs: Remove DECLSPEC_HIDDEN usage.
      d3d10: Remove DECLSPEC_HIDDEN usage.
      d3dcompiler_43: Remove DECLSPEC_HIDDEN usage.
      d3d8: Remove DECLSPEC_HIDDEN usage.
      d3drm: Remove DECLSPEC_HIDDEN usage.
      d3d9: Remove DECLSPEC_HIDDEN usage.
      wbemdisp: Remove DECLSPEC_HIDDEN usage.
      mf: Remove DECLSPEC_HIDDEN usage.
      mfreadwrite: Remove DECLSPEC_HIDDEN usage.
      mfplat: Remove DECLSPEC_HIDDEN usage.
      kernelbase: Remove DECLSPEC_HIDDEN usage.
      fusion: Remove DECLSPEC_HIDDEN usage.
      wnaspi32: Remove DECLSPEC_HIDDEN usage.
      msctf: Remove DECLSPEC_HIDDEN usage.
      taskschd: Remove DECLSPEC_HIDDEN usage.
      msado15: Remove DECLSPEC_HIDDEN usage.
      twain_32: Remove DECLSPEC_HIDDEN usage.
      gdiplus: Remove DECLSPEC_HIDDEN usage.
      d3drm/tests: Show that viewport::render does not clear the background.
      ddrawex: Remove DECLSPEC_HIDDEN usage.
      dxgi: Remove DECLSPEC_HIDDEN usage.
      d3d11: Remove DECLSPEC_HIDDEN usage.
      d3dx10_43: Remove DECLSPEC_HIDDEN usage.
      d2d1: Remove DECLSPEC_HIDDEN usage.
      ddraw: Remove DECLSPEC_HIDDEN usage.
      d3dx9_36: Remove DECLSPEC_HIDDEN usage.

Aurimas Fišeras (1):
      po: Update Lithuanian translation.

Bernhard Kölbl (2):
      mfmediaengine/tests: Add tests for audio effects.
      mfmediaengine: Add support for inserting audio effects.

Billy Laws (5):
      wineboot: Always attempt setup for all machine types.
      ntdll: Fix NtContinue from within exception context on ARM64.
      ntdll/tests: Test that NtContinue restores all register state on arm64.
      ntdll: Add aarch64 DWARF register definitions.
      ntdll: Avoid storing a second ctx copy in the aarch64 raise trampoline.

Biswapriyo Nath (5):
      include: Add ID2D1SpriteBatch in d2d1_3.idl.
      include: Add ID2D1SvgGlyphStyle in d2d1_3.idl.
      include: Add ID2D1DeviceContext3 in d2d1_3.idl.
      include: Add ID2D1DeviceContext4 in d2d1_3.idl.
      include: Add more CLSIDs in d2d1effects.idl.

Brendan Shanks (10):
      win32u: Set zero_bits correctly for large address aware applications on Wow64.
      winecoreaudio: Set zero_bits correctly for large address aware applications on Wow64.
      winealsa: Set zero_bits correctly for large address aware applications on Wow64.
      wineoss: Set zero_bits correctly for large address aware applications on Wow64.
      winepulse: Set zero_bits correctly for large address aware applications on Wow64.
      ntdll: Don't release address space on 64-bit macOS.
      configure: Only attempt to build macOS preloader on Intel, and remove unnecessary flag checks.
      loader: On 64-bit macOS, reserve the low 8GB using a zerofill section.
      loader: In macOS preloader, add __program_vars section.
      winecoreaudio: Fix missing struct member in get_position() Wow64 thunk.

Chris Denton (1):
      bcryptprimitives: ProcessPrng stub.

Connor McAdams (8):
      uiautomationcore: Allow for refusal of HWND providers on node creation by non-nested node providers.
      uiautomationcore: Add support for matching serverside events through navigation.
      ole32/tests: Extend test_marshal_channel_buffer() test to include IRpcProxyBufferWrapper checks.
      combase: Use correct destination context in CoUnmarshalInterface when using the standard marshaler.
      uiautomationcore/tests: Add IUIAutomationEventHandler tests.
      uiautomationcore: Partially implement IUIAutomation::AddAutomationEventHandler.
      uiautomationcore: Implement IUIAutomation::RemoveAllEventHandlers.
      uiautomationcore: Implement IUIAutomation::RemoveAutomationEventHandler.

David Kahurani (1):
      gdiplus: Dump both variable address and internal values for matrices.

Davide Beatrici (2):
      mmdevapi: Don't link to uuid.
      mmdevapi: Implement get_audio_session.

Ekaterine Papava (1):
      po: Add Georgian translation.

Eric Pouech (1):
      conhost: Fix ctrl-c handling.

Fabian Maurer (2):
      geolocation: Rename from windows.devices.geolocation.geolocator.
      user32/tests: Remove DrawTextEx tests that overrun stack variable.

François Gouget (4):
      user32/tests: Use win_skip() for missing APIs.
      uxtheme/tests: Use win_skip() for missing APIs.
      msvcrt/tests: Check that some functions are only available in 32-bit code.
      riched20/tests: Make the editor paste test failures more informative and unique.

Gabriel Ivăncescu (10):
      mshtml: Grab the binding while aborting it.
      jscript: Convert unlink_props to a helper that unlinks the entire object.
      jscript: Implement WeakMap instance stub and constructor.
      jscript: Implement WeakMap.set().
      jscript: Implement WeakMap.get().
      jscript: Implement WeakMap.delete().
      jscript: Implement WeakMap.clear().
      jscript: Implement WeakMap.has().
      mshtml/tests: Add tests for WeakMap.
      jscript: Properly set JS_E_WRONG_THIS as a TypeError.

Georg Lehmann (1):
      winevulkan: Update to VK spec version 1.3.258.

Giovanni Mascellani (7):
      dxgi: Introduce a worker thread for the D3D12 swapchain.
      dxgi: Move presentation to the worker thread.
      dxgi: Move buffer resizing to the worker thread.
      dxgi: Remove the worker event, which is now useless.
      dxgi: Do not allow vkd3d_acquire_vk_queue() to fail.
      dxgi: Acquire and release the Vulkan queue inside d3d12_swapchain_queue_present().
      dxgi: Wait before acquiring the Vulkan queue for presenting.

Hans Lehnert (1):
      wininet: Handle http headers correctly when length is 0.

Hans Leidekker (5):
      secur32/tests: Fix a test failure and extend tests.
      include: Add Uri runtime class and related definitions.
      include: Add ProcessorArchitecture winrt enum.
      include: Add windows.storage.idl.
      include: Add windows.applicationmodel.idl.

Jacek Caban (12):
      user32: Return result from dispatch_win_proc_params.
      win32u: Return result from dispatch_win_proc_params.
      win32u: Remove no longer needed result pointer from win_proc_params.
      win32u: Always use result returned directly from call_window_proc.
      user32: Always use NtCallbackReturn in User32DrawText.
      wow64win: Define more 32-bit types.
      wow64win: Support in place conversion in 64to32 struct conversion helpers.
      wow64win: Convert parameters in place in wow64_NtUserCallWinProc.
      wow64win: Convert parameters in place in wow64_NtUserCallWindowsHook.
      user32: Always use NtCallbackReturn to pass result from User32CallWindowsHook.
      win32u: Pass module name before packed lparam in win_hook_params.
      win32u/tests: Add tests for handling LPARAM in window procs and hooks.

Jacob Czekalla (1):
      comdlg32: Add parent folder button to IFileDialog.

Jeff Smith (10):
      gdiplus: Dash pattern scaling does not shrink below line width 1.0.
      gdiplus/tests: Fix mangled test output when dumping data in hex format.
      gdiplus/tests: Use consistent no-alternate value for image properties.
      gdiplus/tests: Add GIF to image properties tests.
      gdiplus/tests: Use test context for test ran in a loop.
      gdiplus/tests: Pare down image property tests that are not run for Wine.
      gdiplus: Fix GdipGetPropertySize return value when no properties exist.
      gdiplus: Fix GdipGetAllPropertyItems return value when no properties exist.
      windowscodecs: Factor out common GIF palette copying logic.
      windowscodecs: Allow GIF with no color table.

Jinoh Kang (11):
      riched20: Wrap marked paragraphs at Text Services initialization.
      riched20/tests: Add tests for change notifications caused by EM_SETSEL{,EX}.
      riched20: Don't call ME_UpdateRepaint inside set_selection().
      ntdll: Fail loudly if RtlActivateActivationContextEx fails to allocate memory.
      riched20: Factor out device context acquisition from ME_MakeFirstParagraph.
      riched20: Don't call wrap_marked_paras_dc() before the editor is fully initialized.
      msi: Fully initialize the control structure in dialog_line_control().
      msi: Make insertion order of line controls consistent with other controls.
      msi: Don't open code dialog_add_control() in dialog_line_control().
      ntdll: Fix restoring X16 and X17 in ARM64 syscall dispatcher.
      winegcc: Enable SafeSEH only on i386.

Kurt Kartaltepe (3):
      winegstreamer: Replace pointers with handles in PE->Unix transition.
      winegstreamer: Replace ambiguously sized/aligned elements.
      winegstreamer: Implement Wow64 entrypoints in the Unix library.

Maxim Karasev (5):
      include: Add UNICODE_NULL.
      include: Update _SECURITY_INTEGER.
      include: Add missing Kerberos related defines.
      klist: Add a program that lists Kerberos tickets.
      include: Add more Kerberos cache info types.

Nikolay Sivov (3):
      d3dcompiler/tests: Add some tests for matrix packing order compile flags.
      windows.globalization: Use separate AddRef/Release methods for the language factory.
      d3dcompiler/tests: Add another test for matrix majority flags.

Paul Gofman (8):
      d3d11/tests: Add basic test for shared resources.
      include: Add initial ioring definitions.
      kernelbase: Add stub for QueryIoRingCapabilities().
      ntdll/tests: Add test for async cancel on pipe's last process handle close.
      ws2_32/tests: Add test for async cancel on socket's last process handle close.
      server: Cancel socket asyncs when the last handle in process is closed.
      server: Cancel pipe asyncs when the last handle in process is closed.
      user32/tests: Change display mode for correct monitor in check_preferred_mode().

Petrichor Park (1):
      notepad: Use GetDpiForWindow().

Piotr Caban (6):
      wineps: Fix SetTextJustification playback with 0 count parameter.
      wineps: Buffer data sent to printer port.
      services: Exit early in process_send_start_message if ConnectNamedPipe fails.
      msvcrt: Pass correct buffer to locale_to_sname helper in create_locinfo.
      msvcrt: Improve locale_to_sname error handling.
      msvcrt: Set sname_match in locale_to_sname when returning cached result.

Shaun Ren (16):
      sapi: Invoke AddRef in mmaudio SetObjectToken.
      sapi: Invoke AddRef in ISpVoice::SetVoice.
      sapi/tests: Fix intermittent duration test failure in mmaudio.
      sapi/tests: Fix ISpObjectToken::CreateInstance E_ACCESSDENIED error.
      include: Fix ISpTTSEngineSite::GetActions return type.
      sapi: Handle queue not initialized in async_empty_queue.
      sapi: Reset empty event after queuing a task in async_queue_task.
      sapi: Implement ISpVoice::Speak SPF_PURGEBEFORESPEAK.
      sapi: Partially implement ISpVoice::Speak SPF_ASYNC.
      sapi: Implement synchronous ISpVoice::Speak.
      sapi: Introduce ISpTTSEngineSite stub.
      sapi: Implement ISpVoice::Speak speak_proc.
      sapi: Implement ISpTTSEngineSite::Write.
      sapi: Implement ISpTTSEngineSite::GetActions/Rate/Volume.
      sapi: Return wait status in async_wait_queue_empty.
      sapi: Implement ISpVoice::WaitUntilDone.

Sven Baars (6):
      wow64win: Call NtUserSetClassLongPtr() from wow64_NtUserSetClassLongPtr().
      wow64: Return STATUS_NOT_IMPLEMENTED from wow64_NtSetInformationToken().
      ntdll: Test against the correct limit in get_extended_params().
      ntdll/tests: Update some more todos that succeed with the new wow64 architecture.
      kernel32/tests: Update a todo that succeeds with the new wow64 architecture.
      wow64win: Always use NtUserSetWindowLongPtr() for GWLP_HINSTANCE and GWLP_WNDPROC.

Tim Clem (4):
      wow64win: Consistently marshal HINSTANCEs and HMODULEs as pointers.
      shell32: Don't fall back to $HOME for missing user special folders.
      wmp: Don't release a NULL typelib.
      wmp: Release filter graph and interfaces if WMPControls::play fails.

Torge Matthies (1):
      ntdll: Implement efficiency class reporting for Intel hybrid CPUs.

Victor Chiletto (9):
      msvcr110/tests: Add tests for new setlocale behaviors.
      msvcr120/tests: Check ___lc_locale_name_func with neutral Chinese locales.
      msvcrt: Use snames instead of LCIDs in create_locinfo.
      msvcrt: Convert locale_to_LCID to snames.
      msvcrt: Skip exhaustive locale search with valid snames.
      msvcrt: Simplify set_lc_locale_name.
      msvcrt: Remap synonyms to snames.
      msvcrt: Use GetLocaleInfoEx to compare locale info.
      user32: Add hotpatch prologue to RegisterRawInputDevices.

Yuxuan Shui (1):
      msvcrt: Fix out-of-bound access in create_locinfo.

Zebediah Figura (14):
      wined3d: Move struct wined3d_device_vk to wined3d_vk.h.
      wined3d: Move struct wined3d_texture_vk to wined3d_vk.h.
      wined3d: Move struct wined3d_sampler_vk to wined3d_vk.h.
      wined3d: Move struct wined3d_buffer_vk to wined3d_vk.h.
      wined3d: Move struct wined3d_rendertarget_view_vk to wined3d_vk.h.
      wined3d: Move struct wined3d_shader_resource_view_vk to wined3d_vk.h.
      opengl32: Copy to the wow64 buffer even for write maps.
      opengl32: Correctly interpret glMapBuffer() access in wow64 mapping.
      wined3d: Move struct wined3d_unordered_access_view_vk to wined3d_vk.h.
      wined3d: Move struct wined3d_swapchain_vk to wined3d_vk.h.
      wined3d: Move struct wined3d_format_vk to wined3d_vk.h.
      wined3d: Move remaining wined3d_context_vk functions to wined3d_vk.h.
      wined3d: Move vk_aspect_mask_from_format() functions to wined3d_vk.h.
      wined3d: Move the wined3d_vk.h include to individual files.

Zhao Yi (2):
      comctl32/tests: Add a test case to get syslinkid.
      comctl32/syslink: Check item type before increasing link ID in SYSLINK_LinkAtPt().

Zhiyi Zhang (3):
      comctl32/tests: Add Korean IME specific test sequences.
      user32/tests: Add Korean IME specific test sequences.
      winex11.drv: Move the dummy parent window to (0, 0).