You've already forked wine-staging
mirror of
https://gitlab.winehq.org/wine/wine-staging.git
synced 2025-09-12 18:50:20 -07:00
Added patch to store registry timestamps with nanoseconds precision.
This commit is contained in:
@@ -263,6 +263,7 @@ patch_enable_all ()
|
||||
enable_winedevice_Fix_Relocation="$1"
|
||||
enable_winemenubuilder_Desktop_Icon_Path="$1"
|
||||
enable_winepulse_PulseAudio_Support="$1"
|
||||
enable_wineserver_Registry_Timestamp="$1"
|
||||
enable_winex11_CandidateWindowPos="$1"
|
||||
enable_winex11_Clipboard_HTML="$1"
|
||||
enable_winex11_DragAndDrop="$1"
|
||||
@@ -864,6 +865,9 @@ patch_enable ()
|
||||
winepulse-PulseAudio_Support)
|
||||
enable_winepulse_PulseAudio_Support="$2"
|
||||
;;
|
||||
wineserver-Registry_Timestamp)
|
||||
enable_wineserver_Registry_Timestamp="$2"
|
||||
;;
|
||||
winex11-CandidateWindowPos)
|
||||
enable_winex11_CandidateWindowPos="$2"
|
||||
;;
|
||||
@@ -5466,6 +5470,21 @@ if test "$enable_winepulse_PulseAudio_Support" -eq 1; then
|
||||
) >> "$patchlist"
|
||||
fi
|
||||
|
||||
# Patchset wineserver-Registry_Timestamp
|
||||
# |
|
||||
# | This patchset fixes the following Wine bugs:
|
||||
# | * [#38927] Store registry timestamps with nanoseconds precision
|
||||
# |
|
||||
# | Modified files:
|
||||
# | * server/registry.c
|
||||
# |
|
||||
if test "$enable_wineserver_Registry_Timestamp" -eq 1; then
|
||||
patch_apply wineserver-Registry_Timestamp/0001-wineserver-Increase-precision-when-saving-loading-re.patch
|
||||
(
|
||||
echo '+ { "Michael Müller", "wineserver: Increase precision when saving / loading registry modification date.", 1 },';
|
||||
) >> "$patchlist"
|
||||
fi
|
||||
|
||||
# Patchset winex11-CandidateWindowPos
|
||||
# |
|
||||
# | This patchset fixes the following Wine bugs:
|
||||
|
@@ -0,0 +1,51 @@
|
||||
From b802fbbf522c400c30d26170152daa5e1f41f94d Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
|
||||
Date: Tue, 28 Jul 2015 17:46:13 +0200
|
||||
Subject: wineserver: Increase precision when saving / loading registry
|
||||
modification date
|
||||
|
||||
---
|
||||
server/registry.c | 11 +++++++----
|
||||
1 file changed, 7 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/server/registry.c b/server/registry.c
|
||||
index 43527df..45eebb8 100644
|
||||
--- a/server/registry.c
|
||||
+++ b/server/registry.c
|
||||
@@ -264,7 +264,8 @@ static void save_subkeys( const struct key *key, const struct key *base, FILE *f
|
||||
{
|
||||
fprintf( f, "\n[" );
|
||||
if (key != base) dump_path( key, base, f );
|
||||
- fprintf( f, "] %u\n", (unsigned int)((key->modif - ticks_1601_to_1970) / TICKS_PER_SEC) );
|
||||
+ fprintf( f, "] %u %u\n", (unsigned int)((key->modif - ticks_1601_to_1970) / TICKS_PER_SEC),
|
||||
+ (unsigned int)((key->modif - ticks_1601_to_1970) % TICKS_PER_SEC) );
|
||||
if (key->class)
|
||||
{
|
||||
fprintf( f, "#class=\"" );
|
||||
@@ -1347,9 +1348,10 @@ static struct key *load_key( struct key *base, const char *buffer,
|
||||
WCHAR *p;
|
||||
struct unicode_str name;
|
||||
int res;
|
||||
- unsigned int mod;
|
||||
+ unsigned int mod, mod_nano;
|
||||
timeout_t modif = current_time;
|
||||
data_size_t len;
|
||||
+ int elements;
|
||||
|
||||
if (!get_file_tmp_space( info, strlen(buffer) * sizeof(WCHAR) )) return NULL;
|
||||
|
||||
@@ -1359,8 +1361,9 @@ static struct key *load_key( struct key *base, const char *buffer,
|
||||
file_read_error( "Malformed key", info );
|
||||
return NULL;
|
||||
}
|
||||
- if (sscanf( buffer + res, " %u", &mod ) == 1)
|
||||
- modif = (timeout_t)mod * TICKS_PER_SEC + ticks_1601_to_1970;
|
||||
+ elements = sscanf( buffer + res, " %u %u", &mod, &mod_nano );
|
||||
+ if (elements >= 1) modif = (timeout_t)mod * TICKS_PER_SEC + ticks_1601_to_1970;
|
||||
+ if (elements >= 2) modif += mod_nano;
|
||||
|
||||
p = info->tmp;
|
||||
while (prefix_len && *p) { if (*p++ == '\\') prefix_len--; }
|
||||
--
|
||||
2.4.5
|
||||
|
1
patches/wineserver-Registry_Timestamp/definition
Normal file
1
patches/wineserver-Registry_Timestamp/definition
Normal file
@@ -0,0 +1 @@
|
||||
Fixes: [38927] Store registry timestamps with nanoseconds precision
|
Reference in New Issue
Block a user