mirror of
https://gitlab.winehq.org/wine/wine-staging.git
synced 2024-11-21 16:46:54 -08:00
Added patch to store registry timestamps with nanoseconds precision.
This commit is contained in:
parent
1ce0efdd60
commit
a9538a1965
@ -39,7 +39,7 @@ Wine. All those differences are also documented on the
|
||||
Included bug fixes and improvements
|
||||
-----------------------------------
|
||||
|
||||
**Bug fixes and features included in the next upcoming release [11]:**
|
||||
**Bug fixes and features included in the next upcoming release [12]:**
|
||||
|
||||
* Add stubs for d3dx10_43.D3DX10CreateEffectFromFileA/W ([Wine Bug #27739](https://bugs.winehq.org/show_bug.cgi?id=27739))
|
||||
* Add support for ThreadQuerySetWin32StartAddress info class ([Wine Bug #8277](https://bugs.winehq.org/show_bug.cgi?id=8277))
|
||||
@ -52,6 +52,7 @@ Included bug fixes and improvements
|
||||
* Return dummy ID3DXSkinInfo interface when skinning info not present ([Wine Bug #33904](https://bugs.winehq.org/show_bug.cgi?id=33904))
|
||||
* Share source of d3dx9_36 with d3dx9_33 to avoid Wine DLL forwards ([Wine Bug #21817](https://bugs.winehq.org/show_bug.cgi?id=21817))
|
||||
* Silence repeated LocaleNameToLCID/LCIDToLocaleName unsupported flags FIXMEs ([Wine Bug #30076](https://bugs.winehq.org/show_bug.cgi?id=30076))
|
||||
* Store registry timestamps with nanoseconds precision ([Wine Bug #38927](https://bugs.winehq.org/show_bug.cgi?id=38927))
|
||||
|
||||
|
||||
**Bug fixes and features in Wine Staging 1.7.47 [230]:**
|
||||
|
1
debian/changelog
vendored
1
debian/changelog
vendored
@ -17,6 +17,7 @@ wine-staging (1.7.48) UNRELEASED; urgency=low
|
||||
* Added patch to export additional OpenAL32 functions.
|
||||
* Added patch to return dummy ID3DXSkinInfo interface when skinning info not
|
||||
present.
|
||||
* Added patch to store registry timestamps with nanoseconds precision.
|
||||
* Removed patch to allow to enable/disable InsertMode in wineconsole settings
|
||||
(accepted upstream).
|
||||
* Removed patch to improve IoGetDeviceObjectPointer stub to appease SecuROM
|
||||
|
@ -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
|
Loading…
x
Reference in New Issue
Block a user