libnm-glib: fix up empty object path demarshalling after 8afce8590a
G_VALUE_HOLDS will fail if the value variable is NULL, so we only want to check that the GValue holds the right type if the value is valid. NULL means "no object path" in demarshallers.
This commit is contained in:
@@ -637,12 +637,10 @@ demarshal_active_ap (NMObject *object, GParamSpec *pspec, GValue *value, gpointe
|
|||||||
NMAccessPoint *ap = NULL;
|
NMAccessPoint *ap = NULL;
|
||||||
DBusGConnection *connection;
|
DBusGConnection *connection;
|
||||||
|
|
||||||
if (!G_VALUE_HOLDS (value, DBUS_TYPE_G_OBJECT_PATH))
|
|
||||||
return FALSE;
|
|
||||||
|
|
||||||
priv->got_active_ap = TRUE;
|
|
||||||
|
|
||||||
if (value) {
|
if (value) {
|
||||||
|
if (!G_VALUE_HOLDS (value, DBUS_TYPE_G_OBJECT_PATH))
|
||||||
|
return FALSE;
|
||||||
|
|
||||||
path = g_value_get_boxed (value);
|
path = g_value_get_boxed (value);
|
||||||
if (path) {
|
if (path) {
|
||||||
ap = NM_ACCESS_POINT (_nm_object_cache_get (path));
|
ap = NM_ACCESS_POINT (_nm_object_cache_get (path));
|
||||||
@@ -653,6 +651,8 @@ demarshal_active_ap (NMObject *object, GParamSpec *pspec, GValue *value, gpointe
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
priv->got_active_ap = TRUE;
|
||||||
|
|
||||||
if (priv->active_ap) {
|
if (priv->active_ap) {
|
||||||
g_object_unref (priv->active_ap);
|
g_object_unref (priv->active_ap);
|
||||||
priv->active_ap = NULL;
|
priv->active_ap = NULL;
|
||||||
|
@@ -628,12 +628,10 @@ demarshal_active_nsp (NMObject *object, GParamSpec *pspec, GValue *value, gpoint
|
|||||||
NMWimaxNsp *nsp = NULL;
|
NMWimaxNsp *nsp = NULL;
|
||||||
DBusGConnection *connection;
|
DBusGConnection *connection;
|
||||||
|
|
||||||
if (!G_VALUE_HOLDS (value, DBUS_TYPE_G_OBJECT_PATH))
|
|
||||||
return FALSE;
|
|
||||||
|
|
||||||
priv->got_active_nsp = TRUE;
|
|
||||||
|
|
||||||
if (value) {
|
if (value) {
|
||||||
|
if (!G_VALUE_HOLDS (value, DBUS_TYPE_G_OBJECT_PATH))
|
||||||
|
return FALSE;
|
||||||
|
|
||||||
path = g_value_get_boxed (value);
|
path = g_value_get_boxed (value);
|
||||||
if (path) {
|
if (path) {
|
||||||
nsp = NM_WIMAX_NSP (_nm_object_cache_get (path));
|
nsp = NM_WIMAX_NSP (_nm_object_cache_get (path));
|
||||||
@@ -644,6 +642,8 @@ demarshal_active_nsp (NMObject *object, GParamSpec *pspec, GValue *value, gpoint
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
priv->got_active_nsp = TRUE;
|
||||||
|
|
||||||
if (priv->active_nsp) {
|
if (priv->active_nsp) {
|
||||||
g_object_unref (priv->active_nsp);
|
g_object_unref (priv->active_nsp);
|
||||||
priv->active_nsp = NULL;
|
priv->active_nsp = NULL;
|
||||||
|
@@ -120,12 +120,10 @@ demarshal_ip4_config (NMObject *object, GParamSpec *pspec, GValue *value, gpoint
|
|||||||
NMIP4Config *config = NULL;
|
NMIP4Config *config = NULL;
|
||||||
DBusGConnection *connection;
|
DBusGConnection *connection;
|
||||||
|
|
||||||
if (!G_VALUE_HOLDS (value, DBUS_TYPE_G_OBJECT_PATH))
|
|
||||||
return FALSE;
|
|
||||||
|
|
||||||
priv->got_ip4_config = TRUE;
|
|
||||||
|
|
||||||
if (value) {
|
if (value) {
|
||||||
|
if (!G_VALUE_HOLDS (value, DBUS_TYPE_G_OBJECT_PATH))
|
||||||
|
return FALSE;
|
||||||
|
|
||||||
path = g_value_get_boxed (value);
|
path = g_value_get_boxed (value);
|
||||||
if (path) {
|
if (path) {
|
||||||
config = NM_IP4_CONFIG (_nm_object_cache_get (path));
|
config = NM_IP4_CONFIG (_nm_object_cache_get (path));
|
||||||
@@ -136,6 +134,8 @@ demarshal_ip4_config (NMObject *object, GParamSpec *pspec, GValue *value, gpoint
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
priv->got_ip4_config = TRUE;
|
||||||
|
|
||||||
if (priv->ip4_config) {
|
if (priv->ip4_config) {
|
||||||
g_object_unref (priv->ip4_config);
|
g_object_unref (priv->ip4_config);
|
||||||
priv->ip4_config = NULL;
|
priv->ip4_config = NULL;
|
||||||
@@ -156,12 +156,10 @@ demarshal_dhcp4_config (NMObject *object, GParamSpec *pspec, GValue *value, gpoi
|
|||||||
NMDHCP4Config *config = NULL;
|
NMDHCP4Config *config = NULL;
|
||||||
DBusGConnection *connection;
|
DBusGConnection *connection;
|
||||||
|
|
||||||
if (!G_VALUE_HOLDS (value, DBUS_TYPE_G_OBJECT_PATH))
|
|
||||||
return FALSE;
|
|
||||||
|
|
||||||
priv->got_dhcp4_config = TRUE;
|
|
||||||
|
|
||||||
if (value) {
|
if (value) {
|
||||||
|
if (!G_VALUE_HOLDS (value, DBUS_TYPE_G_OBJECT_PATH))
|
||||||
|
return FALSE;
|
||||||
|
|
||||||
path = g_value_get_boxed (value);
|
path = g_value_get_boxed (value);
|
||||||
if (path) {
|
if (path) {
|
||||||
config = NM_DHCP4_CONFIG (_nm_object_cache_get (path));
|
config = NM_DHCP4_CONFIG (_nm_object_cache_get (path));
|
||||||
@@ -172,6 +170,8 @@ demarshal_dhcp4_config (NMObject *object, GParamSpec *pspec, GValue *value, gpoi
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
priv->got_dhcp4_config = TRUE;
|
||||||
|
|
||||||
if (priv->dhcp4_config) {
|
if (priv->dhcp4_config) {
|
||||||
g_object_unref (priv->dhcp4_config);
|
g_object_unref (priv->dhcp4_config);
|
||||||
priv->dhcp4_config = NULL;
|
priv->dhcp4_config = NULL;
|
||||||
@@ -192,12 +192,10 @@ demarshal_ip6_config (NMObject *object, GParamSpec *pspec, GValue *value, gpoint
|
|||||||
NMIP6Config *config = NULL;
|
NMIP6Config *config = NULL;
|
||||||
DBusGConnection *connection;
|
DBusGConnection *connection;
|
||||||
|
|
||||||
if (!G_VALUE_HOLDS (value, DBUS_TYPE_G_OBJECT_PATH))
|
|
||||||
return FALSE;
|
|
||||||
|
|
||||||
priv->got_ip6_config = TRUE;
|
|
||||||
|
|
||||||
if (value) {
|
if (value) {
|
||||||
|
if (!G_VALUE_HOLDS (value, DBUS_TYPE_G_OBJECT_PATH))
|
||||||
|
return FALSE;
|
||||||
|
|
||||||
path = g_value_get_boxed (value);
|
path = g_value_get_boxed (value);
|
||||||
if (path) {
|
if (path) {
|
||||||
config = NM_IP6_CONFIG (_nm_object_cache_get (path));
|
config = NM_IP6_CONFIG (_nm_object_cache_get (path));
|
||||||
@@ -208,6 +206,8 @@ demarshal_ip6_config (NMObject *object, GParamSpec *pspec, GValue *value, gpoint
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
priv->got_ip6_config = TRUE;
|
||||||
|
|
||||||
if (priv->ip6_config) {
|
if (priv->ip6_config) {
|
||||||
g_object_unref (priv->ip6_config);
|
g_object_unref (priv->ip6_config);
|
||||||
priv->ip6_config = NULL;
|
priv->ip6_config = NULL;
|
||||||
|
Reference in New Issue
Block a user