diff options
author | Lubomir Rintel <lkundrak@v3.sk> | 2015-08-19 10:09:34 +0200 |
---|---|---|
committer | Lubomir Rintel <lkundrak@v3.sk> | 2015-08-19 15:27:13 +0200 |
commit | a86447f498a18dd4fe34ee30c29706eb1f9febc5 (patch) | |
tree | 544596762e6b3323c6c52f5eb0de49587f82f9ff | |
parent | 1b4e0f816e25d02838cea866af9bc8e880bbc831 (diff) | |
download | NetworkManager-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.c | 5 |
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)); |