summaryrefslogtreecommitdiff
path: root/gio/src/dbusobjectmanagerclient.ccg
diff options
context:
space:
mode:
Diffstat (limited to 'gio/src/dbusobjectmanagerclient.ccg')
-rw-r--r--gio/src/dbusobjectmanagerclient.ccg13
1 files changed, 10 insertions, 3 deletions
diff --git a/gio/src/dbusobjectmanagerclient.ccg b/gio/src/dbusobjectmanagerclient.ccg
index 76cc808e..5450ac09 100644
--- a/gio/src/dbusobjectmanagerclient.ccg
+++ b/gio/src/dbusobjectmanagerclient.ccg
@@ -18,7 +18,9 @@
namespace
{
-GType get_proxy_type_callback(GDBusObjectManagerClient* manager,
+extern "C"
+{
+static GType get_proxy_type_callback(GDBusObjectManagerClient* manager,
const gchar* object_path, const gchar* interface_name, gpointer user_data)
{
auto slot_proxy_type = static_cast<Gio::DBus::ObjectManagerClient::SlotProxyType*>(user_data);
@@ -35,6 +37,11 @@ GType get_proxy_type_callback(GDBusObjectManagerClient* manager,
return 0;
}
+static void proxy_type_callback_delete(void* data)
+{
+ delete static_cast<Gio::DBus::ObjectManagerClient::SlotProxyType*>(data);
+}
+} // extern "C"
} // anonymous namespace
namespace Gio
@@ -56,7 +63,7 @@ ObjectManagerClient::ObjectManagerClient(const Glib::RefPtr<Connection>& connect
"object-path", Glib::c_str_or_nullptr(object_path),
"get-proxy-type-func", slot_proxy_type ? get_proxy_type_callback : nullptr,
"get-proxy-type-user-data", slot_proxy_type ? new SlotProxyType(slot_proxy_type) : nullptr,
- "get-proxy-type-destroy-notify", slot_proxy_type ? Glib::destroy_notify_delete<SlotProxyType> : nullptr
+ "get-proxy-type-destroy-notify", slot_proxy_type ? proxy_type_callback_delete : nullptr
)
{
if (slot_async_ready)
@@ -88,7 +95,7 @@ ObjectManagerClient::ObjectManagerClient(BusType bus_type,
"object-path", Glib::c_str_or_nullptr(object_path),
"get-proxy-type-func", slot_proxy_type ? get_proxy_type_callback : nullptr,
"get-proxy-type-user-data", slot_proxy_type ? new SlotProxyType(slot_proxy_type) : nullptr,
- "get-proxy-type-destroy-notify", slot_proxy_type ? Glib::destroy_notify_delete<SlotProxyType> : nullptr
+ "get-proxy-type-destroy-notify", slot_proxy_type ? proxy_type_callback_delete : nullptr
)
{
if (slot_async_ready)