aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTed Gould <ted@gould.cx>2012-01-23 16:52:52 -0600
committerTed Gould <ted@gould.cx>2012-01-23 16:52:52 -0600
commit7935501e7d6d05861dec0a1c603e3fd2308bf423 (patch)
tree8d417a345c744dd46997e2f9011ba38803dd11a6
parent1cf6a9761db8beefc8d2a73c2cf9903264424c66 (diff)
parenta1ed503a7513d46ca530dd9e853140f2981e69a3 (diff)
downloadlibayatana-indicator-7935501e7d6d05861dec0a1c603e3fd2308bf423.tar.gz
libayatana-indicator-7935501e7d6d05861dec0a1c603e3fd2308bf423.tar.bz2
libayatana-indicator-7935501e7d6d05861dec0a1c603e3fd2308bf423.zip
Put the parent pointer in the entry struct to make it easier for the implementers of the panel side
-rw-r--r--libindicator/indicator-object.c1
-rw-r--r--libindicator/indicator-object.h2
-rw-r--r--tests/test-loader.c1
-rw-r--r--tools/indicator-loader.c4
4 files changed, 8 insertions, 0 deletions
diff --git a/libindicator/indicator-object.c b/libindicator/indicator-object.c
index 7a3e393..adaa9ed 100644
--- a/libindicator/indicator-object.c
+++ b/libindicator/indicator-object.c
@@ -257,6 +257,7 @@ indicator_object_init (IndicatorObject *self)
self->priv->module = NULL;
+ self->priv->entry.parent_object = self;
self->priv->entry.menu = NULL;
self->priv->entry.label = NULL;
self->priv->entry.image = NULL;
diff --git a/libindicator/indicator-object.h b/libindicator/indicator-object.h
index bbc215a..b8b9a8b 100644
--- a/libindicator/indicator-object.h
+++ b/libindicator/indicator-object.h
@@ -152,6 +152,7 @@ struct _IndicatorObject {
/**
IndicatorObjectEntry:
+ @parent_object: The #IndicatorObject that created this entry
@label: The label to be shown on the panel
@image: The image to be shown on the panel
@menu: The menu to be added to the menubar
@@ -166,6 +167,7 @@ struct _IndicatorObject {
@reserved4: Reserved for future use
*/
struct _IndicatorObjectEntry {
+ IndicatorObject * parent_object;
GtkLabel * label;
GtkImage * image;
GtkMenu * menu;
diff --git a/tests/test-loader.c b/tests/test-loader.c
index 2e9cf55..38f2cb1 100644
--- a/tests/test-loader.c
+++ b/tests/test-loader.c
@@ -152,6 +152,7 @@ test_loader_filename_dummy_simple_location (void)
g_assert(indicator_object_get_location(object, (IndicatorObjectEntry *)entries->data) == 0);
g_assert(indicator_object_get_location(object, NULL) == 0);
+ g_assert(((IndicatorObjectEntry *)entries->data)->parent_object != NULL);
g_object_unref(object);
diff --git a/tools/indicator-loader.c b/tools/indicator-loader.c
index 59e90b1..10952dc 100644
--- a/tools/indicator-loader.c
+++ b/tools/indicator-loader.c
@@ -45,6 +45,10 @@ entry_added (IndicatorObject * io, IndicatorObjectEntry * entry, gpointer user_d
{
g_debug("Signal: Entry Added");
+ if (entry->parent_object == NULL) {
+ g_warning("Entry '%p' does not have a parent object", entry);
+ }
+
GtkWidget * menuitem = gtk_menu_item_new();
#if GTK_CHECK_VERSION(3,0,0)
GtkWidget * hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 3);