diff -Nru unity-control-center-14.04.3+14.04.20140317/debian/changelog unity-control-center-14.04.3+14.04.20140319/debian/changelog --- unity-control-center-14.04.3+14.04.20140317/debian/changelog 2014-03-19 14:50:23.000000000 +0000 +++ unity-control-center-14.04.3+14.04.20140319/debian/changelog 2014-03-19 14:50:23.000000000 +0000 @@ -1,3 +1,20 @@ +unity-control-center (14.04.3+14.04.20140319-0ubuntu1) trusty; urgency=low + + [ Sebastien Bacher ] + * users: set the change password button to inactive by default (LP: + #1290808) + * users: don't make accountsservice calls when not needed (LP: + #1293705) + * users: don't display the ecryptfs-verify output on stdout + + -- Ubuntu daily release Wed, 19 Mar 2014 14:43:40 +0000 + +unity-control-center (14.04.3+14.04.20140317-0ubuntu2) trusty; urgency=low + + * Disable the input/output bar when no input/output devices (LP: #1291862) + + -- Bin Li Mon, 18 Mar 2014 12:11:03 +0800 + unity-control-center (14.04.3+14.04.20140317-0ubuntu1) trusty; urgency=low [ Robert Ancell ] diff -Nru unity-control-center-14.04.3+14.04.20140317/panels/sound/gvc-mixer-dialog.c unity-control-center-14.04.3+14.04.20140319/panels/sound/gvc-mixer-dialog.c --- unity-control-center-14.04.3+14.04.20140317/panels/sound/gvc-mixer-dialog.c 2014-03-17 13:46:34.000000000 +0000 +++ unity-control-center-14.04.3+14.04.20140319/panels/sound/gvc-mixer-dialog.c 2014-03-19 14:43:28.000000000 +0000 @@ -727,7 +727,11 @@ model = gtk_tree_view_get_model (GTK_TREE_VIEW (dialog->priv->input_treeview)); if (gtk_tree_model_get_iter_first (model, &iter) == FALSE){ - g_warning ("The tree is empty => we have no devices so cannot set the active input"); + /* When there are no device we need disable the input bar and set the original name */ + gtk_label_set_label (GTK_LABEL(dialog->priv->selected_input_label), + _("Settings for the selected device")); + gtk_widget_set_sensitive (dialog->priv->input_bar, FALSE); + g_debug ("The tree is empty => we have no devices so cannot set the active input"); return; } @@ -850,7 +854,11 @@ model = gtk_tree_view_get_model (GTK_TREE_VIEW (dialog->priv->output_treeview)); if (gtk_tree_model_get_iter_first (model, &iter) == FALSE){ - g_warning ("The tree is empty => we have no devices in the tree => cannot set the active output"); + /* When there are no device we need disable the output bar and set the original name */ + gtk_label_set_label (GTK_LABEL(dialog->priv->selected_output_label), + _("Settings for the selected device")); + gtk_widget_set_sensitive (dialog->priv->output_bar, FALSE); + g_debug ("The tree is empty => we have no devices in the tree => cannot set the active output"); return; } @@ -1398,6 +1406,7 @@ GvcMixerDialog *dialog) { GtkWidget *bar; + gboolean is_last_device; gboolean found; GtkTreeIter iter; GtkTreeModel *model; @@ -1421,6 +1430,11 @@ if (found) { gtk_list_store_remove (GTK_LIST_STORE (model), &iter); } + + /* Disable output bar when all output devices removed */ + is_last_device = !gtk_tree_model_get_iter_first (model, &iter); + if (is_last_device) + active_output_update (dialog, out); } @@ -1432,6 +1446,7 @@ { GtkWidget *bar; gboolean found; + gboolean is_last_device; GtkTreeIter iter; GtkTreeModel *model; @@ -1454,6 +1469,11 @@ if (found) { gtk_list_store_remove (GTK_LIST_STORE (model), &iter); } + + /* Disable input bar when all input devices removed */ + is_last_device = !gtk_tree_model_get_iter_first (model, &iter); + if (is_last_device) + active_input_update (dialog, in); } static void diff -Nru unity-control-center-14.04.3+14.04.20140317/panels/user-accounts/um-password-dialog.c unity-control-center-14.04.3+14.04.20140319/panels/user-accounts/um-password-dialog.c --- unity-control-center-14.04.3+14.04.20140317/panels/user-accounts/um-password-dialog.c 2014-03-17 13:46:02.000000000 +0000 +++ unity-control-center-14.04.3+14.04.20140319/panels/user-accounts/um-password-dialog.c 2014-03-19 14:43:12.000000000 +0000 @@ -233,7 +233,6 @@ switch (mode) { case UM_PASSWORD_DIALOG_MODE_NORMAL: - act_user_set_password_mode (um->user, ACT_USER_PASSWORD_MODE_REGULAR); if (act_user_get_uid (um->user) == getuid ()) { GdkDisplay *display; GdkCursor *cursor; @@ -253,6 +252,7 @@ return; } + act_user_set_password_mode (um->user, ACT_USER_PASSWORD_MODE_REGULAR); act_user_set_password (um->user, password, hint); break; @@ -297,8 +297,10 @@ /* Don't update the password strength if we didn't enter anything */ if (password && *password == '\0' && verify && *verify == '\0' && - old_password && *old_password == '\0') + old_password && *old_password == '\0') { + gtk_widget_set_sensitive (um->ok_button, FALSE); return; + } strength_level = update_password_strength (um); diff -Nru unity-control-center-14.04.3+14.04.20140317/panels/user-accounts/um-utils.c unity-control-center-14.04.3+14.04.20140319/panels/user-accounts/um-utils.c --- unity-control-center-14.04.3+14.04.20140317/panels/user-accounts/um-utils.c 2014-03-17 13:46:02.000000000 +0000 +++ unity-control-center-14.04.3+14.04.20140319/panels/user-accounts/um-utils.c 2014-03-19 14:43:20.000000000 +0000 @@ -777,18 +777,20 @@ int status; gchar *prog; gchar *cmd; + gchar *nostdout = NULL; prog = g_find_program_in_path ("ecryptfs-verify"); if (prog != NULL) { gchar *cmd = g_strdup_printf("'%s' -h -u '%s'", prog, name); - if (g_spawn_command_line_sync (cmd, NULL, NULL, &status, NULL)) { + if (g_spawn_command_line_sync (cmd, &nostdout, NULL, &status, NULL)) { if (status == 0) using_ecryptfs = TRUE; } g_free (prog); g_free (cmd); + g_free (nostdout); } return using_ecryptfs;