Commit graph

9077 commits

Author SHA1 Message Date
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
Jacob Czekalla
dd3fa4e9ef notepad: Show status bar. 2022-09-14 22:38:34 +02:00
Alexandre Julliard
657cdc1861 winetest: Report failure for tests that print too much output. 2022-09-14 22:38:34 +02:00
Alexandre Julliard
12bf088ac0 winetest: Don't require an email if we have a URL. 2022-09-13 16:22:21 +02:00
Nikolay Sivov
ebbdbff50e ping: Use CRT allocation functions.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2022-09-09 23:21:40 +02:00
Nikolay Sivov
470232744d msidb: Use CRT allocation functions.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2022-09-09 23:21:40 +02:00
Alexandre Julliard
0f96288080 winetest: Report success if the report has been submitted successfully. 2022-09-08 20:36:33 +02:00
Alexandre Julliard
1bc6b9622f winetest: Add extra quiet mode that only outputs data for failed tests. 2022-09-07 20:07:18 +02:00
Alexandre Julliard
4b590b212d winetest: Add helper functions for temp file handling. 2022-09-07 20:07:18 +02:00
Alexandre Julliard
dbb55ed91a makefiles: Add install-test target to install winetest.exe. 2022-09-07 20:07:18 +02:00
Alexandre Julliard
5fabd968d4 winetest: Exit with error 3 when there are test failures. 2022-08-16 22:27:50 +02:00
Alexandre Julliard
3deabed43d winetest: Disable the crash dialog in non-interactive mode. 2022-08-16 17:41:53 +02:00
Alexandre Julliard
6ae99e4da0 winetest: Support loading the list of tests from a file. 2022-08-16 17:41:53 +02:00
Alexandre Julliard
22aceb44e7 winetest: Use CRT allocation functions. 2022-08-16 11:57:39 +02:00
Eric Pouech
16bcc3bc29 winedbg: Synthetize pointer to type when not available.
This ensures that we always have a type as pointer to a known <type>
(either because it exists in <type>'s module, or it's synthetized inside
debugger).

Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
2022-07-29 18:55:32 +02:00
Eric Pouech
dd977e4a85 winedbg: Store result of types_get_info(TI_GET_TYPE) in dbg_type.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
2022-07-29 18:55:30 +02:00
Hugh McMaster
b8b87e55a6 regedit: Limit REG_DWORD/REG_QWORD input length by value type and format. 2022-07-28 17:34:03 +02:00
Hugh McMaster
e604f3e2ef regedit: Use zero as a REG_DWORD/REG_QWORD default if edit control is empty. 2022-07-28 17:34:03 +02:00
Brendan Shanks
2dba29a653 winedbg: Prefer thread name from GetThreadDescription() in GDB proxy mode. 2022-07-27 23:07:06 +02:00
Brendan Shanks
f89c8be852 winedbg: Prefer thread name from GetThreadDescription() in 'info thread' listing. 2022-07-27 23:07:06 +02:00
Hugh McMaster
93199da8c3 regedit: Use zero as a default for REG_DWORD and REG_QWORD values. 2022-07-27 23:07:06 +02:00
Brendan Shanks
d3b72d0ff1 winedbg: Implement GDB qGetTIBAddr query. 2022-07-27 22:36:31 +02:00
Hugh McMaster
57f45013d8 regedit: Free temporary buffer when working with REG_DWORD and REG_QWORD values. 2022-07-26 22:37:48 +02:00
Hugh McMaster
6901f3ccfc regedit: Update the listview item without reloading the value data. 2022-07-25 17:01:33 +02:00
Hugh McMaster
d1bc3623e8 regedit: Set the dlgproc value name via a function, not a global. 2022-07-25 17:01:33 +02:00
Hugh McMaster
5e2c3dd537 regedit: Update binary data via update_registry_value(). 2022-07-25 17:01:33 +02:00
Eric Pouech
890e3baaba winedbg: Use CRT allocation functions.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
2022-07-25 11:22:18 +02:00
Eric Pouech
674ef559e0 winedbg: Do proper error management when reallocating memory.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
2022-07-25 11:22:12 +02:00
Hugh McMaster
97f10736db regedit: Use 'struct edit_params' with read_value().
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
2022-07-21 23:03:29 +02:00
Hugh McMaster
becf11084f regedit: Pass updated REG_MULTI_SZ data via 'struct edit_params'.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
2022-07-21 23:03:29 +02:00
Hugh McMaster
72fced0236 regedit: Pass updated REG_SZ and REG_EXPAND_SZ data via 'struct edit_params'.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
2022-07-21 23:03:29 +02:00