summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLubomir Rintel <lkundrak@v3.sk>2015-08-19 10:09:34 +0200
committerLubomir Rintel <lkundrak@v3.sk>2015-08-19 15:27:13 +0200
commita86447f498a18dd4fe34ee30c29706eb1f9febc5 (patch)
tree544596762e6b3323c6c52f5eb0de49587f82f9ff
parent1b4e0f816e25d02838cea866af9bc8e880bbc831 (diff)
downloadNetworkManager-a86447f498a18dd4fe34ee30c29706eb1f9febc5.tar.gz
vpn-connection: hold a route manager reference
NetworkManager:ERROR:nm-route-manager.c:77:nm_route_manager_get: assertion failed: (!_already_created || (NM_DEFINE_SINGLETON_ALLOW_MULTIPLE))
-rw-r--r--src/vpn-manager/nm-vpn-connection.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/vpn-manager/nm-vpn-connection.c b/src/vpn-manager/nm-vpn-connection.c
index 30e2d9f659..3b3715f525 100644
--- a/src/vpn-manager/nm-vpn-connection.c
+++ b/src/vpn-manager/nm-vpn-connection.c
@@ -94,6 +94,7 @@ typedef struct {
NMFirewallPendingCall fw_call;
NMDefaultRouteManager *default_route_manager;
+ NMRouteManager *route_manager;
GDBusProxy *proxy;
GCancellable *cancellable;
GVariant *connect_hash;
@@ -238,7 +239,7 @@ vpn_cleanup (NMVpnConnection *connection, NMDevice *parent_dev)
if (priv->ip_ifindex) {
nm_platform_link_set_down (NM_PLATFORM_GET, priv->ip_ifindex);
- nm_route_manager_route_flush (nm_route_manager_get (), priv->ip_ifindex);
+ nm_route_manager_route_flush (priv->route_manager, priv->ip_ifindex);
nm_platform_address_flush (NM_PLATFORM_GET, priv->ip_ifindex);
}
@@ -2195,6 +2196,7 @@ nm_vpn_connection_init (NMVpnConnection *self)
priv->vpn_state = STATE_WAITING;
priv->secrets_idx = SECRETS_REQ_SYSTEM;
priv->default_route_manager = g_object_ref (nm_default_route_manager_get ());
+ priv->route_manager = g_object_ref (nm_route_manager_get ());
}
static void
@@ -2237,6 +2239,7 @@ dispose (GObject *object)
g_clear_object (&priv->proxy);
g_clear_object (&priv->connection);
g_clear_object (&priv->default_route_manager);
+ g_clear_object (&priv->route_manager);
fw_call_cleanup (NM_VPN_CONNECTION (object));