diff -Naur xfce4-power-manager/libdbus/xfpm-dbus-monitor.c xfce4-power-manager/libdbus/xfpm-dbus-monitor.c --- xfce4-power-manager/libdbus/xfpm-dbus-monitor.c 2019-09-01 23:55:42.454756756 +0700 +++ xfce4-power-manager/libdbus/xfpm-dbus-monitor.c 2019-09-02 00:00:22.800179127 +0700 @@ -34,7 +34,8 @@ #include "xfpm-dbus-monitor.h" #include "xfpm-dbus-marshal.h" -static void xfpm_dbus_monitor_finalize (GObject *object); +static void xfpm_dbus_monitor_finalize (GObject *object); +static void xfpm_dbus_monitor_free_watch_data_wrapper (void *data, void *userdata); #define XFPM_DBUS_MONITOR_GET_PRIVATE(o) \ (G_TYPE_INSTANCE_GET_PRIVATE ((o), XFPM_TYPE_DBUS_MONITOR, XfpmDBusMonitorPrivate)) @@ -265,6 +266,12 @@ xfpm_dbus_monitor_system (monitor); } +static void +xfpm_dbus_monitor_free_watch_data_wrapper (void *data, void *userdata) +{ + xfpm_dbus_monitor_free_watch_data (data); +} + static void xfpm_dbus_monitor_finalize (GObject *object) { @@ -279,8 +286,8 @@ g_object_unref (monitor->priv->system_bus); g_object_unref (monitor->priv->session_bus); - g_ptr_array_foreach (monitor->priv->names_array, (GFunc) xfpm_dbus_monitor_free_watch_data, NULL); - g_ptr_array_foreach (monitor->priv->services_array, (GFunc) xfpm_dbus_monitor_free_watch_data, NULL); + g_ptr_array_foreach (monitor->priv->names_array, (GFunc) xfpm_dbus_monitor_free_watch_data_wrapper, NULL); + g_ptr_array_foreach (monitor->priv->services_array, (GFunc) xfpm_dbus_monitor_free_watch_data_wrapper, NULL); g_ptr_array_free (monitor->priv->names_array, TRUE); g_ptr_array_free (monitor->priv->services_array, TRUE); diff -Naur xfce4-power-manager/src/xfpm-notify.c xfce4-power-manager/src/xfpm-notify.c --- xfce4-power-manager/src/xfpm-notify.c 2019-09-01 23:55:20.229518815 +0700 +++ xfce4-power-manager/src/xfpm-notify.c 2019-09-02 00:00:04.720814398 +0700 @@ -47,6 +47,7 @@ #include "xfpm-dbus-monitor.h" static void xfpm_notify_finalize (GObject *object); +static void g_free_wrapper (void *data, void *userdata); static NotifyNotification * xfpm_notify_new_notification_internal (const gchar *title, const gchar *message, @@ -77,6 +78,12 @@ G_DEFINE_TYPE_WITH_PRIVATE (XfpmNotify, xfpm_notify, G_TYPE_OBJECT) +static void +g_free_wrapper (void *data, void *userdata) +{ + g_free (data); +} + static void xfpm_notify_get_server_caps (XfpmNotify *notify) { @@ -94,7 +101,7 @@ if (g_list_find_custom (caps, "actions", (GCompareFunc) g_strcmp0) != NULL) notify->priv->supports_actions = TRUE; - g_list_foreach(caps, (GFunc)g_free, NULL); + g_list_foreach(caps, (GFunc)g_free_wrapper, NULL); g_list_free(caps); } }