From f438335235914c88ecaa65373c6548f573a68507 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ji=C5=99=C3=AD=20Klime=C5=A1?= Date: Tue, 11 Dec 2012 15:36:46 +0100 Subject: [PATCH] editor: fix populating firewall zone in general page --- fix-firewall-zone.patch | 80 +++++++++++++++++++++++++++++++++++++ network-manager-applet.spec | 7 +++- 2 files changed, 86 insertions(+), 1 deletion(-) create mode 100644 fix-firewall-zone.patch diff --git a/fix-firewall-zone.patch b/fix-firewall-zone.patch new file mode 100644 index 0000000..db9a11e --- /dev/null +++ b/fix-firewall-zone.patch @@ -0,0 +1,80 @@ +From 50f30bc33cb928cac2b061a390fdd0f0720ad716 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Ji=C5=99=C3=AD=20Klime=C5=A1?= +Date: Tue, 11 Dec 2012 15:24:34 +0100 +Subject: [PATCH] editor: fix populating firewall zone in general page +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + + +Signed-off-by: Jiří Klimeš +--- + src/connection-editor/page-general.c | 24 +++++++++++++++--------- + 1 file changed, 15 insertions(+), 9 deletions(-) + +diff --git a/src/connection-editor/page-general.c b/src/connection-editor/page-general.c +index 3ab9049..2597971 100644 +--- a/src/connection-editor/page-general.c ++++ b/src/connection-editor/page-general.c +@@ -77,10 +77,10 @@ zones_reply (DBusGProxy *proxy, DBusGProxyCall *call, gpointer user_data) + G_TYPE_STRV, &priv->zones, + G_TYPE_INVALID); + ++ priv->got_zones = TRUE; ++ + if (priv->setup_finished) + populate_firewall_zones_ui (self); +- else +- priv->got_zones = TRUE; + + g_clear_error (&error); + g_object_unref (proxy); +@@ -94,6 +94,7 @@ get_zones_from_firewall (CEPageGeneral *self) + DBusGConnection *bus; + DBusGProxy *proxy; + ++ /* Initialize got_zones to TRUE for cases there's no FirewallD */ + priv->got_zones = TRUE; + + bus = dbus_g_bus_get (DBUS_BUS_SYSTEM, NULL); +@@ -193,7 +194,7 @@ populate_firewall_zones_ui (CEPageGeneral *self) + guint32 combo_idx = 0, idx; + + s_zone = nm_setting_connection_get_zone (setting); +- ++ + /* Always add "fake" 'Default' zone for default firewall settings */ + #if GTK_CHECK_VERSION (2,24,0) + gtk_combo_box_text_append_text (priv->firewall_zone, FIREWALL_ZONE_DEFAULT); +@@ -355,17 +356,22 @@ ui_to_setting (CEPageGeneral *self) + GtkTreeIter iter; + gboolean autoconnect = FALSE, everyone = FALSE; + ++ /* We can't take and save zone until the combo was properly initialized. Zones ++ * are received from FirewallD asynchronously; got_zones indicates we are ready. ++ */ ++ if (priv->got_zones) { + #if GTK_CHECK_VERSION (2,24,0) +- zone = gtk_combo_box_text_get_active_text (priv->firewall_zone); ++ zone = gtk_combo_box_text_get_active_text (priv->firewall_zone); + #else +- zone = gtk_combo_box_get_active_text (priv->firewall_zone); ++ zone = gtk_combo_box_get_active_text (priv->firewall_zone); + #endif + +- if (g_strcmp0 (zone, FIREWALL_ZONE_DEFAULT) == 0) +- zone = NULL; +- g_object_set (priv->setting, NM_SETTING_CONNECTION_ZONE, zone, NULL); ++ if (g_strcmp0 (zone, FIREWALL_ZONE_DEFAULT) == 0) ++ zone = NULL; ++ g_object_set (priv->setting, NM_SETTING_CONNECTION_ZONE, zone, NULL); + +- g_free (zone); ++ g_free (zone); ++ } + + if ( gtk_toggle_button_get_active (priv->dependent_vpn_checkbox) + && gtk_combo_box_get_active_iter (priv->dependent_vpn, &iter)) +-- +1.7.11.7 + diff --git a/network-manager-applet.spec b/network-manager-applet.spec index 7bb7cb0..7c0b170 100644 --- a/network-manager-applet.spec +++ b/network-manager-applet.spec @@ -11,7 +11,7 @@ Name: network-manager-applet Summary: A network control and status applet for NetworkManager Version: 0.9.7.0 -Release: 5%{snapshot}%{?dist} +Release: 6%{snapshot}%{?dist} Group: Applications/System License: GPLv2+ URL: http://www.gnome.org/projects/NetworkManager/ @@ -21,6 +21,7 @@ Source: http://ftp.gnome.org/pub/GNOME/sources/network-manager-applet/0.9/%{name Patch0: nm-applet-no-notifications.patch Patch1: nm-applet-wifi-dialog-ui-fixes.patch Patch2: applet-ignore-deprecated.patch +Patch3: fix-firewall-zone.patch Requires: NetworkManager >= %{nm_version} Requires: NetworkManager-glib >= %{nm_version} @@ -107,6 +108,7 @@ nm-applet, nm-connection-editor, and the GNOME control center. %patch0 -p1 -b .no-notifications %patch1 -p1 -b .applet-wifi-ui %patch2 -p1 -b .no-deprecated +%patch3 -p1 -b .fix-firewall-zone %build autoreconf -i -f @@ -223,6 +225,9 @@ glib-compile-schemas %{_datadir}/glib-2.0/schemas &>/dev/null || : %{_datadir}/gir-1.0/NMGtk-1.0.gir %changelog +* Tue Dec 11 2012 Jiří Klimeš - 0.9.7.0-6.git20121211 +- editor: fix populating Firewall zone in 'General' tab + * Tue Dec 11 2012 Jiří Klimeš - 0.9.7.0-5.git20121211 - Update to git snapshot (git20121211)