File nm-ensure_inited-fixing.patch of Package NetworkManager

commit a4f450aa0bf087453a8d605db81a83368cbe3b0a
Author: Dan Winship <danw@gnome.org>
Date:   Wed Mar 28 09:06:12 2012 -0400

    libnm-glib: more ensure_inited() fixing
    
    We need to do _nm_object_ensure_inited() /
    _nm_remote_settings_ensure_inited() from the get_property()
    implementations; in most cases, get_property() just calls another
    accessor method (which will call _nm_object_ensure_inited()), but in a
    few places, it reads priv->whatever directly, so we need to make sure
    that it's valid.

Index: NetworkManager-0.9.4.0/libnm-glib/nm-access-point.c
===================================================================
--- NetworkManager-0.9.4.0.orig/libnm-glib/nm-access-point.c
+++ NetworkManager-0.9.4.0/libnm-glib/nm-access-point.c
@@ -464,6 +464,8 @@ get_property (GObject *object,
 {
 	NMAccessPoint *ap = NM_ACCESS_POINT (object);
 
+	_nm_object_ensure_inited (NM_OBJECT (object));
+
 	switch (prop_id) {
 	case PROP_FLAGS:
 		g_value_set_uint (value, nm_access_point_get_flags (ap));
Index: NetworkManager-0.9.4.0/libnm-glib/nm-active-connection.c
===================================================================
--- NetworkManager-0.9.4.0.orig/libnm-glib/nm-active-connection.c
+++ NetworkManager-0.9.4.0/libnm-glib/nm-active-connection.c
@@ -394,6 +394,8 @@ get_property (GObject *object,
 {
 	NMActiveConnection *self = NM_ACTIVE_CONNECTION (object);
 
+	_nm_object_ensure_inited (NM_OBJECT (object));
+
 	switch (prop_id) {
 	case PROP_CONNECTION:
 		g_value_set_string (value, nm_active_connection_get_connection (self));
Index: NetworkManager-0.9.4.0/libnm-glib/nm-client.c
===================================================================
--- NetworkManager-0.9.4.0.orig/libnm-glib/nm-client.c
+++ NetworkManager-0.9.4.0/libnm-glib/nm-client.c
@@ -1502,6 +1502,8 @@ get_property (GObject *object,
 	NMClient *self = NM_CLIENT (object);
 	NMClientPrivate *priv = NM_CLIENT_GET_PRIVATE (self);
 
+	_nm_object_ensure_inited (NM_OBJECT (object));
+
 	switch (prop_id) {
 	case PROP_VERSION:
 		g_value_set_string (value, nm_client_get_version (self));
Index: NetworkManager-0.9.4.0/libnm-glib/nm-device-bond.c
===================================================================
--- NetworkManager-0.9.4.0.orig/libnm-glib/nm-device-bond.c
+++ NetworkManager-0.9.4.0/libnm-glib/nm-device-bond.c
@@ -241,6 +241,8 @@ get_property (GObject *object,
 {
 	NMDeviceBond *device = NM_DEVICE_BOND (object);
 
+	_nm_object_ensure_inited (NM_OBJECT (object));
+
 	switch (prop_id) {
 	case PROP_HW_ADDRESS:
 		g_value_set_string (value, nm_device_bond_get_hw_address (device));
Index: NetworkManager-0.9.4.0/libnm-glib/nm-device-bt.c
===================================================================
--- NetworkManager-0.9.4.0.orig/libnm-glib/nm-device-bt.c
+++ NetworkManager-0.9.4.0/libnm-glib/nm-device-bt.c
@@ -303,6 +303,8 @@ get_property (GObject *object,
 {
 	NMDeviceBt *device = NM_DEVICE_BT (object);
 
+	_nm_object_ensure_inited (NM_OBJECT (object));
+
 	switch (prop_id) {
 	case PROP_HW_ADDRESS:
 		g_value_set_string (value, nm_device_bt_get_hw_address (device));
Index: NetworkManager-0.9.4.0/libnm-glib/nm-device-ethernet.c
===================================================================
--- NetworkManager-0.9.4.0.orig/libnm-glib/nm-device-ethernet.c
+++ NetworkManager-0.9.4.0/libnm-glib/nm-device-ethernet.c
@@ -311,6 +311,8 @@ get_property (GObject *object,
 {
 	NMDeviceEthernet *device = NM_DEVICE_ETHERNET (object);
 
+	_nm_object_ensure_inited (NM_OBJECT (object));
+
 	switch (prop_id) {
 	case PROP_HW_ADDRESS:
 		g_value_set_string (value, nm_device_ethernet_get_hw_address (device));
Index: NetworkManager-0.9.4.0/libnm-glib/nm-device-infiniband.c
===================================================================
--- NetworkManager-0.9.4.0.orig/libnm-glib/nm-device-infiniband.c
+++ NetworkManager-0.9.4.0/libnm-glib/nm-device-infiniband.c
@@ -250,6 +250,8 @@ get_property (GObject *object,
 {
 	NMDeviceInfiniband *device = NM_DEVICE_INFINIBAND (object);
 
+	_nm_object_ensure_inited (NM_OBJECT (object));
+
 	switch (prop_id) {
 	case PROP_HW_ADDRESS:
 		g_value_set_string (value, nm_device_infiniband_get_hw_address (device));
Index: NetworkManager-0.9.4.0/libnm-glib/nm-device-modem.c
===================================================================
--- NetworkManager-0.9.4.0.orig/libnm-glib/nm-device-modem.c
+++ NetworkManager-0.9.4.0/libnm-glib/nm-device-modem.c
@@ -205,6 +205,8 @@ get_property (GObject *object,
 {
 	NMDeviceModem *self = NM_DEVICE_MODEM (object);
 
+	_nm_object_ensure_inited (NM_OBJECT (object));
+
 	switch (prop_id) {
 	case PROP_MODEM_CAPS:
 		g_value_set_uint (value, nm_device_modem_get_modem_capabilities (self));
Index: NetworkManager-0.9.4.0/libnm-glib/nm-device-olpc-mesh.c
===================================================================
--- NetworkManager-0.9.4.0.orig/libnm-glib/nm-device-olpc-mesh.c
+++ NetworkManager-0.9.4.0/libnm-glib/nm-device-olpc-mesh.c
@@ -257,6 +257,8 @@ get_property (GObject *object,
 {
 	NMDeviceOlpcMesh *device = NM_DEVICE_OLPC_MESH (object);
 
+	_nm_object_ensure_inited (NM_OBJECT (object));
+
 	switch (prop_id) {
 	case PROP_HW_ADDRESS:
 		g_value_set_string (value, nm_device_olpc_mesh_get_hw_address (device));
Index: NetworkManager-0.9.4.0/libnm-glib/nm-device-vlan.c
===================================================================
--- NetworkManager-0.9.4.0.orig/libnm-glib/nm-device-vlan.c
+++ NetworkManager-0.9.4.0/libnm-glib/nm-device-vlan.c
@@ -264,6 +264,8 @@ get_property (GObject *object,
 {
 	NMDeviceVlan *device = NM_DEVICE_VLAN (object);
 
+	_nm_object_ensure_inited (NM_OBJECT (object));
+
 	switch (prop_id) {
 	case PROP_HW_ADDRESS:
 		g_value_set_string (value, nm_device_vlan_get_hw_address (device));
Index: NetworkManager-0.9.4.0/libnm-glib/nm-device-wifi.c
===================================================================
--- NetworkManager-0.9.4.0.orig/libnm-glib/nm-device-wifi.c
+++ NetworkManager-0.9.4.0/libnm-glib/nm-device-wifi.c
@@ -501,6 +501,8 @@ get_property (GObject *object,
 {
 	NMDeviceWifi *self = NM_DEVICE_WIFI (object);
 
+	_nm_object_ensure_inited (NM_OBJECT (object));
+
 	switch (prop_id) {
 	case PROP_HW_ADDRESS:
 		g_value_set_string (value, nm_device_wifi_get_hw_address (self));
Index: NetworkManager-0.9.4.0/libnm-glib/nm-device-wimax.c
===================================================================
--- NetworkManager-0.9.4.0.orig/libnm-glib/nm-device-wimax.c
+++ NetworkManager-0.9.4.0/libnm-glib/nm-device-wimax.c
@@ -444,6 +444,8 @@ get_property (GObject *object,
 {
 	NMDeviceWimax *self = NM_DEVICE_WIMAX (object);
 
+	_nm_object_ensure_inited (NM_OBJECT (object));
+
 	switch (prop_id) {
 	case PROP_HW_ADDRESS:
 		g_value_set_string (value, nm_device_wimax_get_hw_address (self));
Index: NetworkManager-0.9.4.0/libnm-glib/nm-device.c
===================================================================
--- NetworkManager-0.9.4.0.orig/libnm-glib/nm-device.c
+++ NetworkManager-0.9.4.0/libnm-glib/nm-device.c
@@ -313,6 +313,8 @@ get_property (GObject *object,
 	NMDevice *device = NM_DEVICE (object);
 	NMDevicePrivate *priv = NM_DEVICE_GET_PRIVATE (device);
 
+	_nm_object_ensure_inited (NM_OBJECT (object));
+
 	switch (prop_id) {
 	case PROP_DEVICE_TYPE:
 		g_value_set_uint (value, nm_device_get_device_type (device));
Index: NetworkManager-0.9.4.0/libnm-glib/nm-dhcp4-config.c
===================================================================
--- NetworkManager-0.9.4.0.orig/libnm-glib/nm-dhcp4-config.c
+++ NetworkManager-0.9.4.0/libnm-glib/nm-dhcp4-config.c
@@ -132,6 +132,8 @@ get_property (GObject *object,
 {
 	NMDHCP4Config *self = NM_DHCP4_CONFIG (object);
 
+	_nm_object_ensure_inited (NM_OBJECT (object));
+
 	switch (prop_id) {
 	case PROP_OPTIONS:
 		g_value_set_boxed (value, nm_dhcp4_config_get_options (self));
Index: NetworkManager-0.9.4.0/libnm-glib/nm-dhcp6-config.c
===================================================================
--- NetworkManager-0.9.4.0.orig/libnm-glib/nm-dhcp6-config.c
+++ NetworkManager-0.9.4.0/libnm-glib/nm-dhcp6-config.c
@@ -132,6 +132,8 @@ get_property (GObject *object,
 {
 	NMDHCP6Config *self = NM_DHCP6_CONFIG (object);
 
+	_nm_object_ensure_inited (NM_OBJECT (object));
+
 	switch (prop_id) {
 	case PROP_OPTIONS:
 		g_value_set_boxed (value, nm_dhcp6_config_get_options (self));
Index: NetworkManager-0.9.4.0/libnm-glib/nm-ip4-config.c
===================================================================
--- NetworkManager-0.9.4.0.orig/libnm-glib/nm-ip4-config.c
+++ NetworkManager-0.9.4.0/libnm-glib/nm-ip4-config.c
@@ -187,6 +187,8 @@ get_property (GObject *object,
 	NMIP4Config *self = NM_IP4_CONFIG (object);
 	NMIP4ConfigPrivate *priv = NM_IP4_CONFIG_GET_PRIVATE (self);
 
+	_nm_object_ensure_inited (NM_OBJECT (object));
+
 	switch (prop_id) {
 	case PROP_ADDRESSES:
 		nm_utils_ip4_addresses_to_gvalue (priv->addresses, value);
Index: NetworkManager-0.9.4.0/libnm-glib/nm-ip6-config.c
===================================================================
--- NetworkManager-0.9.4.0.orig/libnm-glib/nm-ip6-config.c
+++ NetworkManager-0.9.4.0/libnm-glib/nm-ip6-config.c
@@ -268,6 +268,8 @@ get_property (GObject *object,
 	NMIP6Config *self = NM_IP6_CONFIG (object);
 	NMIP6ConfigPrivate *priv = NM_IP6_CONFIG_GET_PRIVATE (self);
 
+	_nm_object_ensure_inited (NM_OBJECT (object));
+
 	switch (prop_id) {
 	case PROP_ADDRESSES:
 		nm_utils_ip6_addresses_to_gvalue (priv->addresses, value);
Index: NetworkManager-0.9.4.0/libnm-glib/nm-remote-settings.c
===================================================================
--- NetworkManager-0.9.4.0.orig/libnm-glib/nm-remote-settings.c
+++ NetworkManager-0.9.4.0/libnm-glib/nm-remote-settings.c
@@ -1061,6 +1061,8 @@ get_property (GObject *object, guint pro
 {
 	NMRemoteSettingsPrivate *priv = NM_REMOTE_SETTINGS_GET_PRIVATE (object);
 
+	_nm_remote_settings_ensure_inited (NM_REMOTE_SETTINGS (object));
+
 	switch (prop_id) {
 	case PROP_BUS:
 		g_value_set_boxed (value, priv->bus);
Index: NetworkManager-0.9.4.0/libnm-glib/nm-vpn-connection.c
===================================================================
--- NetworkManager-0.9.4.0.orig/libnm-glib/nm-vpn-connection.c
+++ NetworkManager-0.9.4.0/libnm-glib/nm-vpn-connection.c
@@ -211,6 +211,8 @@ get_property (GObject *object,
 {
 	NMVPNConnection *self = NM_VPN_CONNECTION (object);
 
+	_nm_object_ensure_inited (NM_OBJECT (object));
+
 	switch (prop_id) {
 	case PROP_VPN_STATE:
 		g_value_set_uint (value, nm_vpn_connection_get_vpn_state (self));
Index: NetworkManager-0.9.4.0/libnm-glib/nm-wimax-nsp.c
===================================================================
--- NetworkManager-0.9.4.0.orig/libnm-glib/nm-wimax-nsp.c
+++ NetworkManager-0.9.4.0/libnm-glib/nm-wimax-nsp.c
@@ -247,6 +247,8 @@ get_property (GObject *object,
 {
 	NMWimaxNsp *nsp = NM_WIMAX_NSP (object);
 
+	_nm_object_ensure_inited (NM_OBJECT (object));
+
 	switch (prop_id) {
 	case PROP_NAME:
 		g_value_set_string (value, nm_wimax_nsp_get_name (nsp));