diff options
Diffstat (limited to 'pidgin/gtksavedstatuses.c')
-rw-r--r-- | pidgin/gtksavedstatuses.c | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/pidgin/gtksavedstatuses.c b/pidgin/gtksavedstatuses.c index b8d518f98d..5322e9cd70 100644 --- a/pidgin/gtksavedstatuses.c +++ b/pidgin/gtksavedstatuses.c @@ -63,7 +63,7 @@ enum }; /** - * These is used for the GtkTreeView containing the list of accounts + * These are used for the GtkTreeView containing the list of accounts * at the bottom of the window when you're editing a particular * saved status. */ @@ -898,6 +898,12 @@ create_status_type_menu(PurpleStatusPrimitive type) for (i = PURPLE_STATUS_UNSET + 1; i < PURPLE_STATUS_NUM_PRIMITIVES; i++) { + if (i == PURPLE_STATUS_MOBILE || i == PURPLE_STATUS_TUNE) + /* + * Special-case these. They're intended to be independent + * status types, so don't show them in the list. + */ + continue; item = gtk_menu_item_new_with_label(purple_primitive_get_name_from_type(i)); gtk_menu_shell_append(GTK_MENU_SHELL(menu), item); } @@ -1588,8 +1594,12 @@ edit_substatus(StatusEditor *status_editor, PurpleAccount *account) status_type = list->data; - /* Only allow users to select statuses that are flagged as "user settable" */ - if (!purple_status_type_is_user_settable(status_type)) + /* + * Only allow users to select statuses that are flagged as + * "user settable" and that aren't independent. + */ + if (!purple_status_type_is_user_settable(status_type) || + purple_status_type_is_independent(status_type)) continue; id = purple_status_type_get_id(status_type); |