Letting the information displayed in '--auto' mode be available
as a command.
Simplify a bit the --auto mode handling.
Note:
- the WOW64 status of the debuggee used to be printed in system
information, which is a bit ackward as system info shouldn't be
tied to a given process.
- replaced it with supported guest machines (for the record, a
64-bit only setup incorrectly returns i386 as supported guest;
I guess we shouldn't care).
- now printing the wow64 status of a process when displaying an
exception information instead.
Signed-off-by: Eric Pouech <epouech@codeweavers.com>
'if exists' takes a parameter which can be directory, directory/,
directory/. directory\ or directory\. for example, and should equate
to true if the directory exists. The syntax directory\ is explicitly
rejected by FindFirstFile and hence was not working - look for this
specific case, and if found append a '.'.
Follow-up commit of bc9d68bcbe
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55130#add_comment
Previously if an empty string was encountered while parsing out PATH,
cmd.exe would ignore the rest of the PATH entirely.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55097
Signed-off-by: Liam Middlebrook <lmiddlebrook@nvidia.com>
Fixes double frees in read_components and read_dependency. The double
frees could also be fixed by using free instead of free_dependency in
those functions, but zeroing out the pointers is easier to understand
because it ensures that alloc_dependency can always be paired with
free_dependency.
The builtin dxdiag doesn't know about option /64bit and display an
error dialog. Some games use that option internally on startup and the
dialog is annoying.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=49964
Company of Heroes: Battle of Crete needs a functioning findstr.exe to exit properly.
Freemake Video Converter 4.1 installer also needs this.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=35254
- support 8 byte targets
- default to CPU pointer size if size isn't present nor supported.
- detect unaligned requests
Signed-off-by: Eric Pouech <eric.pouech@codeweavers.com>
This also correctly initialize some lvalue.
Context of the bug has changed, but the underlying issue remained the same.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=39495
Signed-off-by: Eric Pouech <eric.pouech@codeweavers.com>
Currently, dbghelp returns the source file either:
- in DOS format when native module option isn't enabled
- as stored in debug info format otherwise
This used to work for PE modules inside ELF shared libraries but is broken
since evolution to REAL modules. This generates several issues:
- winedbg does not always set the native module option when calling dbghelp
for source file related functions, leading to heterogenous output to user
- some dbghelp function rely on matching source paths, hence leading to
errors in winedbg when mixing the two formats for the same source file.
Introduce a new Wine only dbghelp option to return the source paths as they
are stored inside debug information format, and activate it unconditionaly
inside winedbg.
This fixes some failure cases of command 'break <NN>' in winedbg.
Signed-off-by: Eric Pouech <epouech@codeweavers.com>
Note: it's anyway wrong to search source files inside modules' path
(a proper fix will require revisiting source file handling).
This fix will actually be sufficient when running wine from within
its build tree.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
- 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>
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>
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>
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>
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>
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>
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>
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.
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>
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>
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>
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.
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.
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>
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
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.
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>