Added patch to creating handles for new consoles when a new process is created.

This commit is contained in:
Erich E. Hoover 2015-01-03 23:59:01 -07:00
parent a5ec351f6e
commit d8cde81519
5 changed files with 46 additions and 1 deletions

View File

@ -37,7 +37,7 @@ Wine. All those differences are also documented on the
Included bug fixes and improvements
===================================
**Bugfixes and features included in the next upcoming release [21]:**
**Bugfixes and features included in the next upcoming release [22]:**
* Add stub for D3DXComputeNormalMap
* Add stub for D3DXComputeTangentFrameEx ([Wine Bug #31984](https://bugs.winehq.org/show_bug.cgi?id=31984))
@ -50,6 +50,7 @@ Included bug fixes and improvements
* Fix handling of subdirectory in FtpFindFirstFile ([Wine Bug #16526](https://bugs.winehq.org/show_bug.cgi?id=16526))
* Fix parameters for ConvertToIndexedBlendedMesh stub ([Wine Bug #36449](https://bugs.winehq.org/show_bug.cgi?id=36449))
* GetMonitorInfo returns the same name for all monitors ([Wine Bug #37709](https://bugs.winehq.org/show_bug.cgi?id=37709))
* Hearthstone fails to start ([Wine Bug #36216](https://bugs.winehq.org/show_bug.cgi?id=36216))
* IOCTL_DVD_READ_STRUCTURE expects the wrong size of output buffer for some requests ([Wine Bug #37767](https://bugs.winehq.org/show_bug.cgi?id=37767))
* Implement ID3DXEffect::FindNextValidTechnique ([Wine Bug #34101](https://bugs.winehq.org/show_bug.cgi?id=34101))
* Implement IDXGIOutput::GetDesc

1
debian/changelog vendored
View File

@ -5,6 +5,7 @@ wine-staging (1.7.34) UNRELEASED; urgency=low
* Fix issue in DOS Attributes patch which broke ./configure on systems with alternative shells.
* Fix issue in user32-WndProc patch which caused crashes for some 16-bit apps.
* Fix issue in ws2_32-WriteWatches patch which can cause exceptions on the signal stack.
* Added patch to creating handles for new consoles when a new process is created.
* Added patch for CreateProcess to prioritize the working directory over the system search path.
* Added patch with stubs for WinSqm[Start|End]Session.
* Added patch to fix handling of subdirectory in FtpFindFirstFile.

View File

@ -51,6 +51,7 @@ PATCHLIST := \
imm32-Cross_Thread_Access.ok \
include-Winetest.ok \
iphlpapi-TCP_Table.ok \
kernel32-Create_Handles_for_New_Consoles.ok \
kernel32-GetFinalPathNameByHandle.ok \
kernel32-GetNumaProcessorNode.ok \
kernel32-GetStringTypeW.ok \
@ -715,6 +716,21 @@ iphlpapi-TCP_Table.ok:
echo '+ { "Erich E. Hoover", "iphlpapi: Implement AllocateAndGetTcpExTableFromStack.", 1 },'; \
) > iphlpapi-TCP_Table.ok
# Patchset kernel32-Create_Handles_for_New_Consoles
# |
# | This patchset fixes the following Wine bugs:
# | * [#36216] Hearthstone fails to start
# |
# | Modified files:
# | * dlls/kernel32/process.c
# |
.INTERMEDIATE: kernel32-Create_Handles_for_New_Consoles.ok
kernel32-Create_Handles_for_New_Consoles.ok:
$(call APPLY_FILE,kernel32-Create_Handles_for_New_Consoles/0001-kernel32-Allocate-console-handles-for-new-consoles-a.patch)
@( \
echo '+ { "Erich E. Hoover", "kernel32: Allocate console handles for new consoles at long as the process is not detached.", 1 },'; \
) > kernel32-Create_Handles_for_New_Consoles.ok
# Patchset kernel32-GetFinalPathNameByHandle
# |
# | This patchset fixes the following Wine bugs:

View File

@ -0,0 +1,26 @@
From d0bb3326c980625e1b5424a3603928380878599f Mon Sep 17 00:00:00 2001
From: "Erich E. Hoover" <erich.e.hoover@gmail.com>
Date: Sat, 3 Jan 2015 23:37:42 -0700
Subject: kernel32: Allocate console handles for new consoles at long as the
process is not detached.
---
dlls/kernel32/process.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/dlls/kernel32/process.c b/dlls/kernel32/process.c
index 0a087ab..ba59244 100644
--- a/dlls/kernel32/process.c
+++ b/dlls/kernel32/process.c
@@ -1679,7 +1679,7 @@ static startup_info_t *create_startup_info( LPCWSTR filename, LPCWSTR cmdline,
info->hstdin = wine_server_obj_handle( hstdin );
info->hstdout = wine_server_obj_handle( hstdout );
info->hstderr = wine_server_obj_handle( hstderr );
- if ((flags & (CREATE_NEW_CONSOLE | DETACHED_PROCESS)) != 0)
+ if (flags & DETACHED_PROCESS) /* FIXME: probably not correct, needs more tests */
{
/* this is temporary (for console handles). We have no way to control that the handle is invalid in child process otherwise */
if (is_console_handle(hstdin)) info->hstdin = wine_server_obj_handle( INVALID_HANDLE_VALUE );
--
1.9.1

View File

@ -0,0 +1 @@
Fixes: [36216] Hearthstone fails to start