Commit graph

164257 commits

Author SHA1 Message Date
Rémi Bernon
4e92c57221 winex11: Send an internal WM_IME_NOTIFY wparam to set open status. 2023-05-18 09:09:14 -05:00
Rémi Bernon
5d0526d298 winex11: Keep track of the cursor position on the XIM side.
The caret callback is rarely used and XIM also doesn't support changing
the preedit string, so we cannot support composition string updates from
the PE side either. Requesting only the cursor position, is then likely
not useful.
2023-05-18 09:09:14 -05:00
Rémi Bernon
e70b1b722a winex11: Use ime_comp_buf != NULL instead of ximInComposeMode. 2023-05-18 09:09:14 -05:00
Eric Pouech
2d4742aa93 kernel32/tests: Harden some wow64 module tests.
Showing some cases where loader should unredirect some
module paths from syswow64 to system32.

Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2023-05-18 09:09:14 -05:00
Esme Povirk
629d2d09a0 mscoree: Search the Mono GAC before the appdomain paths. 2023-05-18 09:09:14 -05:00
Esme Povirk
ddc9ef10c9 mscoree: Use updated preload hook function. 2023-05-18 09:09:14 -05:00
Esme Povirk
0a3fe99d2b mscoree: Update Wine Mono to 8.0.0. 2023-05-18 05:30:36 -05:00
Bernhard Kölbl
7056f421a0 mf: Don't try to clone non existent topo connections.
Signed-off-by: Bernhard Kölbl <besentv@gmail.com>
2023-05-18 05:29:57 -05:00
Anton Baskanov
79ce998e79 ir50_32: Let video_decoder flip the video instead of doing it manually.
Fixes upside-down videos in multiple games (e.g. Hard Truck 2, Firestarter).
2023-05-18 05:29:32 -05:00
Anton Baskanov
c73e8b8551 winegstreamer: Don't force top-down orientation when changing output format in video_decoder. 2023-05-18 05:29:32 -05:00
Anton Baskanov
dd20b89571 winegstreamer: Add a second videoconvert before the videoflip.
videoflip can't handle 15/16-bit RGB. Fixes video playback in multiple games (e.g. Hard Truck 2, Firestarter).
2023-05-18 05:29:30 -05:00
Bartosz Kosiorek
9a94647656 gdiplus: Improve performance of GdipInvertMatrix.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=53947
2023-05-18 05:29:12 -05:00
Jinoh Kang
e308b19ac8 combase: Prevent use-after-free due to a race with proxy_manager_destroy.
Today, find_proxy_manager() may return a proxy manager that is about to
be freed.  This happens when the proxy manager's reference count reaches
zero, but proxy_manager_destroy() has not removed the proxy manager from
the apartment proxy list.

Fix this by incrementing the reference count only if it is already
nonzero.  If the reference count is zero, any reference to the proxy
manager will become invalid after the current thread leaves the critical
section (apt->cs).  This is because proxy_manager_destroy() will proceed
to destroy the proxy manager after the apartment lock (apt->cs) is
released.

An alternative solution would be to prevent find_proxy_manager from
observing the zero reference count in the first place.  Multiple
approaches have been considered for implementing this solution, but were
eventually dropped due to several disadvantages when applied to the
current Wine codebase:

1. Always acquire the apartment lock from the proxy manager's Release()
   method, and hold the lock until the proxy manager is completely
   removed from the list if the reference count drops to zero.

   This requires handling the special case when the proxy manager's
   parent apartment has been destroyed.  When an apartment is destroyed,
   it sets the `parent` field of each proxy manager that was previously
   owned by the apartment to NULL.  This means that each access to
   `This->parent->cs` has to be guarded by a NULL check for
   `This->parent`.

   Even if `parent` were never NULL, unconditionally acquiring a lock
   may unnecessarily block the subroutine and introduce contention.

2. Opportunistically decrement the reference count without holding the
   lock, but only if the count is greater than 1.  This approach is
   still not free from the NULL parent apartment problem.

3. Check for any concurrent reference count change from
   proxy_manager_destroy(), and bail out if such change has occurred.
   This makes it possible for the proxy manager's AddRef() method to
   return 1, which is unusual.
2023-05-18 05:27:44 -05:00
Jinoh Kang
f55f0b8342 combase: Compare AddRef() return value against 1 instead of 0 in find_proxy_manager.
Today, find_proxy_manager() tests if AddRef() returns 0 in an attempt to
protect against a race condition bug.

Note that AddRef does not return zero in normal circumstances, since
AddRef returns the reference count after the increment, not before.

Fix this by comparing the return value of AddRef() against 1, not 0.
2023-05-18 05:27:41 -05:00
Francois Gouget
b97090214b gdi32/tests: Use skip() for APIs which are stubs in some drivers. 2023-05-17 08:06:13 -05:00
Francois Gouget
2cb4fa04cf wineps: Fix the spelling of a constant. 2023-05-17 07:27:14 -05:00
Nikolay Sivov
c627c168c2 wineps: Fix names in paper sizes list.
This is likely a regression from cd4f48f229.

Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2023-05-17 07:27:05 -05:00
Piotr Caban
9fd82b6156 winspool: Register wineps print processor before adding printer. 2023-05-17 07:19:16 -05:00
Piotr Caban
9f578f6a30 wineps: Use default devmode if winspool returns fake data.
Fixes regression caused by aa3699dd59.
2023-05-17 07:19:14 -05:00
Piotr Caban
407b01c4c3 wineps: Implement Wow64 entry points in the Unix library. 2023-05-17 07:19:14 -05:00
Piotr Caban
ec6062c572 wineps: Introduce wine_driver_open_dc wine specific export used to create printer DC.
Doing it this way avoids passing Unix library pointers throught PE.
2023-05-17 07:19:09 -05:00
Hans Leidekker
a894528071 webservices: Handle WS_XML_BUFFER_TYPE in get_field_read_option(). 2023-05-17 07:14:49 -05:00
Nikolay Sivov
c9b68daf44 d2d1: Implement IsSupported() for HWND target.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2023-05-17 07:13:21 -05:00
Zhiyi Zhang
4150d7282e d2d1/tests: Add some IsSupported() tests for HWND target.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2023-05-17 07:13:21 -05:00
Ziqing Hui
cfbcd014c6 mfreadwrite/tests: Add tests for MP4 sink writer. 2023-05-17 07:13:09 -05:00
Rémi Bernon
fbfc724d69 quartz: Avoid reading past the end of a buffer (Valgrind). 2023-05-16 15:47:11 -05:00
Mohamad Al-Jaf
6243093fba msauddecmft: Add DllGetClassObject() stub.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54934
2023-05-16 08:25:08 -05:00
Rémi Bernon
ff60152ff0 winegstreamer: Remove unnecessary wg_parser_stream their_src pad. 2023-05-16 08:18:19 -05:00
Rémi Bernon
f595a3f904 winegstreamer: Remove unnecessary wg_parser their_sink pad. 2023-05-16 08:18:19 -05:00
Rémi Bernon
f3b9ea7aef winegstreamer: Free the params structure after setting the pool meta (Valgrind). 2023-05-16 08:18:19 -05:00
Rémi Bernon
25cb216546 winegstreamer: Fix the CS cleanup in wg_sample_queue_destroy (Valgrind). 2023-05-16 08:18:19 -05:00
Giovanni Mascellani
059f79be5d winegstreamer: Free the GStreamer buffer when freeing a WG parser stream. 2023-05-16 08:18:19 -05:00
Francois Gouget
477df6231a dnsapi/tests: Ignore OPT records in the CNAME tests.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54848
2023-05-16 08:16:53 -05:00
Francois Gouget
4c9e305132 uiautomationcore/tests: Fix the spelling of a win_skip() message. 2023-05-16 08:16:33 -05:00
Francois Gouget
1017f0ae1b taskschd/tests: Fix the spelling of a test string. 2023-05-16 08:16:33 -05:00
Francois Gouget
decb572d1a ndtll: Fix the spelling of a comment. 2023-05-16 08:16:33 -05:00
Francois Gouget
8caae7de4f msado15: Fix the spelling of a comment. 2023-05-16 08:16:33 -05:00
Francois Gouget
decc90187e mf/tests: Fix the spelling of a win_skip() message. 2023-05-16 08:16:33 -05:00
Francois Gouget
a109a7048f imm32/tests: Fix the spelling of a comment. 2023-05-16 08:16:33 -05:00
Piotr Caban
a6cb10bba2 wineps: Don't pass PRINTERINFO structure to unixlib. 2023-05-16 08:05:08 -05:00
Piotr Caban
351e58dc2d wineps: Pass font data in NTF format to unixlib. 2023-05-16 08:05:08 -05:00
Piotr Caban
9a07269672 wineps: Enumerate NTF fonts in enum_fonts. 2023-05-16 08:05:08 -05:00
Piotr Caban
fbfb42f44f wineps: Add support for loading builtin fonts from NTF files. 2023-05-16 08:05:08 -05:00
Piotr Caban
7a15c777b1 include: Add ddk/winddi.h header. 2023-05-16 08:05:07 -05:00
Piotr Caban
b55576b6c3 wineps: Store builtin fonts list in DEVMODE. 2023-05-16 08:05:07 -05:00
Piotr Caban
82ef9166a7 wineps: Convert WCHAR to Adobe Glyph name on PE side. 2023-05-16 08:05:07 -05:00
Rémi Bernon
cfff330604 rtworkq: Release thread pool work object when work_item is destroyed (Valgrind). 2023-05-16 08:04:59 -05:00
Rémi Bernon
f85c5f1c3a mf/tests: Avoid leaking media types in test_video_processor (Valgrind). 2023-05-16 08:04:59 -05:00
Rémi Bernon
ac393df4b5 mf/tests: Release PROPVARIANT memory in check_attributes (Valgrind). 2023-05-16 08:04:59 -05:00
Davide Beatrici
7d7da2efb1 wineoss: Use mmdevapi's AudioRenderClient. 2023-05-16 08:04:49 -05:00