libnm: properly handle floating references in nm_vpn_service_plugin_set_ip6_config()

This commit is contained in:
Thomas Haller 2015-08-25 18:41:08 +02:00
parent 3afa894bfb
commit 803fc616fd
2 changed files with 8 additions and 0 deletions

View file

@ -380,9 +380,13 @@ nm_vpn_plugin_old_set_ip6_config (NMVpnPluginOld *plugin,
g_return_if_fail (NM_IS_VPN_PLUGIN_OLD (plugin));
g_return_if_fail (ip6_config != NULL);
g_variant_ref_sink (ip6_config);
priv->got_ip6 = TRUE;
g_signal_emit (plugin, signals[IP6_CONFIG], 0, ip6_config);
g_variant_unref (ip6_config);
if ( priv->has_ip4 == priv->got_ip4
&& priv->has_ip6 == priv->got_ip6)
nm_vpn_plugin_old_set_state (plugin, NM_VPN_SERVICE_STATE_STARTED);

View file

@ -392,10 +392,14 @@ nm_vpn_service_plugin_set_ip6_config (NMVpnServicePlugin *plugin,
g_return_if_fail (NM_IS_VPN_SERVICE_PLUGIN (plugin));
g_return_if_fail (ip6_config != NULL);
g_variant_ref_sink (ip6_config);
priv->got_ip6 = TRUE;
g_signal_emit (plugin, signals[IP6_CONFIG], 0, ip6_config);
g_signal_emit (priv->dbus_vpn_service_plugin, signals[IP6_CONFIG], 0, ip6_config);
g_variant_unref (ip6_config);
if ( priv->has_ip4 == priv->got_ip4
&& priv->has_ip6 == priv->got_ip6)
nm_vpn_service_plugin_set_state (plugin, NM_VPN_SERVICE_STATE_STARTED);