summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gdata/gdata-entry.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/gdata/gdata-entry.c b/gdata/gdata-entry.c
index 2d84bc63..4a4f35a5 100644
--- a/gdata/gdata-entry.c
+++ b/gdata/gdata-entry.c
@@ -787,11 +787,14 @@ gdata_entry_get_id (GDataEntry *self)
/* We have to get the actual property since GDataDocumentsEntry overrides it. We then store it in our own ID field so that we can
* free it later on. */
g_object_get (G_OBJECT (self), "id", &id, NULL);
+ if (g_strcmp0 (id, self->priv->id) != 0) {
+ g_free (self->priv->id);
+ self->priv->id = id;
+ } else {
+ g_free (id);
+ }
- g_free (self->priv->id);
- self->priv->id = id;
-
- return id;
+ return self->priv->id;
}
/**