Fixes a regression introduced by b5c57b9a62,
which broke the systray integration outside of virtual desktops on some
DEs like XFCE.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Based on Rémi's idea.
CEF applications create their own desktops and so is_virtual_desktop() could incorrectly
report that virtual desktop is off if DF_WINE_VIRTUAL_DESKTOP is not inherited.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55810
Fixes a regression introduced by 229b4561d9,
which caused the icons to not be visible initially in the virtual desktop
systray.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Fixes a regression introduced by 62c6646d8f,
because SetParent will unconditionally activate the window, causing newly
added icons to deactivate the foreground window.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
This mainly allows Wine to reset the tty settings upon
termination and not let gdb do it (cf bug report).
Change: user is now required to explicitely terminate gdb
('quit' command) upon debuggee termination.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=56032
Signed-off-by: Eric Pouech <epouech@codeweavers.com>
When running `wine explorer.exe /desktop=shell` as a full-screen app,
there is no obvious way to close it and return to the Linux desktop.
Remedy that problem by adding an "Exit desktop" button to the Start menu
in the same place as the "Shut Down" button on Windows.
Note: GUI apps using std I/O (this is not common) will
no longer print on unix console.
If such a behavior is needed, for an app started from
Unix shell, one can either redirect output to a file, or pipe output:
./wine app | cat
Signed-off-by: Eric Pouech <epouech@codeweavers.com>
In HKEY_LOCAL_MACHINE\\HARDWARE\\DESCRIPTION\\System\\CentralProcessor
Some games such as Horizon Zero Dawn use this registry value to
correlate values from rtdsc to real time.
Returning the nominal/maximum cpu frequency here causes the game to run
in slow motion as it may not match the tsc frequency of the processor.
Based on patches from Arkadiusz Hiler and Joshua Ashton.
regedit is in GUI subsystem and shouldn't interact with console.
Keeping unix I/O output in silent mode (forcing English locale for
Unix integration).
Signed-off-by: Eric Pouech <epouech@codeweavers.com>
regsvr32 is in GUI subsystem and shouldn't interact with console.
Keeping unix I/O output in silent mode.
Removing -c option as not existing in native.
Signed-off-by: Eric Pouech <epouech@codeweavers.com>
Commit 100504d2f5 introduced using GetDpiForWindow().
Unfortunately NOTEPAD_LoadSettingFromRegistry is executed when
the main window is not yet created, resulting in
having Globals.lfFont.lfHeight=0.
This is later stored in the registry in iPointSize=0.
In a fresh wine prefix there are not yet registry values created,
therefore the first run of notepad does not show this problem,
and iPointSize is saved with a sane value to the registry.
Having Globals.lfFont.lfHeight=0 manifests for example
in cups PDF prints being a single empty page.
The check of point_size for having a non-zero value should also fix
wine prefixes which have already a stored registry value of iPointSize=0.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55852
On MacOs, starting with Big Sur 11.0.1, the system dynamic
libraries are no longer directly accessible on disk.
They are still available through dlopen and friends. For getting
access to the images (and their debug symbol), Apple provides,
in the developper kit, the tools to extract the files. Note that
this is handled as a database of all system libraries, where ASLR
is in place such that segments of a given library are no longer
contiguous in memory (dbghelp doesn't currently handle this).
Apart from not having image information nor debug information,
another side effect is that dbghelp tries every time it refreshes the
mach-o module list to reload any library for which it didn't have
an image file. This can be lengthy (esp when a typical process has
more than 300 modules loaded).
This patch forces the creation of the dbghelp module even if the
image file isn't found.
This patch cuts startup time of 'winedbg notepad' from 9.9 to 7.4s.
YMMV.
Signed-off-by: Eric Pouech <epouech@codeweavers.com>
cmd shouldn't terminate itself when user hits ctrl-c.
cmd should terminate the currently running CUI child it
waits for upon ctrl-c.
Signed-off-by: Eric Pouech <epouech@codeweavers.com>
When the path contains a mountpoint on Unix or a junction point to
another drive on Windows, cmd.exe should show free space for the
path instead of the root of the drive.
It's a clean-room reimplementation that mimics Windows 10 program's output format.
It prints all the information that is available via KerbQueryTicketCacheMessage.
Also tested to work on Windows if dynamically linked + built with winegcc.
For further extension of the functionality, implementing
KerbQueryTicketCacheEx{,2,3}Message is required.
Instead of querying the registry, just calls `GetDpiForWindow`.
Winecfg's DPI slider sets `Control Panel\\Desktop\\LogPixels`.
See `programs/winecfg/x11drvdlg.c`
Notepad queries `Software\\Fonts\\LogPixels`, and so doesn't pick up
on the change.
Without this, wineboot would bail out on ARM64 in the case where x86_64 WOW is
not available but i386 is. Leaving an incomplete prefix without any clear error.
When a crash in a program happens, and the debugger in launched in --auto
mode, in some cases the program terminates before the debugger has gotten
proper context on debuggee.
(Could be a watchdog in programs checking if it's debugged and terminating
itself if so).
Detect debuggee termination and still provide some information on debuggee
(threads, modules, system info). The backtrace will not be available as
no exception is gotten from debuggee.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55187
Signed-off-by: Eric Pouech <epouech@codeweavers.com>
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>