diff options
author | Ted Gould <ted@canonical.com> | 2009-04-22 23:46:23 -0500 |
---|---|---|
committer | Ted Gould <ted@canonical.com> | 2009-04-22 23:46:23 -0500 |
commit | fd65e073a5534a60aca848583ae37321a0e3b472 (patch) | |
tree | 1c6908daac0d4d3dcad23e624772614c7339e1d9 /src | |
parent | e1eb7c8f66e217ee7c98c49347cf1d333c96808b (diff) | |
parent | c292100a3d95aac71c7cb943cbd3df9a204c0a70 (diff) | |
download | libayatana-indicator-fd65e073a5534a60aca848583ae37321a0e3b472.tar.gz libayatana-indicator-fd65e073a5534a60aca848583ae37321a0e3b472.tar.bz2 libayatana-indicator-fd65e073a5534a60aca848583ae37321a0e3b472.zip |
Upstream update
Diffstat (limited to 'src')
-rw-r--r-- | src/applet-main.c | 20 |
1 files changed, 12 insertions, 8 deletions
diff --git a/src/applet-main.c b/src/applet-main.c index d661824..4d28e33 100644 --- a/src/applet-main.c +++ b/src/applet-main.c @@ -80,31 +80,32 @@ load_module (const gchar * name, GtkWidget * menu) g_free(fullpath); g_return_val_if_fail(module != NULL, FALSE); - get_version_t lget_version; + get_version_t lget_version = NULL; g_return_val_if_fail(g_module_symbol(module, INDICATOR_GET_VERSION_S, (gpointer *)(&lget_version)), FALSE); if (!INDICATOR_VERSION_CHECK(lget_version())) { g_warning("Indicator using API version '%s' we're expecting '%s'", lget_version(), INDICATOR_VERSION); return FALSE; } - get_label_t lget_label; + get_label_t lget_label = NULL; g_return_val_if_fail(g_module_symbol(module, INDICATOR_GET_LABEL_S, (gpointer *)(&lget_label)), FALSE); g_return_val_if_fail(lget_label != NULL, FALSE); GtkLabel * label = lget_label(); - get_icon_t lget_icon; - g_return_val_if_fail(g_module_symbol(module, INDICATOR_GET_LABEL_S, (gpointer *)(&lget_icon)), FALSE); + get_icon_t lget_icon = NULL; + g_return_val_if_fail(g_module_symbol(module, INDICATOR_GET_ICON_S, (gpointer *)(&lget_icon)), FALSE); g_return_val_if_fail(lget_icon != NULL, FALSE); GtkImage * icon = lget_icon(); - get_menu_t lget_menu; - g_return_val_if_fail(g_module_symbol(module, INDICATOR_GET_LABEL_S, (gpointer *)(&lget_menu)), FALSE); + get_menu_t lget_menu = NULL; + g_return_val_if_fail(g_module_symbol(module, INDICATOR_GET_MENU_S, (gpointer *)(&lget_menu)), FALSE); g_return_val_if_fail(lget_menu != NULL, FALSE); GtkMenu * lmenu = lget_menu(); if (label == NULL && icon == NULL) { /* This is the case where there is nothing to display, kinda odd that we'd have a module with nothing. */ + g_warning("No label or icon. Odd."); return FALSE; } @@ -116,12 +117,15 @@ load_module (const gchar * name, GtkWidget * menu) if (label != NULL) { gtk_box_pack_start(GTK_BOX(hbox), GTK_WIDGET(label), FALSE, FALSE, 0); } + gtk_container_add(GTK_CONTAINER(menuitem), hbox); + gtk_widget_show(hbox); - if (menu != NULL) { - gtk_menu_shell_append(GTK_MENU_SHELL(menuitem), GTK_WIDGET(lmenu)); + if (lmenu != NULL) { + gtk_menu_item_set_submenu(GTK_MENU_ITEM(menuitem), GTK_WIDGET(lmenu)); } gtk_menu_shell_append(GTK_MENU_SHELL(menu), menuitem); + gtk_widget_show(menuitem); return TRUE; } |