- Feb 16, 2025
-
-
Roman Pišl authored
Otherwise executable flag is inherited from directory to file, which breaks Pkg tree hash.
-
Roman Pišl authored
Otherwise all readable files are marked as executable which breaks Pkg tree hash.
-
Keno Fischer authored
Wine's conhost does not currently have a full VT100 interpreter on the output size (i.e. for Win32 applications sending VT100 text). However, Wine also does not prevent applications from asking for VT100 processing, which makes applications assume that Wine does support it. Of course it would be best to simply implement VT100 processing, but since that's a fair bit of code, just prevent applications from setting the VT100 mode for now, forcing them to fall back to non-VT100 mode and hopefully fixing the output until wine implements a full VT100 interpreter. Signed-off-by:
Keno Fischer <keno@juliacomputing.com>
-
Keno Fischer authored
It is possible for the write/writev functions in send_request to return short writes, even in non-error conditions. There are several situations where this might happen. Examples are: - SIGSTOP/SIGCONT (either explicitly or via ptrace attach) - cgroup freezes and similar mechanisms - system suspends - External debuggers or profilers In general, Linux makes very few guarantees about syscall restarts. In some cases (in particular when no bytes have been transferred at all), the linux kernel will automatically restart the system call, but once any bytes have been transferred, the result will be a short write with no automatic restart. Make wine robust to this corner case by properly restarting a short write with adjusted buffers. Signed-off-by:
Keno Fischer <keno@juliacomputing.com>
-
Keno Fischer authored
Without this patch conhost would attempt to process non-existent input, spewing stdout with various cursor moves and incorrectly returning the ReadConsole call early. Fix that by only attempting input processing if there are actually input records to be processed and properly returning STATUS_PENDING if the input processing is not yet complete. Signed-off-by:
Keno Fischer <keno@juliacomputing.com>
-
- Feb 09, 2025
-
-
Bernhard Übelacker authored
This makes cygwin64's rsync happy. It seems to fork a child process of itself which wants to close sockets derived from the parent process. Kind of related Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54995 Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=56927 rsync -aq --delete-before dir-a dir-b rsync: [Receiver] Failed to dup/close: Socket operation on non-socket (108) rsync error: error in IPC code (code 14) at pipe.c(157) [Receiver=3.2.7] rsync: connection unexpectedly closed (0 bytes received so far) [sender] rsync error: error in rsync protocol data stream (code 12) at io.c(231) [sender=3.2.7]
-
Bernhard Übelacker authored
Cygwin in version 3.5.4 or later relies in having the WriteQuotaAvailable member of a NtQueryInformationFile(FilePipeLocalInformation) query to be non-zero. This causes mintty.exe not being able to show the bash.exe output when running in wine. Unconditionally returning WriteQuotaAvailable=1 causes "C:\\msys64\\usr\\bin\\pacman.exe -T cocom git ..." to never return, hanging with a gpg.exe child process. A bisect of cygwin1.dll led to this commit: 49018bf5774fc90ddddc762a8462030c5d528643 is the first broken commit commit 49018bf5774fc90ddddc762a8462030c5d528643 Author: Takashi Yano <takashi.yano@nifty.ne.jp> Date: Mon Jul 1 17:44:53 2024 +0900 Cygwin: pty: Avoid client deadlock when pty master stops to read. https://www.cygwin.com/cgit/newlib-cygwin/commit/?h=cygwin-3_5-branch&id=49018bf5774fc90ddddc762a8462030c5d528643 https://www.cygwin.com/cgit/newlib-cygwin/commit/?id=c4fb5da2787693ea3bf20b2ac847f2c7d50da67c Installing cygwin/msys2 or reproducing this issue might need several other patches from this tree: https://gitlab.winehq.org/bernhardu/wine/-/commits/msys2-cygwin_2024-11-16/?ref_type=heads Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=57424
-
Bernhard Übelacker authored
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=56925
-
Bernhard Übelacker authored
MSYS setup tries to setup some pacman/gpg key configuration. This involves starting dirmngr.exe which unfortunately hangs. Therefore gpg reports: gpg: connecting dirmngr at '/etc/pacman.d/gnupg/S.dirmngr' failed: IPC connect call failed And fails therefore "silently". The hang in dirmngr.exe looks to be a result of reusing a socket twice. When the first connection attempt failed, wineserver still has the reported_events set. Therefore on the second attempt WSAEnumNetworkEvents does no longer report those events. But fhandler_socket_wsock::wait_for_events gets just left when there are some events received. Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=53574 dirmngr.exe --server --no-detach --homedir /etc/pacman.d/gnupg --verbose (gdb) bt #0 fhandler_socket_wsock::evaluate_events (this=0x800028718, event_mask=48, events=@0x67dfc278: 0, erase=true) at /home/bernhard/MSYS2-packages/msys2-runtime/src/msys2-runtime/winsup/cygwin/fhandler/socket_inet.cc:307 #1 0x000000018015a287 in fhandler_socket_wsock::wait_for_events (this=0x800028718, event_mask=48, flags=0) at /home/bernhard/MSYS2-packages/msys2-runtime/src/msys2-runtime/winsup/cygwin/fhandler/socket_inet.cc:404 #2 0x000000018015b267 in fhandler_socket_inet::connect (this=0x800028718, name=0x67dfc810, namelen=16) at /home/bernhard/MSYS2-packages/msys2-runtime/src/msys2-runtime/winsup/cygwin/fhandler/socket_inet.cc:802 #3 0x000000018008c63c in cygwin_connect (fd=3, name=0x67dfc810, namelen=16) at /home/bernhard/MSYS2-packages/msys2-runtime/src/msys2-runtime/winsup/cygwin/net.cc:709 #4 0x00000001801c348b in _sigfe () at sigfe.s:36 #5 0x00000005a3099a57 in __assuan_connect (ctx=<optimized out>, sock=<optimized out>, addr=<optimized out>, length=<optimized out>) at system-posix.c:430 #6 0x00000005a30922c6 in _assuan_connect (ctx=ctx@entry=0xa00020830, sock=sock@entry=3, addr=addr@entry=0x67dfc810, length=length@entry=16) at system.c:412 #7 0x00000005a30989c8 in socks5_connect (ctx=ctx@entry=0xa00020830, sock=sock@entry=3, socksport=socksport@entry=9050, credentials=credentials@entry=0x0, hostname=hostname@entry=0x5a309d7fa <okstr+1466> "", hostport=hostport@entry=0, addr=addr@entry=0x0, length=length@entry=0) at assuan-socket.c:754 #8 0x00000005a3099315 in _assuan_sock_connect_byname (ctx=0xa00020830, host=host@entry=0x0, port=port@entry=0, reserved=reserved@entry=0, credentials=credentials@entry=0x0, flags=flags@entry=2) at assuan-socket.c:1148 #9 0x00000005a30993f7 in assuan_sock_connect_byname (host=host@entry=0x0, port=port@entry=0, reserved=reserved@entry=0, credentials=credentials@entry=0x0, flags=flags@entry=2) at assuan-socket.c:1497 #10 0x0000000100402531 in dirmngr_use_tor () at dirmngr.c:607 #11 0x000000010040256c in set_tor_mode () at dirmngr.c:582 #12 0x00000001004025eb in post_option_parsing () at dirmngr.c:898 #13 0x0000000100403532 in main (argc=<optimized out>, argv=<optimized out>) at dirmngr.c:1211 (gdb) print evts.lNetworkEvents $1 = 0
-
Bernhard Übelacker authored
cygwin64: LANG=C wine c:/cygwin64/bin/mintty.exe msys2-64: LANG=C wine c:/msys64/usr/bin/mintty.exe Based on patch by Zeb Figura: https://bugs.winehq.org/attachment.cgi?id=70483 https://bugs.winehq.org/show_bug.cgi?id=47808 Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55138
-
Bernhard Übelacker authored
Visible with: - pacman -Suy - wine taskmgr.exe - wine msys2-x86_64-20230318.exe 0114:fixme:icon:NtUserDrawIconEx Error retrieving icon frame 0 - wine bash.exe - wine64 procexp64.exe
-
- Feb 08, 2025
-
-
Roman Pišl authored
PathRemoveFileSpecW keeps only the drive if the path contains all forward slashes as shown in tests. But then the temporary file is created in the root folder which fails for drive Z:.
-
- Jan 21, 2025
-
-
Alexandre Julliard authored
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=57704
-
Instead of relying on the current X window rect, which may be offscreen for other reasons. Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=57689
- Jan 17, 2025
-
- Jan 16, 2025
-
-
Alexandre Julliard authored
-
-
- Jan 14, 2025
-
-
-
Fixes Soulcalibur VI video playback when MF pipelines are used.
-
Function gets called with Magic == 0xdead, which causes the test to use the 64-bit path, which results in this buffer overflow. Signed-off-by:
Nikolay Sivov <nsivov@codeweavers.com>
-
Signed-off-by:
Nikolay Sivov <nsivov@codeweavers.com>
-
- Jan 13, 2025
-
-
Since we're checking the child window clipping rules it is possible that a toplevel window also has an onscreen client window, for instance if the window wasn't created with WS_CLIPCHILDREN. The last window to present between the parent and its children should be visible. GDI blits always happen over the toplevel window, and we need to use IncludeInferiors to make sure it goes through any onscreen client window that is otherwise hiding the toplevel pixels. It should be safe to use that flag wrt other child windows, as we also set the clipping region to exclude the area that should be obscured by any sibling. Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=57661
-
When the window manager moves windows offscreen, the Win32 config is explicitly kept out of sync. We need to handle that case when the Win32 config changes, to avoid forcefully moving the windows back on screen. Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=57652
-
-
Do not return an error. Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=50398
-
-
Alexandre Julliard authored
-
Alexandre Julliard authored
-
For example, when GPU 1 has adapter 1 and GPU 2 has adapter 2, without this fix, the `adapter` variable in the for loop is always zero when forming GDI display names \\.\DISPLAY* because these two adapters are on different GPUs. Thus "\\.\DISPLAY1" is incorrectly passed to xrandr14_get_id() for the second adapter and eventually gets the wrong current display mode for the second adapter. Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=57610
-
Fixes 8375e6c8
-
- Jan 10, 2025
-
-
Alexandre Julliard authored
Introduced in 5204622e. Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=57077
-
Alexandre Julliard authored
-
Alexandre Julliard authored
-
- Jan 09, 2025
-
-
Fixes: 50047002
-
Since 895ca2ed, we're not telling Win32 side of the fact the window moved offscreen. This means any SetWindowPos sent afterwards has potential to resync the Window and "put it on screen again", even if such operation has SWP_NOMOVE or SWP_NOSIZE. This causes some fullscreen apps to follow the workspace/desktop instead of remaining offscreen. Fixes a regression introduced by 895ca2ed. Signed-off-by:
Gabriel Ivăncescu <gabrielopcode@gmail.com>
-
This avoids a hang where samples are queued after the thread is exited due to receiving EOS, but the thread is no longer processing samples. Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=57632 Signed-off-by:
Connor McAdams <cmcadams@codeweavers.com>
-