--- Begin Message ---
- To: Debian Bug Tracking System <submit@bugs.debian.org>
- Subject: bookworm-pu: package gnome-control-center/1:43.6-2~deb12u1
- From: Simon McVittie <smcv@debian.org>
- Date: Wed, 21 Jun 2023 11:08:56 +0100
- Message-id: <ZJLMOM2w8uKmqEUv@tautology.pseudorandom.co.uk>
Package: release.debian.org
Severity: normal
Tags: bookworm
User: release.debian.org@packages.debian.org
Usertags: pu
X-Debbugs-Cc: gnome-control-center@packages.debian.org
Control: affects -1 + src:gnome-control-center
[ Reason ]
New upstream stable release
[ Impact ]
Fixes several upstream bugs, which I would classify as severity normal
to important in Debian terms.
[ Tests ]
A package functionally equivalent to the proposed version is in unstable
and testing, without apparent regressions.
Manual test: I upgraded a desktop system to the proposed version and
navigated through various preferences panels, with no apparent issues.
I haven't attempted to reproduce any specific bugs.
[ Risks ]
This is a key package, part of our default desktop environment.
If there are regressions, then I would expect them to be of a magnitude
similar to the issues fixed in this version.
[ Checklist ]
[x] *all* changes are documented in the d/changelog
[x] I reviewed all changes and I approve them
[x] attach debdiff against the package in (old)stable
[x] the issue is verified as fixed in unstable
[ Changes ]
panels/display/cc-display-config-dbus.c:
- Stop listing displays in the reverse of the intended order
(gnome-control-center#2334 upstream)
panels/display/cc-display-settings.c:
- Add 32:9 as a well-known aspect ratio
panels/network/connection-editor/net-connection-editor.c:
- Fix a use-after-free crash when editing network connections
panels/thunderbolt/cc-bolt-panel.c:
- Fix a crash when cancelling authentication for Thunderbolt
panels/user-accounts/cc-add-user-dialog.ui:
- Remove a duplicate property from the "add user" UI
panels/user-accounts/cc-avatar-chooser.c:
- Automatically close user avatar chooser before showing file
chooser (gnome-control-center#2315 upstream)
- Fix an assertion failure when cropping an avatar
panels/user-accounts/cc-crop-area.c:
- Restore the default cursor when leaving the dialog to crop an
avatar (gnome-control-center#2359 upstream)
panels/user-accounts/cc-user-panel.c:
- Fix an assertion failure when activating the Users panel
(gnome-control-center#2219 upstream)
- Don't access User objects before they are fully loaded
(gnome-control-center#2348, #2349 upstream)
panels/user-accounts/user-utils.c:
- Don't allow commas in users' "real name" field, because the GECOS
encoding in /etc/passwd cannot represent those
(gnome-control-center#888 upstream)
panels/wwan/cc-wwan-data.c:
- Populate list of previous WWAN (Mobile Network) connections more
reliably, avoiding creation of duplicate connections in
NetworkManager (gnome-control-center#1468 upstream)
... and there are also translation updates, which I've filtered out of the
diff because they're rather large.
debdiff *.dsc | filterdiff -p1 -x'debian/patches/*.patch' -x'po/*.po'
diffstat for gnome-control-center-43.4.1 gnome-control-center-43.6
NEWS | 20
debian/changelog | 45
debian/patches/build-Look-for-snapd-glib-2.patch | 2
debian/patches/keyboard-Allow-disabling-alternate-characters-key.patch | 2
debian/watch | 2
meson.build | 2
panels/display/cc-display-config-dbus.c | 2
panels/display/cc-display-settings.c | 3
panels/network/connection-editor/net-connection-editor.c | 2
panels/thunderbolt/cc-bolt-panel.c | 7
panels/user-accounts/cc-add-user-dialog.ui | 1
panels/user-accounts/cc-avatar-chooser.c | 3
panels/user-accounts/cc-crop-area.c | 14
panels/user-accounts/cc-user-panel.c | 39
panels/user-accounts/user-utils.c | 10
panels/wwan/cc-wwan-data.c | 35
po/LINGUAS | 1
po/ab.po | 4401 ++++
po/ca.po | 4858 ++---
po/fo.po | 9310 ++++++++++
po/fr.po | 6692 ++++---
po/hu.po | 633
22 files changed, 20390 insertions(+), 5694 deletions(-)
diff -Nru gnome-control-center-43.4.1/debian/changelog gnome-control-center-43.6/debian/changelog
--- gnome-control-center-43.4.1/debian/changelog 2023-02-14 16:08:53.000000000 +0000
+++ gnome-control-center-43.6/debian/changelog 2023-06-15 11:35:10.000000000 +0100
@@ -1,3 +1,48 @@
+gnome-control-center (1:43.6-2~deb12u1) bookworm; urgency=medium
+
+ * Team upload
+ * Rebuild for bookworm
+
+ -- Simon McVittie <smcv@debian.org> Thu, 15 Jun 2023 11:35:10 +0100
+
+gnome-control-center (1:43.6-2) unstable; urgency=medium
+
+ * Team upload
+ * Expand previous changelog entry to include more details of the
+ upstream changes
+
+ -- Simon McVittie <smcv@debian.org> Tue, 13 Jun 2023 09:40:29 +0100
+
+gnome-control-center (1:43.6-1) unstable; urgency=medium
+
+ * New upstream bugfix release 43.5
+ - Populate list of previous WWAN (Mobile Network) connetions more
+ reliably, avoiding creation of duplicate connections in
+ NetworkManager (gnome-control-center#1468 upstream)
+ - Stop listing displays in the reverse of the intended order
+ - Add 32:9 as a well-known aspect ratio
+ (gnome-control-center#2334 upstream)
+ - Fix an assertion failure when activating the Users panel
+ (gnome-control-center#2219 upstream)
+ - Don't access User objects before they are fully loaded
+ (gnome-control-center#2348, #2349 upstream)
+ - Fix an assertion failure when cropping an avatar
+ - Don't allow commas in users' "real name" field, because the GECOS
+ encoding in /etc/passwd cannot represent those
+ (gnome-control-center#888 upstream)
+ - Automatically close user avatar chooser before showing file
+ chooser (gnome-control-center#2315 upstream)
+ - Restore the default cursor when leaving the dialog to crop an
+ avatar (gnome-control-center#2359 upstream)
+ - Fix a crash when cancelling authentication for Thunderbolt
+ - Remove a duplicate property from the "add user" UI
+ - Translation updates: ca, fr, hu
+ * New upstream bugfix release 43.6
+ - Fix a use-after-free crash when editing network connections
+ - Translation updates: ab, hu; add fo
+
+ -- Jeremy Bícha <jbicha@ubuntu.com> Mon, 29 May 2023 15:21:14 -0400
+
gnome-control-center (1:43.4.1-1) unstable; urgency=medium
* New upstream release
diff -Nru gnome-control-center-43.4.1/debian/watch gnome-control-center-43.6/debian/watch
--- gnome-control-center-43.4.1/debian/watch 2023-02-14 16:08:53.000000000 +0000
+++ gnome-control-center-43.6/debian/watch 2023-06-15 11:35:10.000000000 +0100
@@ -1,4 +1,4 @@
version=4
opts="searchmode=plain, uversionmangle=s/\.(alpha|beta|rc)/~$1/, downloadurlmangle=s|cache.json||" \
https://download.gnome.org/sources/@PACKAGE@/cache.json \
- [\d.]+/@PACKAGE@-([\d.]+)@ARCHIVE_EXT@
+ 43/@PACKAGE@-([\d.]+)@ARCHIVE_EXT@
diff -Nru gnome-control-center-43.4.1/meson.build gnome-control-center-43.6/meson.build
--- gnome-control-center-43.4.1/meson.build 2023-06-21 10:47:27.000000000 +0100
+++ gnome-control-center-43.6/meson.build 2023-06-21 10:47:28.000000000 +0100
@@ -1,6 +1,6 @@
project(
'gnome-control-center', 'c',
- version : '43.4.1',
+ version : '43.6',
license : 'GPL2+',
meson_version : '>= 0.57.0'
)
diff -Nru gnome-control-center-43.4.1/NEWS gnome-control-center-43.6/NEWS
--- gnome-control-center-43.4.1/NEWS 2023-02-12 21:17:19.000000000 +0000
+++ gnome-control-center-43.6/NEWS 2023-05-26 04:57:33.000000000 +0100
@@ -1,4 +1,24 @@
================
+Version 43.6
+================
+
+- Updated translations
+
+Network
+ - Fix crash when removing a connection
+
+================
+Version 43.5
+================
+
+ - Various fixes regarding updating the Cellular panel
+ - Fix order of monitors in display settings
+ - Add 32:9 to the known aspect ratios in display settings
+ - Fix behavior of User avatar chooser popover and file chooser
+ - Fix access to AccountsService object before loading
+ - Updated translations
+
+================
Version 43.4
================
diff -Nru gnome-control-center-43.4.1/panels/display/cc-display-config-dbus.c gnome-control-center-43.6/panels/display/cc-display-config-dbus.c
--- gnome-control-center-43.4.1/panels/display/cc-display-config-dbus.c 2023-02-12 21:17:19.000000000 +0000
+++ gnome-control-center-43.6/panels/display/cc-display-config-dbus.c 2023-05-26 04:57:33.000000000 +0100
@@ -1680,6 +1680,8 @@
self, G_CONNECT_SWAPPED);
}
+ self->monitors = g_list_reverse (self->monitors);
+
while (TRUE)
{
g_autoptr(GVariant) variant = NULL;
diff -Nru gnome-control-center-43.4.1/panels/display/cc-display-settings.c gnome-control-center-43.6/panels/display/cc-display-settings.c
--- gnome-control-center-43.4.1/panels/display/cc-display-settings.c 2023-02-12 21:17:19.000000000 +0000
+++ gnome-control-center-43.6/panels/display/cc-display-settings.c 2023-05-26 04:57:33.000000000 +0100
@@ -152,6 +152,9 @@
case 23:
aspect = "21∶9";
break;
+ case 35:
+ aspect = "32∶9";
+ break;
case 12:
aspect = "5∶4";
break;
diff -Nru gnome-control-center-43.4.1/panels/network/connection-editor/net-connection-editor.c gnome-control-center-43.6/panels/network/connection-editor/net-connection-editor.c
--- gnome-control-center-43.4.1/panels/network/connection-editor/net-connection-editor.c 2023-02-12 21:17:19.000000000 +0000
+++ gnome-control-center-43.6/panels/network/connection-editor/net-connection-editor.c 2023-05-26 04:57:33.000000000 +0100
@@ -81,8 +81,8 @@
static void
cancel_editing (NetConnectionEditor *self)
{
- gtk_window_destroy (GTK_WINDOW (self));
g_signal_emit (self, signals[DONE], 0, FALSE);
+ gtk_window_destroy (GTK_WINDOW (self));
}
static void
diff -Nru gnome-control-center-43.4.1/panels/thunderbolt/cc-bolt-panel.c gnome-control-center-43.6/panels/thunderbolt/cc-bolt-panel.c
--- gnome-control-center-43.4.1/panels/thunderbolt/cc-bolt-panel.c 2023-02-12 21:17:19.000000000 +0000
+++ gnome-control-center-43.6/panels/thunderbolt/cc-bolt-panel.c 2023-05-26 04:57:33.000000000 +0100
@@ -601,7 +601,7 @@
gpointer user_data)
{
g_autoptr(GError) error = NULL;
- CcBoltPanel *panel = CC_BOLT_PANEL (user_data);
+ CcBoltPanel *panel;
gboolean ok;
ok = bolt_client_set_authmode_finish (BOLT_CLIENT (source_object), res, &error);
@@ -611,6 +611,10 @@
g_warning ("Could not set authmode: %s", error->message);
+ if (g_error_matches (error, G_IO_ERROR, G_IO_ERROR_CANCELLED))
+ return;
+
+ panel = CC_BOLT_PANEL (user_data);
text = g_strdup_printf (_("Error switching direct mode: %s"), error->message);
gtk_label_set_markup (panel->notification_label, text);
gtk_revealer_set_reveal_child (panel->notification_revealer, TRUE);
@@ -619,6 +623,7 @@
cc_bolt_panel_authmode_sync (panel);
}
+ panel = CC_BOLT_PANEL (user_data);
gtk_spinner_stop (panel->authmode_spinner);
gtk_widget_set_sensitive (GTK_WIDGET (panel->authmode_switch), TRUE);
}
diff -Nru gnome-control-center-43.4.1/panels/user-accounts/cc-add-user-dialog.ui gnome-control-center-43.6/panels/user-accounts/cc-add-user-dialog.ui
--- gnome-control-center-43.4.1/panels/user-accounts/cc-add-user-dialog.ui 2023-02-12 21:17:19.000000000 +0000
+++ gnome-control-center-43.6/panels/user-accounts/cc-add-user-dialog.ui 2023-05-26 04:57:33.000000000 +0100
@@ -162,7 +162,6 @@
<child type="prefix">
<object class="GtkCheckButton" id="local_password_radio">
<property name="valign">center</property>
- <property name="group">local_password_login_radio</property>
<property name="use_underline">True</property>
<property name="group">local_password_login_radio</property>
<signal name="toggled" handler="local_password_radio_changed_cb" object="CcAddUserDialog" swapped="yes"/>
diff -Nru gnome-control-center-43.4.1/panels/user-accounts/cc-avatar-chooser.c gnome-control-center-43.6/panels/user-accounts/cc-avatar-chooser.c
--- gnome-control-center-43.4.1/panels/user-accounts/cc-avatar-chooser.c 2023-02-12 21:17:19.000000000 +0000
+++ gnome-control-center-43.6/panels/user-accounts/cc-avatar-chooser.c 2023-05-26 04:57:33.000000000 +0100
@@ -89,7 +89,7 @@
GtkWidget *dialog;
GtkWindow *toplevel;
- toplevel = (GtkWindow *)gtk_widget_get_native (GTK_WIDGET (self));
+ toplevel = (GtkWindow *)gtk_widget_get_native (GTK_WIDGET (self->transient_for));
dialog = gtk_dialog_new_with_buttons ("",
toplevel,
GTK_DIALOG_USE_HEADER_BAR,
@@ -183,6 +183,7 @@
g_signal_connect_object (chooser, "response",
G_CALLBACK (file_chooser_response), self, G_CONNECT_SWAPPED);
+ gtk_popover_popdown (GTK_POPOVER (self));
gtk_window_present (GTK_WINDOW (chooser));
}
diff -Nru gnome-control-center-43.4.1/panels/user-accounts/cc-crop-area.c gnome-control-center-43.6/panels/user-accounts/cc-crop-area.c
--- gnome-control-center-43.4.1/panels/user-accounts/cc-crop-area.c 2023-02-12 21:17:19.000000000 +0000
+++ gnome-control-center-43.6/panels/user-accounts/cc-crop-area.c 2023-05-26 04:57:33.000000000 +0100
@@ -273,6 +273,19 @@
}
static void
+on_leave (GtkEventControllerMotion *controller,
+ void *user_data)
+{
+ CcCropArea *area = CC_CROP_AREA (user_data);
+
+ if (area->paintable == NULL)
+ return;
+
+ /* Restore 'default' cursor */
+ update_cursor (area, 0, 0);
+}
+
+static void
on_drag_begin (GtkGestureDrag *gesture,
double start_x,
double start_y,
@@ -585,6 +598,7 @@
/* Add handlers for motion events */
controller = gtk_event_controller_motion_new ();
g_signal_connect (controller, "motion", G_CALLBACK (on_motion), area);
+ g_signal_connect (controller, "leave", G_CALLBACK (on_leave), area);
gtk_widget_add_controller (GTK_WIDGET (area), GTK_EVENT_CONTROLLER (controller));
area->scale = 0.0;
diff -Nru gnome-control-center-43.4.1/panels/user-accounts/cc-user-panel.c gnome-control-center-43.6/panels/user-accounts/cc-user-panel.c
--- gnome-control-center-43.4.1/panels/user-accounts/cc-user-panel.c 2023-02-12 21:17:19.000000000 +0000
+++ gnome-control-center-43.6/panels/user-accounts/cc-user-panel.c 2023-05-26 04:57:33.000000000 +0100
@@ -102,6 +102,7 @@
GtkOverlay *users_overlay;
ActUser *selected_user;
+ ActUser *pending_show_user;
GPermission *permission;
CcLanguageChooser *language_chooser;
GListStore *other_users_model;
@@ -818,6 +819,18 @@
}
static void
+on_pending_show_user_is_loaded (ActUser *user,
+ GParamSpec *param,
+ CcUserPanel *self)
+{
+ if (!act_user_is_loaded (user)) {
+ return;
+ }
+
+ show_user (user, self);
+}
+
+static void
show_user (ActUser *user, CcUserPanel *self)
{
g_autofree gchar *lang = NULL;
@@ -828,6 +841,23 @@
g_autofree gchar *malcontent_control_path = NULL;
#endif
+ if (self->pending_show_user != NULL) {
+ g_signal_handlers_disconnect_by_func (G_OBJECT (self->pending_show_user),
+ on_pending_show_user_is_loaded,
+ self);
+ g_clear_object (&self->pending_show_user);
+ }
+
+ if (!act_user_is_loaded (user)) {
+ g_set_object (&self->pending_show_user, user);
+ g_signal_connect_object (G_OBJECT (self->pending_show_user),
+ "notify::is-loaded",
+ G_CALLBACK (on_pending_show_user_is_loaded),
+ self,
+ 0);
+ return;
+ }
+
g_set_object (&self->selected_user, user);
setup_avatar_for_user (self->user_avatar, user);
@@ -1408,6 +1438,10 @@
gtk_widget_set_tooltip_text (GTK_WIDGET (self->remove_user_button),
_("To delete the selected user account,\nclick the * icon first"));
+ self->avatar_chooser = cc_avatar_chooser_new (GTK_WIDGET (self));
+ gtk_menu_button_set_popover (self->user_avatar_edit_button,
+ GTK_WIDGET (self->avatar_chooser));
+
g_object_get (self->um, "is-loaded", &loaded, NULL);
if (loaded) {
users_loaded (self);
@@ -1415,10 +1449,6 @@
} else {
g_signal_connect_object (self->um, "notify::is-loaded", G_CALLBACK (users_loaded), self, G_CONNECT_SWAPPED);
}
-
- self->avatar_chooser = cc_avatar_chooser_new (GTK_WIDGET (self));
- gtk_menu_button_set_popover (self->user_avatar_edit_button,
- GTK_WIDGET (self->avatar_chooser));
}
static GSettings *
@@ -1492,6 +1522,7 @@
CcUserPanel *self = CC_USER_PANEL (object);
g_clear_object (&self->selected_user);
+ g_clear_object (&self->pending_show_user);
g_clear_object (&self->login_screen_settings);
g_clear_pointer ((GtkWindow **)&self->language_chooser, gtk_window_destroy);
g_clear_object (&self->permission);
diff -Nru gnome-control-center-43.4.1/panels/user-accounts/user-utils.c gnome-control-center-43.6/panels/user-accounts/user-utils.c
--- gnome-control-center-43.4.1/panels/user-accounts/user-utils.c 2023-02-12 21:17:19.000000000 +0000
+++ gnome-control-center-43.6/panels/user-accounts/user-utils.c 2023-05-26 04:57:33.000000000 +0100
@@ -71,6 +71,7 @@
is_valid_name (const gchar *name)
{
gboolean is_empty = TRUE;
+ gboolean found_comma = FALSE;
const gchar *c;
if (name == NULL)
@@ -79,6 +80,7 @@
/* Valid names must contain:
* 1) at least one character.
* 2) at least one non-"space" character.
+ * 3) comma character not allowed. Issue #888
*/
for (c = name; *c; c++) {
gunichar unichar;
@@ -90,13 +92,17 @@
break;
/* Check for non-space character */
- if (!g_unichar_isspace (unichar)) {
+ if (is_empty && !g_unichar_isspace (unichar)) {
is_empty = FALSE;
+ }
+
+ if (unichar == ',') {
+ found_comma = TRUE;
break;
}
}
- return !is_empty;
+ return !is_empty && !found_comma;
}
typedef struct {
diff -Nru gnome-control-center-43.4.1/panels/wwan/cc-wwan-data.c gnome-control-center-43.6/panels/wwan/cc-wwan-data.c
--- gnome-control-center-43.4.1/panels/wwan/cc-wwan-data.c 2023-02-12 21:17:19.000000000 +0000
+++ gnome-control-center-43.6/panels/wwan/cc-wwan-data.c 2023-05-26 04:57:33.000000000 +0100
@@ -90,6 +90,7 @@
gint priority;
gboolean data_enabled; /* autoconnect enabled */
gboolean home_only; /* Data roaming */
+ gboolean apn_list_updated; /* APN list updated from mobile-provider-info */
};
G_DEFINE_TYPE (CcWwanData, cc_wwan_data, G_TYPE_OBJECT)
@@ -277,7 +278,7 @@
g_autoptr(GError) error = NULL;
guint i = 0;
- if (!self->sim || !self->operator_code)
+ if (!self->sim || !self->operator_code || self->apn_list_updated)
return;
if (!self->apn_list)
@@ -299,6 +300,8 @@
if (self->apn_provider)
apn_methods = nma_mobile_provider_get_methods (self->apn_provider);
+ self->apn_list_updated = TRUE;
+
for (l = apn_methods; l; l = l->next, i++)
{
g_autoptr(CcWwanDataApn) apn = NULL;
@@ -313,6 +316,7 @@
if (!apn)
{
apn = cc_wwan_data_apn_new ();
+ apn->access_method = l->data;
g_list_store_insert (self->apn_list, i, apn);
}
@@ -326,7 +330,8 @@
const GPtrArray *nm_connections;
guint i;
- if (self->apn_list || !self->sim)
+ if (self->apn_list || !self->sim || !self->nm_device ||
+ nm_device_get_state (self->nm_device) <= NM_DEVICE_STATE_UNAVAILABLE)
return;
if (!self->apn_list)
@@ -381,6 +386,25 @@
}
static void
+wwan_device_3gpp_operator_code_changd_cb (CcWwanData *self)
+{
+ MMModem3gpp *modem_3gpp;
+
+ modem_3gpp = mm_object_peek_modem_3gpp (self->mm_object);
+
+ if (!self->operator_code)
+ {
+ self->operator_code = mm_modem_3gpp_dup_operator_code (modem_3gpp);
+
+ if (self->operator_code)
+ {
+ wwan_data_update_apn_list (self);
+ wwan_data_update_apn_list_db (self);
+ }
+ }
+}
+
+static void
cc_wwan_data_get_property (GObject *object,
guint prop_id,
GValue *value,
@@ -506,7 +530,12 @@
modem_3gpp = mm_object_peek_modem_3gpp (mm_object);
if (modem_3gpp)
- self->operator_code = mm_modem_3gpp_dup_operator_code (modem_3gpp);
+ {
+ g_signal_connect_object (modem_3gpp, "notify::operator-code",
+ G_CALLBACK (wwan_device_3gpp_operator_code_changd_cb),
+ self, G_CONNECT_SWAPPED);
+ wwan_device_3gpp_operator_code_changd_cb (self);
+ }
}
if (self->active_connection)
diff -Nru gnome-control-center-43.4.1/po/LINGUAS gnome-control-center-43.6/po/LINGUAS
--- gnome-control-center-43.4.1/po/LINGUAS 2023-02-12 21:17:19.000000000 +0000
+++ gnome-control-center-43.6/po/LINGUAS 2023-05-26 04:57:33.000000000 +0100
@@ -33,6 +33,7 @@
eu
fa
fi
+fo
fr
fur
ga
--- End Message ---