aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libmm-glib/mm-location-3gpp.c2
-rw-r--r--libmm-glib/mm-location-gps-nmea.c2
-rw-r--r--src/mm-iface-modem-location.c12
3 files changed, 6 insertions, 10 deletions
diff --git a/libmm-glib/mm-location-3gpp.c b/libmm-glib/mm-location-3gpp.c
index bea3913e..c23aeec5 100644
--- a/libmm-glib/mm-location-3gpp.c
+++ b/libmm-glib/mm-location-3gpp.c
@@ -291,7 +291,7 @@ mm_location_3gpp_get_string_variant (MMLocation3gpp *self)
self->priv->cell_id,
self->priv->tracking_area_code);
- variant = g_variant_new_string (str);
+ variant = g_variant_ref_sink (g_variant_new_string (str));
g_free (str);
}
diff --git a/libmm-glib/mm-location-gps-nmea.c b/libmm-glib/mm-location-gps-nmea.c
index ada073f2..fde811fe 100644
--- a/libmm-glib/mm-location-gps-nmea.c
+++ b/libmm-glib/mm-location-gps-nmea.c
@@ -244,7 +244,7 @@ mm_location_gps_nmea_get_string_variant (MMLocationGpsNmea *self)
traces = mm_location_gps_nmea_get_traces (self);
built = g_strjoinv ("\r\n", traces);
- return g_variant_new_string (built);
+ return g_variant_ref_sink (g_variant_new_string (built));
}
/*****************************************************************************/
diff --git a/src/mm-iface-modem-location.c b/src/mm-iface-modem-location.c
index 8b267621..00a74fd9 100644
--- a/src/mm-iface-modem-location.c
+++ b/src/mm-iface-modem-location.c
@@ -165,11 +165,10 @@ build_location_dictionary (GVariant *previous,
if (location_3gpp_value)
g_variant_unref (location_3gpp_value);
location_3gpp_value = mm_location_3gpp_get_string_variant (location_3gpp);
- if (location_3gpp_value)
- g_variant_ref_sink (location_3gpp_value);
}
if (location_3gpp_value) {
+ g_assert (!g_variant_is_floating (location_3gpp_value));
g_variant_builder_add (&builder,
"{uv}",
MM_MODEM_LOCATION_SOURCE_3GPP_LAC_CI,
@@ -182,11 +181,10 @@ build_location_dictionary (GVariant *previous,
if (location_gps_nmea_value)
g_variant_unref (location_gps_nmea_value);
location_gps_nmea_value = mm_location_gps_nmea_get_string_variant (location_gps_nmea);
- if (location_gps_nmea_value)
- g_variant_ref_sink (location_gps_nmea_value);
}
if (location_gps_nmea_value) {
+ g_assert (!g_variant_is_floating (location_gps_nmea_value));
g_variant_builder_add (&builder,
"{uv}",
MM_MODEM_LOCATION_SOURCE_GPS_NMEA,
@@ -199,11 +197,10 @@ build_location_dictionary (GVariant *previous,
if (location_gps_raw_value)
g_variant_unref (location_gps_raw_value);
location_gps_raw_value = mm_location_gps_raw_get_dictionary (location_gps_raw);
- if (location_gps_raw_value)
- g_variant_ref_sink (location_gps_raw_value);
}
if (location_gps_raw_value) {
+ g_assert (!g_variant_is_floating (location_gps_raw_value));
g_variant_builder_add (&builder,
"{uv}",
MM_MODEM_LOCATION_SOURCE_GPS_RAW,
@@ -216,11 +213,10 @@ build_location_dictionary (GVariant *previous,
if (location_cdma_bs_value)
g_variant_unref (location_cdma_bs_value);
location_cdma_bs_value = mm_location_cdma_bs_get_dictionary (location_cdma_bs);
- if (location_cdma_bs_value)
- g_variant_ref_sink (location_cdma_bs_value);
}
if (location_cdma_bs_value) {
+ g_assert (!g_variant_is_floating (location_cdma_bs_value));
g_variant_builder_add (&builder,
"{uv}",
MM_MODEM_LOCATION_SOURCE_CDMA_BS,