Commit graph

162838 commits

Author SHA1 Message Date
Rémi Bernon 27b587d967 imm32: Reorder control flow in ImmGetConversionListA. 2023-03-09 17:31:26 +01:00
Rémi Bernon af926f1bdc imm32: Reorder control flow in ImmEscapeW. 2023-03-09 17:31:26 +01:00
Rémi Bernon f5c5839bd3 imm32: Reorder control flow in ImmEscapeA. 2023-03-09 17:31:26 +01:00
Rémi Bernon c358707a4d imm32: Reorder control flow in ImmEnumRegisterWordW. 2023-03-09 17:31:26 +01:00
Rémi Bernon 93938a83df imm32: Reorder control flow in ImmEnumRegisterWordA. 2023-03-09 17:31:26 +01:00
Rémi Bernon 38152f893d imm32: Reorder control flow in ImmConfigureIMEW. 2023-03-09 17:31:26 +01:00
Rémi Bernon e0229ba326 imm32: Reorder control flow in ImmConfigureIMEA. 2023-03-09 17:31:26 +01:00
Rémi Bernon 8f12fac681 imm32: Rename ImmHkl to struct ime. 2023-03-09 17:31:26 +01:00
Rémi Bernon 05cf38bfa6 imm32/tests: Test undocumented ImmLoadIME / ImmFreeLayout. 2023-03-09 17:31:26 +01:00
Rémi Bernon 89cdae2e51 imm32: Implement stubs for ImmFreeLayout and ImmLoadIME. 2023-03-09 17:31:26 +01:00
Giovanni Mascellani ac265bf3fb dxgi: Reset the back buffer index to zero on ResizeBuffers(). 2023-03-09 17:31:26 +01:00
Giovanni Mascellani dc2a2eaf3d dxgi/tests: Test that ResizeBuffers() resets the back buffer index to zero. 2023-03-09 17:31:26 +01:00
Giovanni Mascellani 8af43e1cb3 dxgi: Always assume that a D3D12 swapchain always uses user images. 2023-03-09 17:31:26 +01:00
Giovanni Mascellani e946f610b2 dxgi: Immediately error out when creating a D3D12 swapchain on a non-immediate queue. 2023-03-09 17:31:26 +01:00
Giovanni Mascellani 494eec109b d3d12/tests: Test that D3D12 swapchains can only be created on direct command queues. 2023-03-09 17:31:26 +01:00
Gabriel Ivăncescu 7b74a484c1 mshtml: Use already available window local variable in refresh task.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-03-09 17:31:26 +01:00
Gabriel Ivăncescu 6bd162d9d2 mshtml: Grab refs to windows upfront before sending pagehide events.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-03-09 17:31:26 +01:00
Gabriel Ivăncescu 3c2b417151 mshtml: Hold ref to the frame element during readyState notifications.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-03-09 17:31:26 +01:00
Gabriel Ivăncescu b7d75c9dcb mshtml: Check if browser was detached during notifications while navigating.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-03-09 17:31:26 +01:00
Gabriel Ivăncescu c3529d6bd7 mshtml: Hold ref to outer window when navigating.
It's possible for it to get destroyed while processing an external callback
notification.

Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-03-09 17:31:26 +01:00
Gabriel Ivăncescu fbeab911c9 mshtml: Hold ref to inner window when calling external code.
It's possible for it to get detached while processing an external callback
notification, such as when navigation happens during it.

Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-03-09 17:31:26 +01:00
Gabriel Ivăncescu a62be201c8 mshtml: Hold ref to HTMLDocumentObj when calling external code.
It's possible for it (and the GeckoBrowser) to get detached and destroyed
while processing an external callback notification.

Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-03-09 17:31:26 +01:00
Zebediah Figura ff64d67f76 wineandroid: Separately store the internal pixel format set by WGL_WINE_pixel_format_passthrough. 2023-03-09 17:31:26 +01:00
Zebediah Figura f605add4fd winemac: Separately store the internal pixel format set by WGL_WINE_pixel_format_passthrough. 2023-03-09 15:02:46 +01:00
Zebediah Figura 46c8a63752 winex11: Separately store the internal pixel format set by WGL_WINE_pixel_format_passthrough. 2023-03-09 15:02:46 +01:00
Zebediah Figura c2018ff466 win32u: Allow separately storing the internal pixel format set by WGL_WINE_pixel_format_passthrough. 2023-03-09 15:02:45 +01:00
Zebediah Figura 8da023fe8c wined3d: Do not set the pixel format if wglGetPixelFormat() returns zero and we already set the internal pixel format.
Currently this does nothing, because wglGetPixelFormat() returns the pixel
format set by wglSetPixelFormatWINE(). However, with the following changes to
WGL_WINE_pixel_format_passthrough, wglGetPixelFormat() will only return the
pixel format set by wglSetPixelFormat(). Hence we should avoid trying to set
the "internal" pixel format more than once.
2023-03-09 15:02:43 +01:00
Zebediah Figura 15f03ac3cb winemac: Retrieve the pixel format from win32u for normal windows in wglGetPixelFormat(). 2023-03-09 15:02:43 +01:00
Zebediah Figura 899f010232 wineandroid: Retrieve the pixel format from win32u for normal windows in wglGetPixelFormat(). 2023-03-09 15:02:43 +01:00
Zebediah Figura 775a2d5f4c winex11: Retrieve the pixel format from win32u for normal windows in wglGetPixelFormat(). 2023-03-09 15:02:43 +01:00
Zebediah Figura 463a11379b win32u: Introduce a win32u_get_window_pixel_format() helper. 2023-03-09 15:02:42 +01:00
Zebediah Figura b545ca0f9b win32u: Make NtUserSetWindowPixelFormat() into a proper export.
This is simpler in general, given that this function is no longer used
from user-space. In this particular case, the secondary purpose is to
allow easily adding arguments to the function.
2023-03-09 15:02:38 +01:00
Gabriel Ivăncescu 606e0c191e kernel32: Fix GetCurrencyFormatA when input length is 0.
Fixes a regression introduced by 42afb693b1.

Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-03-08 20:05:14 +01:00
Gabriel Ivăncescu c55f8f3518 kernel32: Fix GetNumberFormatA when input length is 0.
Fixes a regression introduced by b6bf69ef80.

Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-03-08 20:05:14 +01:00
Eric Pouech 13afaa7c16 dbghelp/tests: Use msinfo32.exe instead of notepad.exe.
Under Windows 11, notepad.exe has been migrated into the UWP framework,
and can no longer be launched as a 32bit process:
- even if c:\windows\syswow64\notepad.exe is still a 32 bit PE file
- the process created from c:\windows\syswow64\notepad.exe is not a
  wow64 process.

So use msinfo32.exe instead. Like notepad.exe, it's a gui application,
present on Wine and all test-bot:ed windows platforms. But unlike
notepad.exe, it's not an UWP app on Windows 11.

(May not fully fix all the bugs below, but will get rid of a bunch
 of errors).

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54535
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54536
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54537
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
2023-03-08 18:08:23 +01:00
Eric Pouech 38e3a92e21 psapi/tests: Use msinfo32.exe instead of notepad.exe.
Under Windows 11, notepad.exe has been migrated into the UWP framework,
and can no longer be launched as a 32bit process:
- even if c:\windows\syswow64\notepad.exe is still a 32 bit PE file
- the process created from c:\windows\syswow64\notepad.exe is not a
  wow64 process.

So use msinfo32.exe instead. Like notepad.exe, it's a gui application,
present on Wine and all test-bot:ed windows platforms. But unlike
notepad.exe, it's not an UWP app on Windows 11.

(May not fix all the issues in the following bug list, but will remove
 a lot of errors).

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54504
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54505
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54506
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54507
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54508
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54509
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
2023-03-08 18:08:16 +01:00
Eric Pouech 0e41777a44 ntdll/tests: Use msinfo32.exe instead of notepad.exe.
Under Windows 11, notepad.exe has been migrated into the UWP framework,
and can no longer be launched as a 32bit process:
- even if c:\windows\syswow64\notepad.exe is still a 32 bit PE file
- the process created from c:\windows\syswow64\notepad.exe is not a
  wow64 process.

So use msinfo32.exe instead. Like notepad.exe, it's a gui application,
present on Wine and all test-bot:ed windows platforms. But unlike
notepad.exe, it's not an UWP app on Windows 11.

Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
2023-03-08 18:08:00 +01:00
Eric Pouech de3ecada24 ntdll/tests: Use msinfo32.exe instead of notepad.exe.
Under Windows 11, notepad.exe has been migrated into the UWP framework,
and can no longer be launched as a 32bit process:
- even if c:\windows\syswow64\notepad.exe is still a 32 bit PE file
- the process created from c:\windows\syswow64\notepad.exe is not a
  wow64 process.

So use msinfo32.exe instead. Like notepad.exe, it's a gui application,
present on Wine and all test-bot:ed windows platforms. But unlike
notepad.exe, it's not an UWP app on Windows 11.

Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
2023-03-08 18:07:58 +01:00
Zebediah Figura b826e1eb3d ddraw: Move wined3d_resource_desc translation to ddraw_surface_create_wined3d_texture(). 2023-03-08 18:07:04 +01:00
Zebediah Figura eea1b79e24 ddraw: Move the wined3d_texture_update_desc() call into ddraw_surface_create_wined3d_texture(). 2023-03-08 18:07:04 +01:00
Zebediah Figura b15339d470 ddraw: Restructure ddraw_surface_create_wined3d_texture() to avoid gotos.
And, more saliently, to allow moving more common code to the end of the
function.
2023-03-08 18:07:03 +01:00
Zebediah Figura 5ba3c4af7c ddraw: Separate a need_draw_texture() helper. 2023-03-08 18:07:03 +01:00
Zebediah Figura 655af198df ddraw: Move pitch validation to ddraw_surface_create_wined3d_texture().
It makes use of the wined3d_format, and we want to move wined3d desc creation to
ddraw_surface_create_wined3d_texture() so that we can use it to recreate the
wined3d texture in SetSurfaceDesc().
2023-03-08 18:07:01 +01:00
Rémi Bernon fee5eaecb4 win32u: Send WM_INPUTLANGCHANGE when activating new layout. 2023-03-08 17:49:00 +01:00
Rémi Bernon 30aa9055a0 win32u: Move window query functions around. 2023-03-08 17:49:00 +01:00
Rémi Bernon 3a4859e22d user32/tests: Add a WM_INPUTLANGCHANGE message test. 2023-03-08 17:49:00 +01:00
Rémi Bernon 9f072a273d user32/tests: Skip tests if layout failed to activate. 2023-03-08 17:49:00 +01:00
Eric Pouech 5477ee640b dbghelp: Fix vdso.so lookup.
- should have been fixed when libwine.so has been removed
- code was broken anyway
- enhanced protect against error when reading debuggee's memory

Introducing helper to correctly read pointer's from debuggee
(and other integral values).

vdso is now listed in ELF's module list (except if Wine's preloader
removes it from auxilary vector)

Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
2023-03-08 17:49:00 +01:00
Eric Pouech 9877ba9732 dbghelp: Don't set ELF loader when wine's loader isn't accessible.
For dbghelp in 32-bit, when accessing a live debuggee in multi-arch
configuration, Wine's ELF loader is likely mapped above 4G, hence
not accessible with 32bit Windows APIs.
So don't try to expose the ELF libraries in that case.
Introducing a new loader operation class to support live targets, for
which system operations are not accessible, but pretending they are
successful.

Note:
- when Wine's loader ELF module isn't registered by dbghelp,
  any other ELF module will not be registered by dbghelp.
- further work may be needed for winedbg in auto mode (launched with
  AeDebug key on process exception) as in that mode winedbg
  doesn't relaunch itself in 64bit, so won't be able to access
  (64bit) ELF information (in multi-arch configuration).

Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
2023-03-08 17:49:00 +01:00
Eric Pouech 0f98972fe2 dbghelp/tests: Add tests for SymRefreshModuleList() on non-live target.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
2023-03-08 17:49:00 +01:00