mirror of
https://gitlab.winehq.org/wine/wine-staging.git
synced 2025-01-28 22:04:43 -08:00
Added patch for support of process specific debug channels.
This commit is contained in:
parent
572c6fe243
commit
d9bdc6ae51
@ -39,8 +39,9 @@ Wine. All those differences are also documented on the
|
||||
Included bug fixes and improvements
|
||||
-----------------------------------
|
||||
|
||||
**Bug fixes and features included in the next upcoming release [4]:**
|
||||
**Bug fixes and features included in the next upcoming release [5]:**
|
||||
|
||||
* Add support for process specific debug channels
|
||||
* Calculate msvcrt exponential math operations with higher precision ([Wine Bug #37149](https://bugs.winehq.org/show_bug.cgi?id=37149))
|
||||
* Fix regression caused by blacklisting supported OpenGL extensions ([Wine Bug #38264](https://bugs.winehq.org/show_bug.cgi?id=38264))
|
||||
* Properly handle closing sockets during a select call ([Wine Bug #38399](https://bugs.winehq.org/show_bug.cgi?id=38399))
|
||||
|
1
debian/changelog
vendored
1
debian/changelog
vendored
@ -9,6 +9,7 @@ wine-staging (1.7.41) UNRELEASED; urgency=low
|
||||
* Added patch to fix regression caused by blacklisting supported OpenGL extensions.
|
||||
* Added patch to reset device state in SysKeyboard*Impl_Acquire.
|
||||
* Added patch to properly handle closing sockets during a select call.
|
||||
* Added patch for support of process specific debug channels.
|
||||
* Added tests for RtlIpv6AddressToString and RtlIpv6AddressToStringEx.
|
||||
* Removed patches to fix invalid memory access in get_registry_locale_info (accepted upstream).
|
||||
* Removed patches to avoid repeated FIXMEs in PsLookupProcessByProcessId stub (accepted upstream).
|
||||
|
@ -0,0 +1,67 @@
|
||||
From 90d826bf3bfe4cb92334bdab29fd0b71d5cb947b Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
|
||||
Date: Thu, 16 Apr 2015 21:23:10 +0200
|
||||
Subject: libwine: Add process specific debug channels.
|
||||
|
||||
---
|
||||
libs/wine/debug.c | 27 +++++++++++++++++++++++++--
|
||||
1 file changed, 25 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/libs/wine/debug.c b/libs/wine/debug.c
|
||||
index 548ef22..caaf383 100644
|
||||
--- a/libs/wine/debug.c
|
||||
+++ b/libs/wine/debug.c
|
||||
@@ -125,10 +125,22 @@ static void add_option( const char *name, unsigned char set, unsigned char clear
|
||||
nb_debug_options++;
|
||||
}
|
||||
|
||||
+/* get name of the current process */
|
||||
+static const char *get_process_name( void )
|
||||
+{
|
||||
+ const char *ret, *tmp;
|
||||
+ if (__wine_main_argc < 2) return NULL;
|
||||
+ ret = __wine_main_argv[1];
|
||||
+ if ((tmp = strrchr(ret, '/'))) ret = ++tmp;
|
||||
+ if ((tmp = strrchr(ret, '\\'))) ret = ++tmp;
|
||||
+ return ret;
|
||||
+}
|
||||
+
|
||||
/* parse a set of debugging option specifications and add them to the option list */
|
||||
static void parse_options( const char *str )
|
||||
{
|
||||
- char *opt, *next, *options;
|
||||
+ char *opt, *next, *popt, *options;
|
||||
+ const char *process = get_process_name();
|
||||
unsigned int i;
|
||||
|
||||
if (!(options = strdup(str))) return;
|
||||
@@ -139,6 +151,17 @@ static void parse_options( const char *str )
|
||||
|
||||
if ((next = strchr( opt, ',' ))) *next++ = 0;
|
||||
|
||||
+ if ((popt = strchr( opt, ':' )))
|
||||
+ {
|
||||
+ unsigned int inv = 0;
|
||||
+ *popt = 0;
|
||||
+ if (!process) continue;
|
||||
+ if (*opt == '-' || *opt == '+')
|
||||
+ inv = (*opt++ == '-');
|
||||
+ if (inv == !strcmp( opt, process )) continue;
|
||||
+ opt = ++popt;
|
||||
+ }
|
||||
+
|
||||
p = opt + strcspn( opt, "+-" );
|
||||
if (!p[0]) p = opt; /* assume it's a debug channel name */
|
||||
|
||||
@@ -180,7 +203,7 @@ static void debug_usage(void)
|
||||
{
|
||||
static const char usage[] =
|
||||
"Syntax of the WINEDEBUG variable:\n"
|
||||
- " WINEDEBUG=[class]+xxx,[class]-yyy,...\n\n"
|
||||
+ " WINEDEBUG=[+process:][class]+xxx,[-process:][class]-yyy,...\n\n"
|
||||
"Example: WINEDEBUG=+all,warn-heap\n"
|
||||
" turns on all messages except warning heap messages\n"
|
||||
"Available message classes: err, warn, fixme, trace\n";
|
||||
--
|
||||
2.3.5
|
||||
|
1
patches/libs-Debug_Channel/definition
Normal file
1
patches/libs-Debug_Channel/definition
Normal file
@ -0,0 +1 @@
|
||||
Fixes: Add support for process specific debug channels
|
@ -123,6 +123,7 @@ patch_enable_all ()
|
||||
enable_kernel32_Profile="$1"
|
||||
enable_kernel32_SetFileInformationByHandle="$1"
|
||||
enable_kernel32_VerifyVersionInfo="$1"
|
||||
enable_libs_Debug_Channel="$1"
|
||||
enable_libs_Unicode_Collation="$1"
|
||||
enable_makedep_PARENTSPEC="$1"
|
||||
enable_mmdevapi_AEV_Stubs="$1"
|
||||
@ -437,6 +438,9 @@ patch_enable ()
|
||||
kernel32-VerifyVersionInfo)
|
||||
enable_kernel32_VerifyVersionInfo="$2"
|
||||
;;
|
||||
libs-Debug_Channel)
|
||||
enable_libs_Debug_Channel="$2"
|
||||
;;
|
||||
libs-Unicode_Collation)
|
||||
enable_libs_Unicode_Collation="$2"
|
||||
;;
|
||||
@ -2927,6 +2931,18 @@ if test "$enable_kernel32_VerifyVersionInfo" -eq 1; then
|
||||
) >> "$patchlist"
|
||||
fi
|
||||
|
||||
# Patchset libs-Debug_Channel
|
||||
# |
|
||||
# | Modified files:
|
||||
# | * libs/wine/debug.c
|
||||
# |
|
||||
if test "$enable_libs_Debug_Channel" -eq 1; then
|
||||
patch_apply libs-Debug_Channel/0001-libwine-Add-process-specific-debug-channels.patch
|
||||
(
|
||||
echo '+ { "Michael Müller", "libwine: Add process specific debug channels.", 1 },';
|
||||
) >> "$patchlist"
|
||||
fi
|
||||
|
||||
# Patchset libs-Unicode_Collation
|
||||
# |
|
||||
# | This patchset fixes the following Wine bugs:
|
||||
|
Loading…
x
Reference in New Issue
Block a user