From 244d6180f63e12a4b1726fc223d3c00ab6bbb316 Mon Sep 17 00:00:00 2001 From: Lars Uebernickel Date: Thu, 17 Oct 2013 14:57:08 -0400 Subject: indicator-ng: always create entry.label and entry.image They used to be created lazily when the root menu item changed to include and image or a label. However, there is no way to notify a panel that this happened. Panels connect to notify signals on these widgets when an entry gets added. If the widgets don't exist from the very beginning, the panel won't update when they change. --- libindicator/indicator-ng.c | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/libindicator/indicator-ng.c b/libindicator/indicator-ng.c index f2ffa6d..87deb14 100644 --- a/libindicator/indicator-ng.c +++ b/libindicator/indicator-ng.c @@ -240,9 +240,6 @@ indicator_ng_set_icon_from_variant (IndicatorNg *self, return; } - if (!self->entry.image) - self->entry.image = g_object_ref_sink (gtk_image_new ()); - gtk_widget_show (GTK_WIDGET (self->entry.image)); icon = g_icon_deserialize (variant); @@ -271,9 +268,6 @@ indicator_ng_set_label (IndicatorNg *self, return; } - if (!self->entry.label) - self->entry.label = g_object_ref_sink (gtk_label_new (NULL)); - gtk_label_set_label (GTK_LABEL (self->entry.label), label); gtk_widget_show (GTK_WIDGET (self->entry.label)); } @@ -655,6 +649,9 @@ indicator_ng_initable_iface_init (GInitableIface *initable) static void indicator_ng_init (IndicatorNg *self) { + self->entry.label = g_object_ref_sink (gtk_label_new (NULL)); + self->entry.image = g_object_ref_sink (gtk_image_new ()); + self->entry.menu = g_object_ref_sink (gtk_menu_new ()); /* work around IndicatorObject's warning that the accessible -- cgit v1.2.3