diff options
author | Ted Gould <ted@gould.cx> | 2012-01-23 16:52:52 -0600 |
---|---|---|
committer | Ted Gould <ted@gould.cx> | 2012-01-23 16:52:52 -0600 |
commit | 7935501e7d6d05861dec0a1c603e3fd2308bf423 (patch) | |
tree | 8d417a345c744dd46997e2f9011ba38803dd11a6 | |
parent | 1cf6a9761db8beefc8d2a73c2cf9903264424c66 (diff) | |
parent | a1ed503a7513d46ca530dd9e853140f2981e69a3 (diff) | |
download | libayatana-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.c | 1 | ||||
-rw-r--r-- | libindicator/indicator-object.h | 2 | ||||
-rw-r--r-- | tests/test-loader.c | 1 | ||||
-rw-r--r-- | tools/indicator-loader.c | 4 |
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); |