Commit graph

9107 commits

Author SHA1 Message Date
Hugh McMaster 6891faf454 conhost: Save original console title on initialization. 2023-04-03 16:52:01 +02:00
Zebediah Figura 3cb0b6c3f3 winedevice: Use the ntoskrnl channel. 2023-03-31 19:10:38 +02:00
Paul Gofman c0c68ee83a services: Change running service state once its process dies. 2023-03-30 18:49:16 +02:00
Paul Gofman 3580d466cc services: Factor out notify_service_state() function. 2023-03-30 18:49:16 +02:00
Paul Gofman 466a86bc54 services: Create service processes in a job. 2023-03-30 18:49:16 +02:00
Mohamad Al-Jaf 3503ab4e94 winecfg: Add an option to set WinRT app dark theme. 2023-03-29 22:29:38 +02:00
Paul Gofman fb6b1c91bb taskkill: Support terminating child processes. 2023-03-29 22:29:32 +02:00
Paul Gofman 5c85145189 taskkill: Mark processes for termination in main(). 2023-03-29 11:50:58 +02:00
Paul Gofman 6cca1f5099 taskkill: Use toolhelp snapshot to get process information. 2023-03-29 11:50:58 +02:00
Paul Gofman 62ef3c5be1 taskkill: Factor out get_task_pid(). 2023-03-29 11:50:58 +02:00
Paul Gofman cf4a0b7392 taskkill: Enumerate processes in main(). 2023-03-29 11:50:58 +02:00
Paul Gofman 20ab5f06d0 taskkill: Remove unneeded free() before process exit. 2023-03-29 11:50:58 +02:00
Paul Gofman dd3f3f381f taskkill: Use CRT allocation functions. 2023-03-29 11:50:58 +02:00
Francois Gouget a2d5644797 schtasks/tests: Verify that the task folders are correctly deleted. 2023-03-27 17:43:41 +02:00
Francois Gouget 739c5c547c schtasks/tests: Deleting folders requires elevated privileges on Windows 7 & 8.
This means skipping any test that requires creating a task as the test
would be unable to clean up after itself.

Wine-Bug: https://bugs.winehq.org//show_bug.cgi?id=52193
Wine-Bug: https://bugs.winehq.org//show_bug.cgi?id=54634
2023-03-27 17:43:37 +02:00
Alexandre Julliard 9e8fbdab72 wineboot: Add processor features for supported WoW64 architectures on ARM64. 2023-03-15 14:57:51 +01:00
Alexandre Julliard e3e0c3a91a wineboot: Use the SystemProcessorBrandString query instead of cpuid. 2023-03-14 17:38:51 +01:00
Hugh McMaster 1a61a4e1a6 regedit: Append '.reg' file extension if necessary. 2023-03-09 18:12:49 +01:00
Hugh McMaster f5fe9a6cf9 regedit: Allow export_key() to return TRUE.
We don't handle errors in export_registry_data() anyway.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54491
2023-03-09 18:12:47 +01:00
Rémi Bernon 992d60e122 explorer: Use GUID_NULL display device GUID for nulldrv. 2023-03-03 18:29:54 +01:00
Alexandre Julliard 1774db388b winedbg: Use the Zydis library for disassembly. 2023-02-27 16:36:22 +01:00
Alexandre Julliard 297f7cb37e winefile: Use standard va_list instead of __ms_va_list. 2023-02-20 08:40:27 +01:00
Alexandre Julliard dbfeb4b7f4 taskmgr: Use standard va_list instead of __ms_va_list. 2023-02-20 08:40:14 +01:00
Alexandre Julliard b19d3e779b start: Use standard va_list instead of __ms_va_list. 2023-02-20 08:40:02 +01:00
Alexandre Julliard d244f902b3 oleview: Use standard va_list instead of __ms_va_list. 2023-02-20 08:39:42 +01:00
Alexandre Julliard e1f1846611 notepad: Use standard va_list instead of __ms_va_list. 2023-02-20 08:39:31 +01:00
Alexandre Julliard 9efe1a32a2 conhost: Use standard va_list instead of __ms_va_list. 2023-02-20 08:39:18 +01:00
Francois Gouget dfcc45cc17 winetest: Trace the keyboard layout.
It is important for the input tests so add it to the global locale
information.
2023-02-17 18:59:29 +01:00
Francois Gouget cac02872c6 winetest: Avoid an infinite loop in vstrfmtmake() when the format is NULL.
When the format is NULL vsnprintf() always returns -1 so we keep
doubling the allocated memory until running out of memory.
2023-02-14 09:57:07 +01:00
Francois Gouget b07129bad4 winetest: Don't use plain strings as format specifiers.
When they contain a percent character they would, at best, not be
printed correctly, and at worst cause a crash.
2023-02-14 09:57:07 +01:00
Alex Henrie fae940df23 wineboot: Avoid calling RtlInitUnicodeString on a static constant. 2023-02-13 15:54:40 +01:00
Alex Henrie dccc6a60b6 services: Avoid calling RtlInitUnicodeString on a static constant. 2023-02-10 19:09:16 +01:00
Alex Henrie a6f3e4ad22 winhlp32: Fix memory leak on realloc failure in HLPFILE_RtfAddBitmap (cppcheck). 2023-02-07 17:46:55 +01:00
Eric Pouech 234943344f winedbg: Don't expose module whose machine isn't the process' one to gdb.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
2023-02-06 22:34:44 +01:00
Eric Pouech 71dbcbce26 winedbg: Handle multi-machine process in command 'info share'.
- filter out native machine on wow64 configuration.
- add option to info share to print all modules.

Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
2023-02-06 22:34:44 +01:00
Eric Pouech 7077c5bcab conhost: Only update font when running with a window.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54449
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
2023-02-06 22:34:44 +01:00
Brendan Shanks fe6294c743 taskkill: Use exit code 1 when terminating processes. 2023-02-02 10:56:34 +01:00
Brendan Shanks 2da1126021 taskmgr: Use exit code 1 when terminating processes. 2023-02-02 10:56:32 +01:00
Hans Leidekker 3a819255f5 winecfg: Fix CurrentVersion registry string for Windows 10 and up.
It no longer reflects the real OS major and minor version numbers.
2023-02-01 17:11:47 +01:00
Hans Leidekker 69154f0329 ntdll: Default to Windows 10. 2023-02-01 17:11:47 +01:00
Hans Leidekker 2ccc2a42d7 ntdll: Add Windows 11 version. 2023-02-01 17:11:47 +01:00
Eric Pouech 433bc12709 winedbg: Fix read access to variables with thread local storage.
No longer relying on loaded module info (getting index address out of
PE image, and caching it in struct dbg_module).

Co-authored-by: Evan Tang <etang@codeweavers.com>
2023-01-26 22:05:13 +01:00
Eric Pouech 224b33c2be winedbg: Track loaded modules.
Co-authored-by: Evan Tang <etang@codeweavers.com>
2023-01-26 22:05:13 +01:00
Eric Pouech e8c7920919 conhost.exe: Handle ctrl-\ in Wine.
Let conhost handle ctrl-\ instead of Unix tty, and pretend it's a
ctrl-pause/break key stroke.  This allows CUI application in processed
input mode not to close upon ctrl-\.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54141
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
2023-01-25 10:04:02 +01:00
Eric Pouech fda954dfd4 conhost.exe: Handle ctrl-pause/break key strokes.
Note: this patch should be extended by adding insertion
of the CTRL_BREAK_EVENT into processes' crtl handler
(as it's done for CTRL_C_EVENT).

Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
2023-01-25 10:04:00 +01:00
Eric Pouech 5fc54e3219 winedbg: Use debuggee's bitness for 'examine /a' command.
Also fixes stack dump in crash summary and 'info stack' command.
(We were using debugger's bitness instead).

Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
2023-01-24 20:14:52 +01:00
Eric Pouech a89975f731 dbghelp: Expose the real path to the module in SymGetModuleInfo*().
Expose the real path of a loaded module (potentially read from
WINEDLLDIR or WINEBUILDDIR or overriden load order or ...).  This
improves gdb integration by passing the real path to the loaded
modules (instead of the paths in c:\windows\ system subdirectories).
Introduce new Wine only dbghelp's extended option to enable the
feature.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54250
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
2023-01-24 18:25:58 +01:00
Eric Pouech 3055653c1e winedbg: Pass loaded image's file handle to dbghelp.
In some cases (running from build tree, overriding load order...), the
path to the module from the load DLL debug event isn't the real path
to the loaded module. So pass the handle to loaded module's image from
winedbg to dbghelp (to avoid image lookup).

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54250
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
2023-01-24 18:24:13 +01:00
Rémi Bernon 03aa9e13e7 services: Use a separate allocation for NotifyParamsArray[0].params.
The pointer might be freed by RPC NdrPointerFree, which will try to use
a dedicated free call for the array elements, and fail.
2023-01-24 18:15:41 +01:00
Gabriel Ivăncescu 929fdbbf55 notepad: Fix uninitialized upper 64-bits of pos in DoFind.
And get rid of the hacky casts.

Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-01-18 22:55:19 +01:00
Eric Pouech ec05c03463 conhost: Initialize color_map when creating an alternate screen buffer.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54287
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
2023-01-11 14:27:58 +01:00
Eric Pouech 8993f5720a conhost: Reset console attribute upon exit in unix mode.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
2023-01-11 14:27:54 +01:00
Hugh McMaster 0e6b21ef1d conhost: Migrate from FontPitchFamily to FontFamily.
To ensure a seamless transition between value names, we try loading the
registry value from FontFamily first and FontPitchFamily second.

Any changes to the console font family are saved to the new value name.
2023-01-11 11:54:16 +01:00
Jinoh Kang 36ca172e85 regedit: Clip siblings when drawing list and tree views. 2023-01-06 10:41:21 +01:00
Jinoh Kang 8242b65172 regedit: Use the default WM_PAINT implementation for REGEDIT window. 2023-01-06 10:41:21 +01:00
Eric Pouech af215210f0 kernel32/tests: Skip some console tests on w1064v1909.
We get conhost.exe:tty failures on testbot:
- not for version prior to w1064v1909 (these tests require
  pseudo-consoles, which are not implemented in these Windows
  version).
- for w1064v1909
- not for W10 versions after w1064v1909.

So, we assume that pseudo-console support is immature in this
Windows version: skip all the remaining test at the first
discrepancy point.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=53465
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
2022-12-21 18:24:39 +01:00
Eric Pouech 0a7c04816f conhost: Don't print control characters for Unix tty.
They will be reinterpreted by Unix tty, leading to wrong display.

Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
2022-12-20 22:37:02 +01:00
Eric Pouech a922577986 winedbg: Avoid passing a non allocated buffer to HeapFree.
Latest changes to heap management can lead to a crash in this situation.

Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
2022-12-09 17:52:25 +01:00
Alex Henrie 5792785879 cmd: Use standard C functions for memory allocation. 2022-12-09 17:52:25 +01:00
Alexandre Julliard 57c58be77d winedbg: Fix printf format warnings on ARM platforms. 2022-12-08 18:11:23 +01:00
Alex Henrie 33ae61d79b winhlp32: Use standard C functions for memory allocation. 2022-12-07 20:27:26 +01:00
Eric Pouech cd0e949519 wineconsole: Set launched process name as created console title.
wineconsole was setting created console's title to '????\wineconsole.exe'.
This was preventing conhost to load its configuration according to
first running command path.

Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
2022-12-05 20:04:54 +01:00
Alex Henrie b8b55de629 winecfg: Annotate allocation functions with __WINE_(DEALLOC|MALLOC). 2022-12-05 20:04:54 +01:00
Alex Henrie 1f4532d5c6 winecfg: Use standard C functions for memory allocation. 2022-12-05 20:04:54 +01:00
Alex Henrie 6136b54757 services: Use standard C functions for memory allocation. 2022-12-01 10:24:10 +01:00
Eric Pouech f2ca35bd80 cmd: Use OEM code page when reading a file.
Calling GetConsoleCP() when ReadConsoleW() fails (potentially indicating
that cmd.exe's instance isn't attached to a console) makes no sense.

In details, since GetConsoleCP() returns 0 when not attached to a console
to indicate error, we're in fact using CP_ACP.

So fallback explicitely to OEM CP (which is the default for CUI programs).

Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
2022-11-25 18:09:57 +01:00
Rémi Bernon 1c30f7803c winepath: Free wine_get_(dos|unix)_file_name memory with HeapFree. 2022-11-25 18:09:57 +01:00
Paul Gofman eec6aea10a wmic: Support array of BSTRs in convert_to_bstr(). 2022-11-24 22:20:20 +01:00
Paul Gofman e3d7a3e3f6 wmic: Add nicconfig alias. 2022-11-24 22:20:20 +01:00
Paul Gofman 97b9d8ddbe wmic: Handle VariantChangeType() failures.
wmic currently crashes on, e. g., VT_EMPTY or VT_ARRAY types returned.
2022-11-24 22:20:20 +01:00
Paul Gofman 85b84a949c wmic: Call _BeginEnumeration() before iterating class object.
Otherwise enumeration fails on Windows.
2022-11-24 22:20:20 +01:00
Paul Gofman 6412b3dc3a wmic: Don't set WBEM_FLAG_FORWARD_ONLY flag on query.
The result access is not forward only.
2022-11-24 22:20:20 +01:00
Rémi Bernon f810a57590 rpcss: Use I_Rpc(Free|Allocate) in MIDL_user_(allocate|free).
In ept_map, rpcss uses TowerConstruct to allocate tower array elements.

The array is later released by the generated stub code, and each element
is ultimately freed using MIDL_user_free.

TowerConstruct always allocate memory using I_RpcAllocate, we must use
I_RpcFree to free it.
2022-11-23 17:59:47 +01:00
Alex Henrie dab61cdcd1 explorer: Put the calling convention inside the function pointer parentheses.
As required by MSVC.
2022-11-22 18:27:30 +01:00
Zhiyi Zhang 8459a5272a explorer: Use a valid taskbar position when the taskbar is hidden.
Some applications use FindWindowA() with class Shell_TrayWnd to find the taskbar window on Windows.
Then GetWindowRect() is called to get the taskbar window rectangle. Finally, the taskbar window
rectangle is subtracted from the primary screen rectangle to calculate the work area. Without a
valid taskbar window position, these applications end up getting an incorrect work area and going
down the wrong path. So use the same position and size as the host system panel for explorer taskbar
when it's hidden.
2022-11-17 10:00:24 +01:00
Zhiyi Zhang b6818e2c20 explorer/tests: Add taskbar tests. 2022-11-17 10:00:24 +01:00
Eric Pouech 8f1febc430 cmd: Don't write outside of variable array.
GCC 12.2 rightfully complains about an out-of-founds array access.
This can possibly happen for unsupported variable names.

Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
2022-11-14 13:13:02 +01:00
Eric Pouech 41221452c8 winedbg: Don't use invalid address mode in exception prolog.
Removes a GCC 12.2 warning about printing NULL string.

Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
2022-11-14 13:13:02 +01:00
Arkadiusz Hiler 92e4cad8e0 cmd/tests: Make sure for /f doesn't loop infinitely on NULs. 2022-11-10 09:48:30 +01:00
Eric Pouech e1c37c21da cmd: Use CRT file I/O function inside 'for /F' handling.
This allows:
- to mimic native behavior when a stray '\0' is present in file
  (in 'FOR /F' execution, it's interpreted as an EOF marker)
  (prevents an infinite loop)
- supports (with /USEBACKQ) unicode output (if BOM is present)

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=53386
2022-11-10 09:48:23 +01:00
Alex Henrie 08ec06da54 uuid: Add propkey.h.
Needed to compile Tera Term.
2022-11-08 20:07:51 +01:00
Mohamad Al-Jaf 21ae94d437 certutil: Add stub program.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=53086
2022-11-07 21:16:10 +01:00
Mohamad Al-Jaf 82e8d6036f setx: Add stub program.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=53755
2022-11-07 21:16:10 +01:00
Alex Henrie 212e319dce cmd: Use the wcsrev function instead of reimplementing it. 2022-11-04 19:23:55 +01:00
Alex Henrie 6ee8f819cf cmd: Remove inapplicable comment from WCMD_getfileowner. 2022-11-04 19:23:55 +01:00
Zhiyi Zhang 957dfccb14 winecfg: Adjust top-level window rectangles after theme changes.
Manual tests show that calling EnableTheming() in uxtheme.dll doesn't update window sizes. So
it seems more appropriate to do it in winecfg.exe.
2022-11-02 17:19:44 +01:00
Zhiyi Zhang 982c9974a7 winecfg: Use SM_CYSIZE to set and get caption height.
After applying a theme with CaptionBarHeight set, caption height from SPI_GETNONCLIENTMETRICS is set
to the specified size. However in refresh_sysparams(), the caption height is refreshed and the value
from SM_CXSIZE is used and ends up overwriting the theme specified caption height. SM_CYSIZE is the
correct index instead of SM_CXSIZE.

You may need to turn a theme off and on for the correct caption height to take effect after the fix.
2022-11-02 17:19:42 +01:00
Eric Pouech 9317a331f1 conhost/tests: Fix some conditions on tty test termination.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
2022-11-01 20:46:23 +01:00
Alexandre Julliard 6a91264918 makefiles: Store PE objects in subdirectories in the build tree.
This will make it possible to build multiple PE architectures.
2022-10-26 15:03:05 +02:00
Eric Pouech 5a8350120c conhost/tests: Fix some tests on input sequences.
Correctly handling keyboards (French, German...) which report right-alt
as ctrl+alt in VkKeyScan().

Splitting escape_test input tests into pure virtual keys on one hand,
and modified char key on the other.
Generating the virtual codes for the later instead of hardcoding the
results (bound to generic US keyboard).

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=52980
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
2022-10-24 18:50:36 +02:00
Eric Pouech bdad6f2c85 conhost/tests: Fix tests for some keyboard layouts.
Some keyboards (French, German and some others) report the right alt key
(which is some cases the right-shift one) as ctrl+alt.
Add proper handling for ctrl+alt return from VkKeyScan().

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=52980
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
2022-10-24 18:50:29 +02:00
Francois Gouget 75e8f4edb7 winetest: Let the get_subtests() caller report errors.
The caller already analyses get_subtests() errors and provides
a detailed error message in the information section of the report
so the report(R_ERROR) pop up / stderr message is redundant.
2022-10-20 18:29:59 +02:00
Alexandre Julliard 46f307073e ngen: Add version resource.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=53773
2022-10-11 18:40:37 +02:00
Eric Pouech c19f3b620a conhost: Fix tests on ReadConsole with CONSOLE_READCONSOLE_CONTROL.
It should fix the errors around line 1370 in conhost/tests/tty.c, but
it doesn't fix other errors around line 1530 and 1550 which are
completly unrelated to this change.  So failures to be expected on the
latter.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=52648
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
2022-10-10 11:22:23 +02:00
Hugh McMaster 627f2b3557 kernelbase: Return full title length from GetConsoleTitle(). 2022-10-10 11:19:44 +02:00
Eric Pouech 001665d735 winedbg: Enhance printing of variables or fields.
Prints 'int a[10]' (instead of 'int[10] a').
Ditto for variables/fields of type function pointer.

And for pure type printing, no longer prints --none-- for
arrays and function pointers.

Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
2022-09-30 21:20:28 +02:00
Rémi Bernon 4c60f67f00 regedit: Add a direct import for shcore.
For CommandLineToArgvW.
2022-09-30 18:34:22 +02:00
Rémi Bernon 99b3862e67 regedit: Call InitCommonControls after command-line has been processed.
Avoid triggering the load of comctl32 early.
2022-09-30 18:34:20 +02:00
Jacob Czekalla 377481180e notepad: Show goto dialog box. 2022-09-23 15:16:48 +02:00
Jacob Czekalla 799c24aa81 notepad: Track and display line number and column. 2022-09-14 22:38:34 +02:00