Fix issue in user32-WndProc patch which caused crashes for some 16-bit apps.

This commit is contained in:
Sebastian Lackner 2014-12-19 14:38:16 +01:00
parent f6749f92de
commit 135f617b33
4 changed files with 24 additions and 9 deletions

1
debian/changelog vendored
View File

@ -2,6 +2,7 @@ wine-staging (1.7.34) UNRELEASED; urgency=low
* Rename debian package from 'wine-compholio' to 'wine-staging' and provide compatibility package.
* Avoid duplicate wined3d specfile by adding PARENTSPEC Makefile argument.
* 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.
* Added patch to fix handling of subdirectory in FtpFindFirstFile.
* Added patch to return proper charcount for GetLocaleInfo with LOCALE_IFIRSTDAYOFWEEK.
* Added patch to ensure X11 input events are handled even without explicit message loop.

View File

@ -1749,13 +1749,13 @@ user32-ScrollWindowEx.ok:
# | * [#32451] Fix for programs leaking wndproc slots
# |
# | Modified files:
# | * dlls/user32/winproc.c
# | * dlls/user.exe16/message.c, dlls/user32/winproc.c
# |
.INTERMEDIATE: user32-WndProc.ok
user32-WndProc.ok:
$(call APPLY_FILE,user32-WndProc/0001-user32-Increase-MAX_WINPROCS-to-16384.patch)
@( \
echo '+ { "Sebastian Lackner", "user32: Increase MAX_WINPROCS to 16384.", 1 },'; \
echo '+ { "Sebastian Lackner", "user32: Increase MAX_WINPROCS to 16384.", 2 },'; \
) > user32-WndProc.ok
# Patchset wineboot-HKEY_DYN_DATA

View File

@ -47,7 +47,7 @@ index d73dcbb..e559587 100644
120 stdcall -noname FileMenu_AbortInitMenu()
121 stdcall -noname SHFlushClipboard()
- 122 stdcall -private @(long long ptr str long) shell.dll16.RunDLL_CallEntry16
+ 122 stdcall -noname RunDLL_CallEntry16(long long long str long)
+ 122 stdcall -noname RunDLL_CallEntry16(long long ptr str long)
123 stdcall -noname SHFreeUnusedLibraries()
124 stdcall -noname FileMenu_AppendFilesForPidl(long ptr long)
125 stdcall -noname FileMenu_AddFilesForPidl(long long long ptr long long ptr)

View File

@ -1,14 +1,28 @@
From a857ce50c5f1e48d7c08c034374b742292d18344 Mon Sep 17 00:00:00 2001
From f45183ad9d9ac42023f1222a58c1ebb45f0b6ba6 Mon Sep 17 00:00:00 2001
From: Sebastian Lackner <sebastian@fds-team.de>
Date: Fri, 8 Aug 2014 23:40:58 +0200
Subject: user32: Increase MAX_WINPROCS to 16384.
Subject: user32: Increase MAX_WINPROCS to 16384. (try 2)
---
dlls/user32/winproc.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
dlls/user.exe16/message.c | 2 +-
dlls/user32/winproc.c | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/dlls/user.exe16/message.c b/dlls/user.exe16/message.c
index 935b025..965da59 100644
--- a/dlls/user.exe16/message.c
+++ b/dlls/user.exe16/message.c
@@ -108,7 +108,7 @@ typedef struct
#include "poppack.h"
#define WINPROC_HANDLE (~0u >> 16)
-#define MAX_WINPROCS32 4096
+#define MAX_WINPROCS32 16384
#define MAX_WINPROCS16 1024
static WNDPROC16 winproc16_array[MAX_WINPROCS16];
diff --git a/dlls/user32/winproc.c b/dlls/user32/winproc.c
index 57adfc2..e18dd5e 100644
index 3642109..828729b 100644
--- a/dlls/user32/winproc.c
+++ b/dlls/user32/winproc.c
@@ -45,7 +45,7 @@ typedef struct tagWINDOWPROC
@ -21,5 +35,5 @@ index 57adfc2..e18dd5e 100644
#define WINPROC_PROC16 ((WINDOWPROC *)1) /* placeholder for 16-bit window procs */
--
1.7.9.5
2.1.3