Rémi Bernon : winebus.sys: Free unix device in unix_device_remove.

Alexandre Julliard julliard at winehq.org
Tue Sep 14 16:00:11 CDT 2021


Module: wine
Branch: master
Commit: 1f12b2160dd5cc76cc1cd15a1d68606f304fc9e3
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=1f12b2160dd5cc76cc1cd15a1d68606f304fc9e3

Author: Rémi Bernon <rbernon at codeweavers.com>
Date:   Tue Sep 14 08:58:24 2021 +0200

winebus.sys: Free unix device in unix_device_remove.

Signed-off-by: Rémi Bernon <rbernon at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/winebus.sys/bus_iohid.c    | 1 -
 dlls/winebus.sys/bus_sdl.c      | 1 -
 dlls/winebus.sys/bus_udev.c     | 4 ----
 dlls/winebus.sys/unix_private.h | 1 -
 dlls/winebus.sys/unixlib.c      | 8 +-------
 5 files changed, 1 insertion(+), 14 deletions(-)

diff --git a/dlls/winebus.sys/bus_iohid.c b/dlls/winebus.sys/bus_iohid.c
index 93b3605f8d2..d9de7059be3 100644
--- a/dlls/winebus.sys/bus_iohid.c
+++ b/dlls/winebus.sys/bus_iohid.c
@@ -139,7 +139,6 @@ static void handle_IOHIDDeviceIOHIDReportCallback(void *context,
 
 static void iohid_device_destroy(struct unix_device *iface)
 {
-    unix_device_destroy(iface);
 }
 
 static int iohid_device_compare(struct unix_device *iface, void *context)
diff --git a/dlls/winebus.sys/bus_sdl.c b/dlls/winebus.sys/bus_sdl.c
index cda9e9bdcd9..a0b44283182 100644
--- a/dlls/winebus.sys/bus_sdl.c
+++ b/dlls/winebus.sys/bus_sdl.c
@@ -480,7 +480,6 @@ failed:
 
 static void sdl_device_destroy(struct unix_device *iface)
 {
-    unix_device_destroy(iface);
 }
 
 static int sdl_device_compare(struct unix_device *iface, void *context)
diff --git a/dlls/winebus.sys/bus_udev.c b/dlls/winebus.sys/bus_udev.c
index 004bbb379c4..e26e11c720d 100644
--- a/dlls/winebus.sys/bus_udev.c
+++ b/dlls/winebus.sys/bus_udev.c
@@ -560,8 +560,6 @@ static void hidraw_device_destroy(struct unix_device *iface)
 
     close(private->device_fd);
     udev_device_unref(private->udev_device);
-
-    unix_device_destroy(iface);
 }
 
 static int udev_device_compare(struct unix_device *iface, void *platform_dev)
@@ -814,8 +812,6 @@ static void lnxev_device_destroy(struct unix_device *iface)
 
     close(ext->base.device_fd);
     udev_device_unref(ext->base.udev_device);
-
-    unix_device_destroy(iface);
 }
 
 static DWORD CALLBACK lnxev_device_report_thread(void *args);
diff --git a/dlls/winebus.sys/unix_private.h b/dlls/winebus.sys/unix_private.h
index 3b0375bb761..6234c2c7bbc 100644
--- a/dlls/winebus.sys/unix_private.h
+++ b/dlls/winebus.sys/unix_private.h
@@ -48,7 +48,6 @@ struct unix_device
 };
 
 extern void *unix_device_create(const struct unix_device_vtbl *vtbl, SIZE_T size) DECLSPEC_HIDDEN;
-extern void unix_device_destroy(struct unix_device *iface) DECLSPEC_HIDDEN;
 
 extern NTSTATUS sdl_bus_init(void *) DECLSPEC_HIDDEN;
 extern NTSTATUS sdl_bus_wait(void *) DECLSPEC_HIDDEN;
diff --git a/dlls/winebus.sys/unixlib.c b/dlls/winebus.sys/unixlib.c
index b433c0dcbdf..ade38c19854 100644
--- a/dlls/winebus.sys/unixlib.c
+++ b/dlls/winebus.sys/unixlib.c
@@ -49,7 +49,6 @@ static void mouse_destroy(struct unix_device *iface)
 {
     struct mouse_device *impl = mouse_from_unix_device(iface);
     hid_descriptor_free(&impl->desc);
-    unix_device_destroy(iface);
 }
 
 static int mouse_compare(struct unix_device *iface, void *context)
@@ -154,7 +153,6 @@ static void keyboard_destroy(struct unix_device *iface)
 {
     struct keyboard_device *impl = keyboard_from_unix_device(iface);
     hid_descriptor_free(&impl->desc);
-    unix_device_destroy(iface);
 }
 
 static int keyboard_compare(struct unix_device *iface, void *context)
@@ -254,16 +252,12 @@ void *unix_device_create(const struct unix_device_vtbl *vtbl, SIZE_T size)
     return iface;
 }
 
-void unix_device_destroy(struct unix_device *iface)
-{
-    HeapFree(GetProcessHeap(), 0, iface);
-}
-
 static NTSTATUS unix_device_remove(void *args)
 {
     struct unix_device *iface = args;
     iface->vtbl->stop(iface);
     iface->vtbl->destroy(iface);
+    HeapFree(GetProcessHeap(), 0, iface);
     return STATUS_SUCCESS;
 }
 




More information about the wine-cvs mailing list