[PATCH] setupapi: Only delete unregistered device interfaces when deleting a device.
Fixes a regression introduced by 86d26dded5560d6d8adb195372f0676d1f7229b0. Signed-off-by: Zebediah Figura <z.figura12(a)gmail.com> --- dlls/setupapi/devinst.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dlls/setupapi/devinst.c b/dlls/setupapi/devinst.c index e388a28..6986fb5 100644 --- a/dlls/setupapi/devinst.c +++ b/dlls/setupapi/devinst.c @@ -499,7 +499,7 @@ static void SETUPDI_RemoveDevice(struct device *device) struct device_iface, entry) { list_remove(&iface->entry); - if ((path = get_refstr_key_path(iface))) + if (device->phantom && (path = get_refstr_key_path(iface))) { RegDeleteKeyW(HKEY_LOCAL_MACHINE, path); heap_free(path); -- 2.7.4
Thanks, problem fixed for me. Signed-off-by: Kai Krakow <kai(a)kaishome.de> 2018-08-19 22:23 GMT+02:00 Zebediah Figura <z.figura12(a)gmail.com>:
Fixes a regression introduced by 86d26dded5560d6d8adb195372f0676d1f7229b0.
Signed-off-by: Zebediah Figura <z.figura12(a)gmail.com> --- dlls/setupapi/devinst.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/dlls/setupapi/devinst.c b/dlls/setupapi/devinst.c index e388a28..6986fb5 100644 --- a/dlls/setupapi/devinst.c +++ b/dlls/setupapi/devinst.c @@ -499,7 +499,7 @@ static void SETUPDI_RemoveDevice(struct device *device) struct device_iface, entry) { list_remove(&iface->entry); - if ((path = get_refstr_key_path(iface))) + if (device->phantom && (path = get_refstr_key_path(iface))) { RegDeleteKeyW(HKEY_LOCAL_MACHINE, path); heap_free(path); -- 2.7.4
participants (2)
-
Kai Krakow -
Zebediah Figura