From: Richard Kettlewell Date: Wed, 11 Jun 2008 15:55:14 +0000 (+0100) Subject: Don't allocate per-queue tabtype. In fact the allocate version broken X-Git-Tag: 4.1~15^2~47 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~mdw/git/disorder/commitdiff_plain/54156c626b7377cd012b1de85679801d59da8a09?ds=inline 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(). --- 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; } /*