summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorClaudio Saavedra <csaavedra@igalia.com>2009-04-26 11:44:43 +0300
committerClaudio Saavedra <csaavedra@igalia.com>2009-04-26 14:15:02 +0300
commita10ab24418ce04dbef3d6809105e6572cb07db69 (patch)
tree1697ea7f063148c2cff37e2168e967d95cdbbf01
parent30cdce7787d7d3f28b4b7e696563454f97970f93 (diff)
downloadeog-a10ab24418ce04dbef3d6809105e6572cb07db69.tar.gz
Plug a leak in EogImage
* src/eog-image.c: (eog_image_set_exif_data): Unref the EXIF data before setting it, to avoid leaking it in case it is loaded more than once.
-rw-r--r--ChangeLog6
-rw-r--r--src/eog-image.c3
2 files changed, 9 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index d762bd44..d8777199 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2009-04-26 Claudio Saavedra <csaavedra@igalia.com>
+
+ * src/eog-image.c: (eog_image_set_exif_data): Unref the EXIF
+ data before setting it, to avoid leaking it in case it is loaded
+ more than once.
+
2009-04-23 Claudio Saavedra <csaavedra@igalia.com>
* src/eog-thumb-nav.c: (eog_thumb_nav_set_mode): Do not set
diff --git a/src/eog-image.c b/src/eog-image.c
index 840dd0cd..f4a846ff 100644
--- a/src/eog-image.c
+++ b/src/eog-image.c
@@ -751,6 +751,9 @@ eog_image_set_exif_data (EogImage *img, EogMetadataReader *md_reader)
priv = img->priv;
#ifdef HAVE_EXIF
+ if (priv->exif) {
+ exif_data_unref (priv->exif);
+ }
priv->exif = eog_metadata_reader_get_exif_data (md_reader);
priv->exif_chunk = NULL;