# HG changeset patch # User William Ehlhardt # Date 1187578187 0 # Node ID 79dbe5fc20978c6d3d4252c368764685adccdd72 # Parent 6e0521bb085302356f7162c7031bd88f0f34d245# Parent 1cb5f84cb6445388b5031078c93826e9d9ddf87d propagate from branch 'im.pidgin.pidgin' (head 671cfe949215447db0da7081a7e1501693ab4f98) to branch 'im.pidgin.soc.2007.certmgr' (head 32fa8216700560f0b249af58a4bad103e214aa3f) diff -r 6e0521bb0853 -r 79dbe5fc2097 pidgin/gtkconv.c --- a/pidgin/gtkconv.c Sat Aug 18 20:00:26 2007 +0000 +++ b/pidgin/gtkconv.c Mon Aug 20 02:49:47 2007 +0000 @@ -7805,25 +7805,20 @@ if (e->button == 3) { /* Right click was pressed. Popup the Send To menu. */ GtkWidget *menu = gtk_menu_new(), *sub; + gboolean populated = populate_menu_with_options(menu, gtkconv, TRUE); sub = gtk_menu_item_get_submenu(GTK_MENU_ITEM(gtkconv->win->menu.send_to)); - if (populate_menu_with_options(menu, gtkconv, TRUE)) - pidgin_separator(menu); - else if (!sub || - !GTK_WIDGET_IS_SENSITIVE(gtkconv->win->menu.send_to)) { - gtk_widget_destroy(menu); - return FALSE; - } else { - menu = sub; - sub = NULL; - } - - if (sub) { + if (sub && GTK_WIDGET_IS_SENSITIVE(gtkconv->win->menu.send_to)) { GtkWidget *item = gtk_menu_item_new_with_mnemonic(_("_Send To")); + if (populated) + pidgin_separator(menu); gtk_menu_shell_append(GTK_MENU_SHELL(menu), item); gtk_menu_item_set_submenu(GTK_MENU_ITEM(item), sub); gtk_widget_show(item); gtk_widget_show_all(sub); + } else if (!populated) { + gtk_widget_destroy(menu); + return FALSE; } gtk_widget_show_all(menu); diff -r 6e0521bb0853 -r 79dbe5fc2097 pidgin/gtkdialogs.c --- a/pidgin/gtkdialogs.c Sat Aug 18 20:00:26 2007 +0000 +++ b/pidgin/gtkdialogs.c Mon Aug 20 02:49:47 2007 +0000 @@ -301,7 +301,7 @@ context = gtk_widget_get_pango_context(widget); layout = pango_layout_new(context); - markup = g_strdup_printf("%s", VERSION); + markup = g_strdup_printf("%s", VERSION); pango_layout_set_font_description(layout, style->font_desc); pango_layout_set_markup(layout, markup, strlen(markup)); g_free(markup); diff -r 6e0521bb0853 -r 79dbe5fc2097 pidgin/gtkstatusbox.c --- a/pidgin/gtkstatusbox.c Sat Aug 18 20:00:26 2007 +0000 +++ b/pidgin/gtkstatusbox.c Mon Aug 20 02:49:47 2007 +0000 @@ -788,7 +788,8 @@ primitive = purple_savedstatus_get_type(saved_status); if (!status_box->token_status_account && purple_savedstatus_is_transient(saved_status) && ((primitive == PURPLE_STATUS_AVAILABLE) || (primitive == PURPLE_STATUS_AWAY) || - (primitive == PURPLE_STATUS_INVISIBLE) || (primitive == PURPLE_STATUS_OFFLINE)) && + (primitive == PURPLE_STATUS_INVISIBLE) || (primitive == PURPLE_STATUS_OFFLINE) || + (primitive == PURPLE_STATUS_UNAVAILABLE)) && (!purple_savedstatus_has_substatuses(saved_status))) { index = get_statusbox_index(status_box, saved_status); @@ -2562,24 +2563,23 @@ static gint get_statusbox_index(PidginStatusBox *box, PurpleSavedStatus *saved_status) { - gint index; + gint index = -1; switch (purple_savedstatus_get_type(saved_status)) { - case PURPLE_STATUS_AVAILABLE: - index = 0; - break; + /* In reverse order */ + case PURPLE_STATUS_OFFLINE: + index++; + case PURPLE_STATUS_INVISIBLE: + index++; + case PURPLE_STATUS_UNAVAILABLE: + index++; case PURPLE_STATUS_AWAY: - index = 1; - break; - case PURPLE_STATUS_INVISIBLE: - index = 2; - break; - case PURPLE_STATUS_OFFLINE: - index = 3; + index++; + case PURPLE_STATUS_AVAILABLE: + index++; break; default: - index = -1; break; }