The function g_queue_free_full is available only from GLib 2.32. If BlueZ has to build against GLib 2.28, as stated in the configure.ac, this patch replaces the calls to g_queue_free_full in the AVTCP module with its body, taken from the sources of GLib 2.32. --- profiles/audio/avctp.c | 12 +++++++++++- 1 files changed, 11 insertions(+), 1 deletions(-) diff --git a/profiles/audio/avctp.c b/profiles/audio/avctp.c index 013c587..7a5a096 100644 --- a/profiles/audio/avctp.c +++ b/profiles/audio/avctp.c @@ -383,6 +383,15 @@ static void pending_destroy(void *data) g_free(req); } +static void pending_destroy_wrapper(void *data, void *dummy) +{ + /* + * Wrapper around pending_destroy to match the signature + * required for the second argument of g_queue_foreach. + */ + pending_destroy(data); +} + static void avctp_channel_destroy(struct avctp_channel *chan) { g_io_channel_shutdown(chan->io, TRUE, NULL); @@ -395,7 +404,8 @@ static void avctp_channel_destroy(struct avctp_channel *chan) g_source_remove(chan->process_id); g_free(chan->buffer); - g_queue_free_full(chan->queue, pending_destroy); + g_queue_foreach(chan->queue, pending_destroy_wrapper, NULL); + g_queue_free(chan->queue); g_slist_free_full(chan->processed, pending_destroy); g_slist_free_full(chan->handlers, g_free); g_free(chan); -- 1.7.4.1 -- To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html