aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorpsykose <alice@ayaya.dev>2023-05-27 03:31:03 +0000
committerpsykose <alice@ayaya.dev>2023-05-27 05:31:03 +0200
commit700c408a2d98dab9ff4984288784ec5777e535c5 (patch)
tree8b58561654810428c401a2f4e3b0d5e7b98b20a5
parente0a9a2f62f4a12383ff1497cbd38dee6eb0f6132 (diff)
community/gnome-control-center: upgrade to 44.2
-rw-r--r--community/gnome-control-center/APKBUILD8
-rw-r--r--community/gnome-control-center/manual-toggle-crash-fix.patch584
2 files changed, 3 insertions, 589 deletions
diff --git a/community/gnome-control-center/APKBUILD b/community/gnome-control-center/APKBUILD
index ba0685778f1..840aff49565 100644
--- a/community/gnome-control-center/APKBUILD
+++ b/community/gnome-control-center/APKBUILD
@@ -2,8 +2,8 @@
# Contributor: Pablo Correa Gomez <ablocorrea@hotmail.com>
# Maintainer: team/gnome <ablocorrea@hotmail.com>
pkgname=gnome-control-center
-pkgver=44.1
-pkgrel=2
+pkgver=44.2
+pkgrel=0
pkgdesc="GNOME control center"
url="https://gitlab.gnome.org/GNOME/gnome-control-center"
arch="all"
@@ -56,7 +56,6 @@ install="$pkgname.pre-install $pkgname.pre-upgrade"
subpackages="$pkgname-dbg $pkgname-dev $pkgname-lang $pkgname-doc $pkgname-bash-completion"
source="https://download.gnome.org/sources/gnome-control-center/${pkgver%.*}/gnome-control-center-$pkgver.tar.xz
README.alpine
- manual-toggle-crash-fix.patch
removable-media-fit-narrow.patch
"
@@ -84,8 +83,7 @@ package() {
}
sha512sums="
-5718ad42ddbe152bdd6a4fe223f31681d43bb265e19c8b3817c914e8259ea27b12430b243a3690e1b76a1b8c8f6c410f78d444dafca2b8ef93b4f7909b2119bc gnome-control-center-44.1.tar.xz
+cec7d7cf6d5bb91f6b6eedf5bc0f8f380ce6df706d631d880f89f84736cb1621f41696903eb05eb67a4c306d092f37aa45324d381b80e20f0f736c2486682da1 gnome-control-center-44.2.tar.xz
350aa443149c71851ad4de0976c7fc5cb626ba0c57a8d41e6ef80da1c65ed84a4dfa2483ae92630a3b611c4bfa9360ded82b55e8cd0e3907294c025e4f6b1671 README.alpine
-9e51d4152c78b35a9e0f6fb16a381c90aa9ff35a00804748678cb9fab9ee85cf23be78bbbf5705da19b76893837ff5c1e4f6498de47ca2a43f47ba108e670aea manual-toggle-crash-fix.patch
76f31f69c30484ace049551dff17b2bd933cdad43a18604a9e14ee3a26b250548dbba47f3cd73d5319d2bd3093649d5707677cc63f2c2e9fd91ff8a88c008a83 removable-media-fit-narrow.patch
"
diff --git a/community/gnome-control-center/manual-toggle-crash-fix.patch b/community/gnome-control-center/manual-toggle-crash-fix.patch
deleted file mode 100644
index fa42e601842..00000000000
--- a/community/gnome-control-center/manual-toggle-crash-fix.patch
+++ /dev/null
@@ -1,584 +0,0 @@
-From a8c0efde4aa984e7ba7aa024a2736ada6dfe1a35 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Pablo=20Correa=20G=C3=B3mez?= <ablocorrea@hotmail.com>
-Date: Mon, 12 Dec 2022 17:44:51 +0100
-Subject: [PATCH] network: keep track of radio buttons in connection editor
- with action
-
-Hooking to all the toggled signals from all the buttons for executing
-the same action is inneficient, and can potenticall end up in a segmentation
- fault due to some race in the signal emmission, where the active button
- gets deactivated before the clicked button is activated
-
-Looking at the GTK4 code, in a radio group:
-
-- The button which was previously active gets de-activated, emitting its
-corresponding toggled signal.
-- The active property for the clicked button gets set.
-- The clicked button emits its toggled signal.
-
-Therefore, if the first toggle signal gets processed before the active
-property is set, there can be a race condition. We are seeing this downstream
-at pmOS: https://gitlab.com/postmarketOS/pmaports/-/issues/1816
-
-Instead of this racy behavior, follow upstream recommendation and keep track
-of the state through a stateful signal.
----
- .../network/connection-editor/ce-page-ip4.c | 102 ++++++++--------
- .../network/connection-editor/ce-page-ip6.c | 113 ++++++++----------
- panels/network/connection-editor/ip4-page.ui | 14 ++-
- panels/network/connection-editor/ip6-page.ui | 17 ++-
- 4 files changed, 120 insertions(+), 126 deletions(-)
-
-diff --git a/panels/network/connection-editor/ce-page-ip4.c b/panels/network/connection-editor/ce-page-ip4.c
-index 7025fe524e..a58d6480be 100644
---- a/panels/network/connection-editor/ce-page-ip4.c
-+++ b/panels/network/connection-editor/ce-page-ip4.c
-@@ -47,13 +47,10 @@ struct _CEPageIP4
- GtkSizeGroup *address_sizegroup;
- GtkSwitch *auto_dns_switch;
- GtkSwitch *auto_routes_switch;
-- GtkCheckButton *automatic_radio;
- GtkBox *content_box;
- GtkCheckButton *disabled_radio;
- GtkEntry *dns_entry;
-- GtkCheckButton *local_radio;
- GtkGrid *main_box;
-- GtkCheckButton *manual_radio;
- GtkCheckButton *never_default_check;
- GtkLabel *routes_address_label;
- GtkBox *routes_box;
-@@ -68,6 +65,8 @@ struct _CEPageIP4
-
- GtkWidget *address_list;
- GtkWidget *routes_list;
-+
-+ GActionGroup *method_group;
- };
-
- static void ce_page_iface_init (CEPageInterface *);
-@@ -80,30 +79,27 @@ enum {
- METHOD_COL_METHOD
- };
-
--enum {
-- IP4_METHOD_AUTO,
-- IP4_METHOD_MANUAL,
-- IP4_METHOD_LINK_LOCAL,
-- IP4_METHOD_SHARED,
-- IP4_METHOD_DISABLED
--};
--
- static void
- method_changed (CEPageIP4 *self)
- {
- gboolean addr_enabled;
- gboolean dns_enabled;
- gboolean routes_enabled;
-+ g_autoptr(GVariant) method_variant = NULL;
-+ const gchar *method;
-+
-+ method_variant = g_action_group_get_action_state (self->method_group, "ip4method");
-+ method = g_variant_get_string (method_variant, NULL);
-
-- if (gtk_check_button_get_active (GTK_CHECK_BUTTON (self->disabled_radio)) ||
-- gtk_check_button_get_active (GTK_CHECK_BUTTON (self->shared_radio))) {
-+ if (g_str_equal (method, "disabled") ||
-+ g_str_equal (method, "shared")) {
- addr_enabled = FALSE;
- dns_enabled = FALSE;
- routes_enabled = FALSE;
- } else {
-- addr_enabled = gtk_check_button_get_active (GTK_CHECK_BUTTON (self->manual_radio));
-- routes_enabled = !gtk_check_button_get_active (GTK_CHECK_BUTTON (self->local_radio));
-- if (gtk_check_button_get_active (GTK_CHECK_BUTTON (self->local_radio)))
-+ addr_enabled = g_str_equal (method, "manual");
-+ routes_enabled = !g_str_equal (method, "local");
-+ if (g_str_equal (method, "local"))
- dns_enabled = FALSE;
- else
- dns_enabled = !gtk_switch_get_active (self->auto_dns_switch);
-@@ -483,7 +479,7 @@ static void
- connect_ip4_page (CEPageIP4 *self)
- {
- const gchar *str_method;
-- guint method;
-+ gchar *method;
-
- add_address_box (self);
- add_dns_section (self);
-@@ -500,45 +496,22 @@ connect_ip4_page (CEPageIP4 *self)
- self->content_box, "sensitive",
- G_BINDING_SYNC_CREATE | G_BINDING_INVERT_BOOLEAN);
-
-- method = IP4_METHOD_AUTO;
-+ method = "automatic";
- if (g_strcmp0 (str_method, NM_SETTING_IP4_CONFIG_METHOD_LINK_LOCAL) == 0) {
-- method = IP4_METHOD_LINK_LOCAL;
-+ method = "local";
- } else if (g_strcmp0 (str_method, NM_SETTING_IP4_CONFIG_METHOD_MANUAL) == 0) {
-- method = IP4_METHOD_MANUAL;
-+ method = "manual";
- } else if (g_strcmp0 (str_method, NM_SETTING_IP4_CONFIG_METHOD_SHARED) == 0) {
-- method = IP4_METHOD_SHARED;
-+ method = "shared";
- } else if (g_strcmp0 (str_method, NM_SETTING_IP4_CONFIG_METHOD_DISABLED) == 0) {
-- method = IP4_METHOD_DISABLED;
-+ method = "disabled";
- }
-
- gtk_check_button_set_active (GTK_CHECK_BUTTON (self->never_default_check),
- nm_setting_ip_config_get_never_default (self->setting));
- g_signal_connect_object (self->never_default_check, "toggled", G_CALLBACK (ce_page_changed), self, G_CONNECT_SWAPPED);
-
-- g_signal_connect_object (self->automatic_radio, "toggled", G_CALLBACK (method_changed), self, G_CONNECT_SWAPPED);
-- g_signal_connect_object (self->local_radio, "toggled", G_CALLBACK (method_changed), self, G_CONNECT_SWAPPED);
-- g_signal_connect_object (self->manual_radio, "toggled", G_CALLBACK (method_changed), self, G_CONNECT_SWAPPED);
-- g_signal_connect_object (self->disabled_radio, "toggled", G_CALLBACK (method_changed), self, G_CONNECT_SWAPPED);
--
-- switch (method) {
-- case IP4_METHOD_AUTO:
-- gtk_check_button_set_active (GTK_CHECK_BUTTON (self->automatic_radio), TRUE);
-- break;
-- case IP4_METHOD_LINK_LOCAL:
-- gtk_check_button_set_active (GTK_CHECK_BUTTON (self->local_radio), TRUE);
-- break;
-- case IP4_METHOD_MANUAL:
-- gtk_check_button_set_active (GTK_CHECK_BUTTON (self->manual_radio), TRUE);
-- break;
-- case IP4_METHOD_SHARED:
-- gtk_check_button_set_active (GTK_CHECK_BUTTON (self->shared_radio), TRUE);
-- break;
-- case IP4_METHOD_DISABLED:
-- gtk_check_button_set_active (GTK_CHECK_BUTTON (self->disabled_radio), TRUE);
-- break;
-- default:
-- break;
-- }
-+ g_action_group_change_action_state (self->method_group, "ip4method", g_variant_new_string (method));
-
- method_changed (self);
- }
-@@ -547,6 +520,7 @@ static gboolean
- ui_to_setting (CEPageIP4 *self)
- {
- const gchar *method;
-+ g_autoptr(GVariant) method_variant = NULL;
- gboolean ignore_auto_dns;
- gboolean ignore_auto_routes;
- gboolean never_default;
-@@ -562,16 +536,20 @@ ui_to_setting (CEPageIP4 *self)
- gchar *dns_text = NULL;
- guint i;
-
-- if (gtk_check_button_get_active (GTK_CHECK_BUTTON (self->disabled_radio)))
-+ method_variant = g_action_group_get_action_state (self->method_group, "ip4method");
-+ method = g_variant_get_string (method_variant, NULL);
-+ if (g_str_equal (method, "disabled"))
- method = NM_SETTING_IP4_CONFIG_METHOD_DISABLED;
-- else if (gtk_check_button_get_active (GTK_CHECK_BUTTON (self->automatic_radio)))
-+ else if (g_str_equal (method, "automatic"))
- method = NM_SETTING_IP4_CONFIG_METHOD_AUTO;
-- else if (gtk_check_button_get_active (GTK_CHECK_BUTTON (self->local_radio)))
-+ else if (g_str_equal (method, "local"))
- method = NM_SETTING_IP4_CONFIG_METHOD_LINK_LOCAL;
-- else if (gtk_check_button_get_active (GTK_CHECK_BUTTON (self->manual_radio)))
-+ else if (g_str_equal (method, "manual"))
- method = NM_SETTING_IP4_CONFIG_METHOD_MANUAL;
-- else if (gtk_check_button_get_active (GTK_CHECK_BUTTON (self->shared_radio)))
-+ else if (g_str_equal (method, "shared"))
- method = NM_SETTING_IP4_CONFIG_METHOD_SHARED;
-+ else
-+ g_assert_not_reached ();
-
- addresses = g_ptr_array_new_with_free_func ((GDestroyNotify) nm_ip_address_unref);
- add_addresses = g_str_equal (method, NM_SETTING_IP4_CONFIG_METHOD_MANUAL);
-@@ -768,6 +746,17 @@ out:
- return ret;
- }
-
-+static void
-+on_ip4_method_activated_cb (GSimpleAction* action,
-+ GVariant* parameter,
-+ gpointer user_data)
-+{
-+ CEPageIP4 *self = CE_PAGE_IP4 (user_data);
-+ g_simple_action_set_state (action, parameter);
-+
-+ method_changed (self);
-+}
-+
- static const gchar *
- ce_page_ip4_get_title (CEPage *page)
- {
-@@ -788,6 +777,14 @@ ce_page_ip4_validate (CEPage *self,
- static void
- ce_page_ip4_init (CEPageIP4 *self)
- {
-+ const GActionEntry ip4_entries[] = {
-+ { "ip4method", on_ip4_method_activated_cb, "s", "'automatic'", NULL},
-+ };
-+ self->method_group = G_ACTION_GROUP (g_simple_action_group_new ());
-+
-+ g_action_map_add_action_entries (G_ACTION_MAP (self->method_group), ip4_entries, G_N_ELEMENTS (ip4_entries), self);
-+ gtk_widget_insert_action_group (GTK_WIDGET (self), "ip4page", G_ACTION_GROUP (self->method_group));
-+
- gtk_widget_init_template (GTK_WIDGET (self));
- }
-
-@@ -802,13 +799,10 @@ ce_page_ip4_class_init (CEPageIP4Class *klass)
- gtk_widget_class_bind_template_child (widget_class, CEPageIP4, address_sizegroup);
- gtk_widget_class_bind_template_child (widget_class, CEPageIP4, auto_dns_switch);
- gtk_widget_class_bind_template_child (widget_class, CEPageIP4, auto_routes_switch);
-- gtk_widget_class_bind_template_child (widget_class, CEPageIP4, automatic_radio);
- gtk_widget_class_bind_template_child (widget_class, CEPageIP4, content_box);
- gtk_widget_class_bind_template_child (widget_class, CEPageIP4, disabled_radio);
- gtk_widget_class_bind_template_child (widget_class, CEPageIP4, dns_entry);
-- gtk_widget_class_bind_template_child (widget_class, CEPageIP4, local_radio);
- gtk_widget_class_bind_template_child (widget_class, CEPageIP4, main_box);
-- gtk_widget_class_bind_template_child (widget_class, CEPageIP4, manual_radio);
- gtk_widget_class_bind_template_child (widget_class, CEPageIP4, never_default_check);
- gtk_widget_class_bind_template_child (widget_class, CEPageIP4, address_address_label);
- gtk_widget_class_bind_template_child (widget_class, CEPageIP4, address_netmask_label);
-diff --git a/panels/network/connection-editor/ce-page-ip6.c b/panels/network/connection-editor/ce-page-ip6.c
-index ef6ce8b112..2711b4c3e8 100644
---- a/panels/network/connection-editor/ce-page-ip6.c
-+++ b/panels/network/connection-editor/ce-page-ip6.c
-@@ -47,14 +47,10 @@ struct _CEPageIP6
- GtkSizeGroup *address_sizegroup;
- GtkSwitch *auto_dns_switch;
- GtkSwitch *auto_routes_switch;
-- GtkCheckButton *automatic_radio;
- GtkBox *content_box;
-- GtkCheckButton *dhcp_radio;
- GtkCheckButton *disabled_radio;
- GtkEntry *dns_entry;
-- GtkCheckButton *local_radio;
- GtkGrid *main_box;
-- GtkCheckButton *manual_radio;
- GtkCheckButton *never_default_check;
- GtkBox *routes_box;
- GtkLabel *routes_address_label;
-@@ -69,6 +65,8 @@ struct _CEPageIP6
-
- GtkWidget *address_list;
- GtkWidget *routes_list;
-+
-+ GActionGroup *method_group;
- };
-
- static void ce_page_iface_init (CEPageInterface *);
-@@ -81,31 +79,27 @@ enum {
- METHOD_COL_METHOD
- };
-
--enum {
-- IP6_METHOD_AUTO,
-- IP6_METHOD_DHCP,
-- IP6_METHOD_MANUAL,
-- IP6_METHOD_LINK_LOCAL,
-- IP6_METHOD_SHARED,
-- IP6_METHOD_DISABLED
--};
--
- static void
- method_changed (CEPageIP6 *self)
- {
- gboolean addr_enabled;
- gboolean dns_enabled;
- gboolean routes_enabled;
-+ g_autoptr(GVariant) method_variant = NULL;
-+ const gchar *method;
-+
-+ method_variant = g_action_group_get_action_state (self->method_group, "ip6method");
-+ method = g_variant_get_string (method_variant, NULL);
-
-- if (gtk_check_button_get_active (self->disabled_radio) ||
-- gtk_check_button_get_active (self->shared_radio)) {
-+ if (g_str_equal (method, "disabled") ||
-+ g_str_equal (method, "shared")) {
- addr_enabled = FALSE;
- dns_enabled = FALSE;
- routes_enabled = FALSE;
- } else {
-- addr_enabled = gtk_check_button_get_active (self->manual_radio);
-- routes_enabled = !gtk_check_button_get_active (self->local_radio);
-- if (gtk_check_button_get_active (GTK_CHECK_BUTTON (self->local_radio)))
-+ addr_enabled = g_str_equal (method, "manual");
-+ routes_enabled = !g_str_equal (method, "local");
-+ if (g_str_equal (method, "local"))
- dns_enabled = FALSE;
- else
- dns_enabled = !gtk_switch_get_active (self->auto_dns_switch);
-@@ -453,7 +447,7 @@ static void
- connect_ip6_page (CEPageIP6 *self)
- {
- const gchar *str_method;
-- guint method;
-+ gchar *method;
-
- add_address_box (self);
- add_dns_section (self);
-@@ -470,52 +464,25 @@ connect_ip6_page (CEPageIP6 *self)
- self->content_box, "sensitive",
- G_BINDING_SYNC_CREATE | G_BINDING_INVERT_BOOLEAN);
-
-- method = IP6_METHOD_AUTO;
-+ method = "automatic";
- if (g_strcmp0 (str_method, NM_SETTING_IP6_CONFIG_METHOD_DHCP) == 0) {
-- method = IP6_METHOD_DHCP;
-+ method = "dhcp";
- } else if (g_strcmp0 (str_method, NM_SETTING_IP6_CONFIG_METHOD_LINK_LOCAL) == 0) {
-- method = IP6_METHOD_LINK_LOCAL;
-+ method = "local";
- } else if (g_strcmp0 (str_method, NM_SETTING_IP6_CONFIG_METHOD_MANUAL) == 0) {
-- method = IP6_METHOD_MANUAL;
-+ method = "manual";
- } else if (g_strcmp0 (str_method, NM_SETTING_IP6_CONFIG_METHOD_SHARED) == 0) {
-- method = IP6_METHOD_SHARED;
-+ method = "shared";
- } else if (g_strcmp0 (str_method, NM_SETTING_IP6_CONFIG_METHOD_DISABLED) == 0 ||
- g_strcmp0 (str_method, NM_SETTING_IP6_CONFIG_METHOD_IGNORE) == 0) {
-- method = IP6_METHOD_DISABLED;
-+ method = "disabled";
- }
-
- gtk_check_button_set_active (GTK_CHECK_BUTTON (self->never_default_check),
- nm_setting_ip_config_get_never_default (self->setting));
- g_signal_connect_object (self->never_default_check, "toggled", G_CALLBACK (ce_page_changed), self, G_CONNECT_SWAPPED);
-
-- g_signal_connect_object (self->automatic_radio, "toggled", G_CALLBACK (method_changed), self, G_CONNECT_SWAPPED);
-- g_signal_connect_object (self->dhcp_radio, "toggled", G_CALLBACK (method_changed), self, G_CONNECT_SWAPPED);
-- g_signal_connect_object (self->local_radio, "toggled", G_CALLBACK (method_changed), self, G_CONNECT_SWAPPED);
-- g_signal_connect_object (self->manual_radio, "toggled", G_CALLBACK (method_changed), self, G_CONNECT_SWAPPED);
-- g_signal_connect_object (self->disabled_radio, "toggled", G_CALLBACK (method_changed), self, G_CONNECT_SWAPPED);
--
-- switch (method) {
-- case IP6_METHOD_AUTO:
-- gtk_check_button_set_active (GTK_CHECK_BUTTON (self->automatic_radio), TRUE);
-- break;
-- case IP6_METHOD_DHCP:
-- gtk_check_button_set_active (GTK_CHECK_BUTTON (self->dhcp_radio), TRUE);
-- break;
-- case IP6_METHOD_LINK_LOCAL:
-- gtk_check_button_set_active (GTK_CHECK_BUTTON (self->local_radio), TRUE);
-- break;
-- case IP6_METHOD_MANUAL:
-- gtk_check_button_set_active (GTK_CHECK_BUTTON (self->manual_radio), TRUE);
-- break;
-- case IP6_METHOD_SHARED:
-- gtk_check_button_set_active (GTK_CHECK_BUTTON (self->shared_radio), TRUE);
-- break;
-- case IP6_METHOD_DISABLED:
-- gtk_check_button_set_active (GTK_CHECK_BUTTON (self->disabled_radio), TRUE);
-- break;
-- default:
-- break;
-- }
-+ g_action_group_change_action_state (self->method_group, "ip6method", g_variant_new_string (method));
-
- method_changed (self);
- }
-@@ -524,6 +491,7 @@ static gboolean
- ui_to_setting (CEPageIP6 *self)
- {
- GtkWidget *child;
-+ g_autoptr(GVariant) method_variant = NULL;
- const gchar *method;
- gboolean ignore_auto_dns;
- gboolean ignore_auto_routes;
-@@ -535,18 +503,22 @@ ui_to_setting (CEPageIP6 *self)
- gchar *dns_text = NULL;
- guint i;
-
-- if (gtk_check_button_get_active (self->disabled_radio))
-+ method_variant = g_action_group_get_action_state (self->method_group, "ip6method");
-+ method = g_variant_get_string (method_variant, NULL);
-+ if (g_str_equal (method, "disabled"))
- method = NM_SETTING_IP6_CONFIG_METHOD_DISABLED;
-- else if (gtk_check_button_get_active (self->manual_radio))
-+ else if (g_str_equal (method, "manual"))
- method = NM_SETTING_IP6_CONFIG_METHOD_MANUAL;
-- else if (gtk_check_button_get_active (self->local_radio))
-+ else if (g_str_equal (method, "local"))
- method = NM_SETTING_IP6_CONFIG_METHOD_LINK_LOCAL;
-- else if (gtk_check_button_get_active (self->dhcp_radio))
-+ else if (g_str_equal (method, "dhcp"))
- method = NM_SETTING_IP6_CONFIG_METHOD_DHCP;
-- else if (gtk_check_button_get_active (self->automatic_radio))
-+ else if (g_str_equal (method, "automatic"))
- method = NM_SETTING_IP6_CONFIG_METHOD_AUTO;
-- else if (gtk_check_button_get_active (self->shared_radio))
-+ else if (g_str_equal (method, "shared"))
- method = NM_SETTING_IP6_CONFIG_METHOD_SHARED;
-+ else
-+ g_assert_not_reached ();
-
- nm_setting_ip_config_clear_addresses (self->setting);
- if (g_str_equal (method, NM_SETTING_IP6_CONFIG_METHOD_MANUAL)) {
-@@ -738,6 +710,17 @@ out:
- return ret;
- }
-
-+static void
-+on_ip6_method_activated_cb (GSimpleAction* action,
-+ GVariant* parameter,
-+ gpointer user_data)
-+{
-+ CEPageIP6 *self = CE_PAGE_IP6 (user_data);
-+ g_simple_action_set_state (action, parameter);
-+
-+ method_changed (self);
-+}
-+
- static const gchar *
- ce_page_ip6_get_title (CEPage *page)
- {
-@@ -758,6 +741,14 @@ ce_page_ip6_validate (CEPage *self,
- static void
- ce_page_ip6_init (CEPageIP6 *self)
- {
-+ const GActionEntry ip6_entries[] = {
-+ { "ip6method", on_ip6_method_activated_cb, "s", "'automatic'", NULL},
-+ };
-+ self->method_group = G_ACTION_GROUP (g_simple_action_group_new ());
-+
-+ g_action_map_add_action_entries (G_ACTION_MAP (self->method_group), ip6_entries, G_N_ELEMENTS (ip6_entries), self);
-+ gtk_widget_insert_action_group (GTK_WIDGET (self), "ip6page", G_ACTION_GROUP (self->method_group));
-+
- gtk_widget_init_template (GTK_WIDGET (self));
- }
-
-@@ -775,14 +766,10 @@ ce_page_ip6_class_init (CEPageIP6Class *klass)
- gtk_widget_class_bind_template_child (widget_class, CEPageIP6, address_sizegroup);
- gtk_widget_class_bind_template_child (widget_class, CEPageIP6, auto_dns_switch);
- gtk_widget_class_bind_template_child (widget_class, CEPageIP6, auto_routes_switch);
-- gtk_widget_class_bind_template_child (widget_class, CEPageIP6, automatic_radio);
- gtk_widget_class_bind_template_child (widget_class, CEPageIP6, content_box);
-- gtk_widget_class_bind_template_child (widget_class, CEPageIP6, dhcp_radio);
- gtk_widget_class_bind_template_child (widget_class, CEPageIP6, disabled_radio);
- gtk_widget_class_bind_template_child (widget_class, CEPageIP6, dns_entry);
-- gtk_widget_class_bind_template_child (widget_class, CEPageIP6, local_radio);
- gtk_widget_class_bind_template_child (widget_class, CEPageIP6, main_box);
-- gtk_widget_class_bind_template_child (widget_class, CEPageIP6, manual_radio);
- gtk_widget_class_bind_template_child (widget_class, CEPageIP6, never_default_check);
- gtk_widget_class_bind_template_child (widget_class, CEPageIP6, routes_box);
- gtk_widget_class_bind_template_child (widget_class, CEPageIP6, routes_address_label);
-diff --git a/panels/network/connection-editor/ip4-page.ui b/panels/network/connection-editor/ip4-page.ui
-index a2210ea8ad..c03b644d74 100644
---- a/panels/network/connection-editor/ip4-page.ui
-+++ b/panels/network/connection-editor/ip4-page.ui
-@@ -34,6 +34,8 @@
- <child>
- <object class="GtkCheckButton" id="automatic_radio">
- <property name="label" translatable="yes">Automatic (DHCP)</property>
-+ <property name="action-name">ip4page.ip4method</property>
-+ <property name="action-target">'automatic'</property>
- <layout>
- <property name="row">0</property>
- <property name="column">1</property>
-@@ -43,7 +45,8 @@
- <child>
- <object class="GtkCheckButton" id="local_radio">
- <property name="label" translatable="yes">Link-Local Only</property>
-- <property name="group">automatic_radio</property>
-+ <property name="action-name">ip4page.ip4method</property>
-+ <property name="action-target">'local'</property>
- <layout>
- <property name="row">0</property>
- <property name="column">2</property>
-@@ -53,7 +56,8 @@
- <child>
- <object class="GtkCheckButton" id="manual_radio">
- <property name="label" translatable="yes">Manual</property>
-- <property name="group">automatic_radio</property>
-+ <property name="action-name">ip4page.ip4method</property>
-+ <property name="action-target">'manual'</property>
- <layout>
- <property name="row">1</property>
- <property name="column">1</property>
-@@ -63,7 +67,8 @@
- <child>
- <object class="GtkCheckButton" id="disabled_radio">
- <property name="label" translatable="yes">Disable</property>
-- <property name="group">automatic_radio</property>
-+ <property name="action-name">ip4page.ip4method</property>
-+ <property name="action-target">'disabled'</property>
- <layout>
- <property name="row">1</property>
- <property name="column">2</property>
-@@ -73,7 +78,8 @@
- <child>
- <object class="GtkCheckButton" id="shared_radio">
- <property name="label" translatable="yes">Shared to other computers</property>
-- <property name="group">automatic_radio</property>
-+ <property name="action-name">ip4page.ip4method</property>
-+ <property name="action-target">'shared'</property>
- <layout>
- <property name="row">2</property>
- <property name="column">1</property>
-diff --git a/panels/network/connection-editor/ip6-page.ui b/panels/network/connection-editor/ip6-page.ui
-index c22fb0f9e4..c4817ceacf 100644
---- a/panels/network/connection-editor/ip6-page.ui
-+++ b/panels/network/connection-editor/ip6-page.ui
-@@ -34,6 +34,8 @@
- <child>
- <object class="GtkCheckButton" id="automatic_radio">
- <property name="label" translatable="yes">Automatic</property>
-+ <property name="action-name">ip6page.ip6method</property>
-+ <property name="action-target">'automatic'</property>
- <layout>
- <property name="row">0</property>
- <property name="column">1</property>
-@@ -43,7 +45,8 @@
- <child>
- <object class="GtkCheckButton" id="dhcp_radio">
- <property name="label" translatable="yes">Automatic, DHCP only</property>
-- <property name="group">automatic_radio</property>
-+ <property name="action-name">ip6page.ip6method</property>
-+ <property name="action-target">'dhcp'</property>
- <layout>
- <property name="row">0</property>
- <property name="column">2</property>
-@@ -53,7 +56,8 @@
- <child>
- <object class="GtkCheckButton" id="local_radio">
- <property name="label" translatable="yes">Link-Local Only</property>
-- <property name="group">automatic_radio</property>
-+ <property name="action-name">ip6page.ip6method</property>
-+ <property name="action-target">'local'</property>
- <layout>
- <property name="row">1</property>
- <property name="column">1</property>
-@@ -63,7 +67,8 @@
- <child>
- <object class="GtkCheckButton" id="manual_radio">
- <property name="label" translatable="yes">Manual</property>
-- <property name="group">automatic_radio</property>
-+ <property name="action-name">ip6page.ip6method</property>
-+ <property name="action-target">'manual'</property>
- <layout>
- <property name="row">1</property>
- <property name="column">2</property>
-@@ -73,7 +78,8 @@
- <child>
- <object class="GtkCheckButton" id="disabled_radio">
- <property name="label" translatable="yes">Disable</property>
-- <property name="group">automatic_radio</property>
-+ <property name="action-name">ip6page.ip6method</property>
-+ <property name="action-target">'disabled'</property>
- <layout>
- <property name="row">2</property>
- <property name="column">1</property>
-@@ -83,7 +89,8 @@
- <child>
- <object class="GtkCheckButton" id="shared_radio">
- <property name="label" translatable="yes">Shared to other computers</property>
-- <property name="group">automatic_radio</property>
-+ <property name="action-name">ip6page.ip6method</property>
-+ <property name="action-target">'shared'</property>
- <layout>
- <property name="row">2</property>
- <property name="column">2</property>
---
-GitLab
-