From 54156c626b7377cd012b1de85679801d59da8a09 Mon Sep 17 00:00:00 2001 Message-Id: <54156c626b7377cd012b1de85679801d59da8a09.1714779264.git.mdw@distorted.org.uk> From: Mark Wooding Date: Wed, 11 Jun 2008 16:55:14 +0100 Subject: [PATCH] Don't allocate per-queue tabtype. In fact the allocate version broken intermittently (because GTK+ stupidly hides pointers from the GC) but the change is to stop allocating altogether rather than to use g_malloc(). Organization: Straylight/Edgeware From: Richard Kettlewell --- disobedience/queue-generic.h | 3 +++ disobedience/queue-menu.c | 7 +++---- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/disobedience/queue-generic.h b/disobedience/queue-generic.h index 6b956b7..8b2acaf 100644 --- a/disobedience/queue-generic.h +++ b/disobedience/queue-generic.h @@ -108,6 +108,9 @@ struct queuelike { /** @brief The popup menu */ GtkWidget *menu; + + /** @brief Menu callbacks */ + struct tabtype tabtype; }; extern struct queuelike ql_queue; diff --git a/disobedience/queue-menu.c b/disobedience/queue-menu.c index 44ec081..ac3479a 100644 --- a/disobedience/queue-menu.c +++ b/disobedience/queue-menu.c @@ -258,10 +258,9 @@ struct tabtype *ql_tabtype(struct queuelike *ql) { 0 }; - struct tabtype *t = xmalloc(sizeof *t); - *t = ql_tabtype; - t->extra = ql; - return t; + ql->tabtype = ql_tabtype; + ql->tabtype.extra = ql; + return &ql->tabtype; } /* -- [mdw]