aboutsummaryrefslogtreecommitdiff
path: root/libdbusmenu-glib/client.c
diff options
context:
space:
mode:
authorTed Gould <ted@gould.cx>2012-03-30 11:28:34 -0500
committerTed Gould <ted@gould.cx>2012-03-30 11:28:34 -0500
commitcca3468ea7fcb8d4e96fb7af9b10ba9e23f49a25 (patch)
tree9b8c029a0e432ca7cbce8358f53ab8ad2cae6af4 /libdbusmenu-glib/client.c
parentc780e1632e57e24233ee374d96b74375c881696b (diff)
downloadlibdbusmenu-cca3468ea7fcb8d4e96fb7af9b10ba9e23f49a25.tar.gz
libdbusmenu-cca3468ea7fcb8d4e96fb7af9b10ba9e23f49a25.tar.bz2
libdbusmenu-cca3468ea7fcb8d4e96fb7af9b10ba9e23f49a25.zip
Start by adding the data we're going to need to our private structure
Diffstat (limited to 'libdbusmenu-glib/client.c')
-rw-r--r--libdbusmenu-glib/client.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/libdbusmenu-glib/client.c b/libdbusmenu-glib/client.c
index 7d96db3..3fb5e2c 100644
--- a/libdbusmenu-glib/client.c
+++ b/libdbusmenu-glib/client.c
@@ -100,6 +100,10 @@ struct _DbusmenuClientPrivate
DbusmenuTextDirection text_direction;
DbusmenuStatus status;
GStrv icon_dirs;
+
+ gboolean group_events;
+ gulong event_idle;
+ GVariantBuilder events_to_go;
};
typedef struct _newItemPropData newItemPropData;
@@ -380,6 +384,10 @@ dbusmenu_client_init (DbusmenuClient *self)
priv->status = DBUSMENU_STATUS_NORMAL;
priv->icon_dirs = NULL;
+ priv->group_events = FALSE;
+ priv->event_idle = 0;
+ /* Note: Not initing events_to_go */
+
return;
}
@@ -393,6 +401,15 @@ dbusmenu_client_dispose (GObject *object)
priv->delayed_idle = 0;
}
+ if (priv->event_idle != 0) {
+ g_source_remove(priv->event_idle);
+ priv->event_idle = 0;
+
+ GVariant * data = g_variant_builder_end(&priv->events_to_go);
+ g_variant_ref_sink(data);
+ g_variant_unref(data);
+ }
+
/* Only used for queueing up a new command, so we can
just drop this array. */
if (priv->delayed_property_list != NULL) {