From a8c0e9175a0150e11876cb86bc8884d7271de7ca Mon Sep 17 00:00:00 2001 Message-Id: From: Mark Wooding Date: Sun, 8 Nov 2009 13:36:38 +0000 Subject: [PATCH] Add 'self' argument to queuelike callbacks. Not used yet - presumably playlist editors will need one though. Organization: Straylight/Edgeware From: Richard Kettlewell --- disobedience/added.c | 2 +- disobedience/queue-generic.c | 4 ++-- disobedience/queue-generic.h | 4 ++-- disobedience/queue.c | 5 +++-- disobedience/recent.c | 2 +- 5 files changed, 9 insertions(+), 8 deletions(-) diff --git a/disobedience/added.c b/disobedience/added.c index 32628ac..7f654ee 100644 --- a/disobedience/added.c +++ b/disobedience/added.c @@ -66,7 +66,7 @@ static void added_changed(const char attribute((unused)) *event, } /** @brief Called at startup */ -static void added_init(void) { +static void added_init(struct queuelike attribute((unused)) *ql) { event_register("rescan-complete", added_changed, 0); } diff --git a/disobedience/queue-generic.c b/disobedience/queue-generic.c index f14f424..c64e5d0 100644 --- a/disobedience/queue-generic.c +++ b/disobedience/queue-generic.c @@ -508,7 +508,7 @@ static void ql_row_deleted(GtkTreeModel attribute((unused)) *treemodel, --srcrow; /* Tell the queue implementation */ - ql->drop(srcrow, dstrow); + ql->drop(ql, srcrow, dstrow); /* Dispose of stashed data */ gtk_tree_path_free(ql->drag_target); @@ -574,7 +574,7 @@ GtkWidget *init_queuelike(struct queuelike *ql) { /* TODO style? */ - ql->init(); + ql->init(ql); /* Update display text when lookups complete */ event_register("lookups-completed", queue_lookups_completed, ql); diff --git a/disobedience/queue-generic.h b/disobedience/queue-generic.h index 8dd9fdb..fdf37a9 100644 --- a/disobedience/queue-generic.h +++ b/disobedience/queue-generic.h @@ -55,7 +55,7 @@ struct queuelike { const char *name; /** @brief Initialization function */ - void (*init)(void); + void (*init)(struct queuelike *ql); /** @brief Columns */ const struct queue_column *columns; @@ -98,7 +98,7 @@ struct queuelike { * If the rearrangement is impossible then the displayed queue must be put * back. */ - void (*drop)(int src, int dst); + void (*drop)(struct queuelike *ql, int src, int dst); /** @brief Stashed drag target row */ GtkTreePath *drag_target; diff --git a/disobedience/queue.c b/disobedience/queue.c index a051090..7421ef8 100644 --- a/disobedience/queue.c +++ b/disobedience/queue.c @@ -139,7 +139,7 @@ static gboolean playing_periodic(gpointer attribute((unused)) data) { } /** @brief Called at startup */ -static void queue_init(void) { +static void queue_init(struct queuelike attribute((unused)) *ql) { /* Arrange a callback whenever the playing state changes */ event_register("playing-changed", playing_changed, 0); /* We reget both playing track and queue at pause/resume so that start times @@ -162,7 +162,8 @@ static void queue_move_completed(void attribute((unused)) *v, } /** @brief Called when drag+drop completes */ -static void queue_drop(int src, int dst) { +static void queue_drop(struct queuelike attribute((unused)) *ql, + int src, int dst) { struct queue_entry *sq, *dq; int n; diff --git a/disobedience/recent.c b/disobedience/recent.c index 0923a6d..f53e631 100644 --- a/disobedience/recent.c +++ b/disobedience/recent.c @@ -61,7 +61,7 @@ static void recent_changed(const char attribute((unused)) *event, } /** @brief Called at startup */ -static void recent_init(void) { +static void recent_init(struct queuelike attribute((unused)) *ql) { /* Whenever the recent list changes on the server, re-fetch it */ event_register("recent-changed", recent_changed, 0); } -- [mdw]