mirror of
https://gitlab.winehq.org/wine/wine-staging.git
synced 2024-11-21 16:46:54 -08:00
Added patch to fix device paths in HKLM\SYSTEM\MountedDevices.
This commit is contained in:
parent
41c3e670d9
commit
006db23dab
@ -38,7 +38,7 @@ Wine. All those differences are also documented on the
|
||||
Included bug fixes and improvements
|
||||
===================================
|
||||
|
||||
**Bugfixes and features included in the next upcoming release [10]:**
|
||||
**Bugfixes and features included in the next upcoming release [11]:**
|
||||
|
||||
* Add stub fltmgr.sys (filter manager driver) ([Wine Bug #23583](https://bugs.winehq.org/show_bug.cgi?id=23583))
|
||||
* Add stubs for Power[Set|Clear]Request
|
||||
@ -46,6 +46,7 @@ Included bug fixes and improvements
|
||||
* Don't return an error in WS_select when EINTR happens during timeout
|
||||
* Fix calculation of 3D sound source ([Wine Bug #38041](https://bugs.winehq.org/show_bug.cgi?id=38041))
|
||||
* Fix compatibility of Uplay with gnutls28 ([Wine Bug #38134](https://bugs.winehq.org/show_bug.cgi?id=38134))
|
||||
* Fix device paths in HKLM\SYSTEM\MountedDevices ([Wine Bug #38235](https://bugs.winehq.org/show_bug.cgi?id=38235))
|
||||
* Fix handling of ANSI NTLM credentials ([Wine Bug #37063](https://bugs.winehq.org/show_bug.cgi?id=37063))
|
||||
* Implement empty enumerator for IWiaDevMgr::EnumDeviceInfo ([Wine Bug #27775](https://bugs.winehq.org/show_bug.cgi?id=27775))
|
||||
* Return correct device type for cd devices without medium
|
||||
|
1
debian/changelog
vendored
1
debian/changelog
vendored
@ -11,6 +11,7 @@ wine-staging (1.7.40) UNRELEASED; urgency=low
|
||||
* Added patch to fix calculation of 3D sound source.
|
||||
* Added patch for stub of fltmgr.sys (filter manager driver).
|
||||
* Added patch to return correct device type for cd devices without medium.
|
||||
* Added patch to fix device paths in HKLM\SYSTEM\MountedDevices.
|
||||
* Removed patch to fix regression causing black screen on startup (accepted upstream).
|
||||
* Removed patch to fix edge cases in TOOLTIPS_GetTipText (fixed upstream).
|
||||
* Removed patch for IConnectionPoint/INetworkListManagerEvents stub interface (accepted upstream).
|
||||
|
@ -0,0 +1,72 @@
|
||||
From 3cd8b757e42ef9de84dacaa57c2e6d1557c4f5fc Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
|
||||
Date: Mon, 30 Mar 2015 04:01:51 +0200
|
||||
Subject: mountmgr.sys: Write usable device paths into
|
||||
HKLM\SYSTEM\MountedDevices.
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
Based on a patch by Bernhard Übelacker.
|
||||
---
|
||||
dlls/mountmgr.sys/device.c | 4 ++--
|
||||
dlls/mountmgr.sys/mountmgr.c | 11 +++++++++--
|
||||
dlls/mountmgr.sys/mountmgr.h | 2 +-
|
||||
3 files changed, 12 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/dlls/mountmgr.sys/device.c b/dlls/mountmgr.sys/device.c
|
||||
index 5003d4d..2722663 100644
|
||||
--- a/dlls/mountmgr.sys/device.c
|
||||
+++ b/dlls/mountmgr.sys/device.c
|
||||
@@ -511,8 +511,8 @@ static NTSTATUS set_volume_info( struct volume *volume, struct dos_drive *drive,
|
||||
id = disk_device->unix_mount;
|
||||
id_len = strlen( disk_device->unix_mount ) + 1;
|
||||
}
|
||||
- if (volume->mount) set_mount_point_id( volume->mount, id, id_len );
|
||||
- if (drive && drive->mount) set_mount_point_id( drive->mount, id, id_len );
|
||||
+ if (volume->mount) set_mount_point_id( volume->mount, id, id_len, -1 );
|
||||
+ if (drive && drive->mount) set_mount_point_id( drive->mount, id, id_len, drive->drive );
|
||||
|
||||
return STATUS_SUCCESS;
|
||||
}
|
||||
diff --git a/dlls/mountmgr.sys/mountmgr.c b/dlls/mountmgr.sys/mountmgr.c
|
||||
index 10286dc..ba803f3 100644
|
||||
--- a/dlls/mountmgr.sys/mountmgr.c
|
||||
+++ b/dlls/mountmgr.sys/mountmgr.c
|
||||
@@ -47,14 +47,21 @@ struct mount_point
|
||||
static struct list mount_points_list = LIST_INIT(mount_points_list);
|
||||
static HKEY mount_key;
|
||||
|
||||
-void set_mount_point_id( struct mount_point *mount, const void *id, unsigned int id_len )
|
||||
+void set_mount_point_id( struct mount_point *mount, const void *id, unsigned int id_len, int drive )
|
||||
{
|
||||
+ WCHAR logicalW[] = {'\\','\\','.','\\','a',':',0};
|
||||
RtlFreeHeap( GetProcessHeap(), 0, mount->id );
|
||||
mount->id_len = max( MIN_ID_LEN, id_len );
|
||||
if ((mount->id = RtlAllocateHeap( GetProcessHeap(), HEAP_ZERO_MEMORY, mount->id_len )))
|
||||
{
|
||||
memcpy( mount->id, id, id_len );
|
||||
- RegSetValueExW( mount_key, mount->link.Buffer, 0, REG_BINARY, mount->id, mount->id_len );
|
||||
+ if (drive < 0)
|
||||
+ RegSetValueExW( mount_key, mount->link.Buffer, 0, REG_BINARY, mount->id, mount->id_len );
|
||||
+ else
|
||||
+ {
|
||||
+ logicalW[4] = 'a' + drive;
|
||||
+ RegSetValueExW( mount_key, mount->link.Buffer, 0, REG_BINARY, (BYTE*)logicalW, sizeof(logicalW) );
|
||||
+ }
|
||||
}
|
||||
else mount->id_len = 0;
|
||||
}
|
||||
diff --git a/dlls/mountmgr.sys/mountmgr.h b/dlls/mountmgr.sys/mountmgr.h
|
||||
index 2f0db62..dd6ddc5 100644
|
||||
--- a/dlls/mountmgr.sys/mountmgr.h
|
||||
+++ b/dlls/mountmgr.sys/mountmgr.h
|
||||
@@ -67,4 +67,4 @@ extern struct mount_point *add_dosdev_mount_point( DEVICE_OBJECT *device, UNICOD
|
||||
extern struct mount_point *add_volume_mount_point( DEVICE_OBJECT *device, UNICODE_STRING *device_name,
|
||||
const GUID *guid ) DECLSPEC_HIDDEN;
|
||||
extern void delete_mount_point( struct mount_point *mount ) DECLSPEC_HIDDEN;
|
||||
-extern void set_mount_point_id( struct mount_point *mount, const void *id, unsigned int id_len ) DECLSPEC_HIDDEN;
|
||||
+extern void set_mount_point_id( struct mount_point *mount, const void *id, unsigned int id_len, int drive ) DECLSPEC_HIDDEN;
|
||||
--
|
||||
2.3.3
|
||||
|
1
patches/mountmgr-DosDevices/definition
Normal file
1
patches/mountmgr-DosDevices/definition
Normal file
@ -0,0 +1 @@
|
||||
Fixes: [38235] Fix device paths in HKLM\SYSTEM\MountedDevices
|
@ -126,6 +126,7 @@ patch_enable_all ()
|
||||
enable_libs_Unicode_Collation="$1"
|
||||
enable_makedep_PARENTSPEC="$1"
|
||||
enable_mmdevapi_AEV_Stubs="$1"
|
||||
enable_mountmgr_DosDevices="$1"
|
||||
enable_msctf_DllCanUnloadNow="$1"
|
||||
enable_msvcp90_basic_string_wchar_dtor="$1"
|
||||
enable_msvcrt_atof_strtod="$1"
|
||||
@ -441,6 +442,9 @@ patch_enable ()
|
||||
mmdevapi-AEV_Stubs)
|
||||
enable_mmdevapi_AEV_Stubs="$2"
|
||||
;;
|
||||
mountmgr-DosDevices)
|
||||
enable_mountmgr_DosDevices="$2"
|
||||
;;
|
||||
msctf-DllCanUnloadNow)
|
||||
enable_msctf_DllCanUnloadNow="$2"
|
||||
;;
|
||||
@ -1947,6 +1951,18 @@ if test "$enable_wined3d_CSMT_Helper" -eq 1; then
|
||||
) >> "$patchlist"
|
||||
fi
|
||||
|
||||
# Patchset wined3d-UnhandledBlendFactor
|
||||
# |
|
||||
# | Modified files:
|
||||
# | * dlls/wined3d/state.c
|
||||
# |
|
||||
if test "$enable_wined3d_UnhandledBlendFactor" -eq 1; then
|
||||
patch_apply wined3d-UnhandledBlendFactor/0001-wined3d-Silence-repeated-Unhandled-blend-factor-0-me.patch
|
||||
(
|
||||
echo '+ { "Sebastian Lackner", "wined3d: Silence repeated '\''Unhandled blend factor 0'\'' messages.", 1 },';
|
||||
) >> "$patchlist"
|
||||
fi
|
||||
|
||||
# Patchset wined3d-Multisampling
|
||||
# |
|
||||
# | This patchset fixes the following Wine bugs:
|
||||
@ -1996,18 +2012,6 @@ if test "$enable_wined3d_Revert_PixelFormat" -eq 1; then
|
||||
) >> "$patchlist"
|
||||
fi
|
||||
|
||||
# Patchset wined3d-UnhandledBlendFactor
|
||||
# |
|
||||
# | Modified files:
|
||||
# | * dlls/wined3d/state.c
|
||||
# |
|
||||
if test "$enable_wined3d_UnhandledBlendFactor" -eq 1; then
|
||||
patch_apply wined3d-UnhandledBlendFactor/0001-wined3d-Silence-repeated-Unhandled-blend-factor-0-me.patch
|
||||
(
|
||||
echo '+ { "Sebastian Lackner", "wined3d: Silence repeated '\''Unhandled blend factor 0'\'' messages.", 1 },';
|
||||
) >> "$patchlist"
|
||||
fi
|
||||
|
||||
# Patchset wined3d-CSMT_Main
|
||||
# |
|
||||
# | This patchset fixes the following Wine bugs:
|
||||
@ -2891,6 +2895,21 @@ if test "$enable_mmdevapi_AEV_Stubs" -eq 1; then
|
||||
) >> "$patchlist"
|
||||
fi
|
||||
|
||||
# Patchset mountmgr-DosDevices
|
||||
# |
|
||||
# | This patchset fixes the following Wine bugs:
|
||||
# | * [#38235] Fix device paths in HKLM\SYSTEM\MountedDevices
|
||||
# |
|
||||
# | Modified files:
|
||||
# | * dlls/mountmgr.sys/device.c, dlls/mountmgr.sys/mountmgr.c, dlls/mountmgr.sys/mountmgr.h
|
||||
# |
|
||||
if test "$enable_mountmgr_DosDevices" -eq 1; then
|
||||
patch_apply mountmgr-DosDevices/0001-mountmgr.sys-Write-usable-device-paths-into-HKLM-SYS.patch
|
||||
(
|
||||
echo '+ { "Michael Müller", "mountmgr.sys: Write usable device paths into HKLM\\\\SYSTEM\\\\MountedDevices.", 1 },';
|
||||
) >> "$patchlist"
|
||||
fi
|
||||
|
||||
# Patchset msctf-DllCanUnloadNow
|
||||
# |
|
||||
# | This patchset fixes the following Wine bugs:
|
||||
@ -3808,21 +3827,6 @@ if test "$enable_server_CreateProcess_ACLs" -eq 1; then
|
||||
) >> "$patchlist"
|
||||
fi
|
||||
|
||||
# Patchset server-OpenProcess
|
||||
# |
|
||||
# | This patchset fixes the following Wine bugs:
|
||||
# | * [#37087] Return an error when trying to open a terminated process
|
||||
# |
|
||||
# | Modified files:
|
||||
# | * server/process.c, server/process.h
|
||||
# |
|
||||
if test "$enable_server_OpenProcess" -eq 1; then
|
||||
patch_apply server-OpenProcess/0001-server-Return-error-when-opening-a-terminating-proce.patch
|
||||
(
|
||||
echo '+ { "Michael Müller", "server: Return error when opening a terminating process.", 3 },';
|
||||
) >> "$patchlist"
|
||||
fi
|
||||
|
||||
# Patchset server-Misc_ACL
|
||||
# |
|
||||
# | This patchset fixes the following Wine bugs:
|
||||
@ -3840,6 +3844,21 @@ if test "$enable_server_Misc_ACL" -eq 1; then
|
||||
) >> "$patchlist"
|
||||
fi
|
||||
|
||||
# Patchset server-OpenProcess
|
||||
# |
|
||||
# | This patchset fixes the following Wine bugs:
|
||||
# | * [#37087] Return an error when trying to open a terminated process
|
||||
# |
|
||||
# | Modified files:
|
||||
# | * server/process.c, server/process.h
|
||||
# |
|
||||
if test "$enable_server_OpenProcess" -eq 1; then
|
||||
patch_apply server-OpenProcess/0001-server-Return-error-when-opening-a-terminating-proce.patch
|
||||
(
|
||||
echo '+ { "Michael Müller", "server: Return error when opening a terminating process.", 3 },';
|
||||
) >> "$patchlist"
|
||||
fi
|
||||
|
||||
# Patchset server-JobObjects
|
||||
# |
|
||||
# | This patchset fixes the following Wine bugs:
|
||||
|
Loading…
Reference in New Issue
Block a user