[gimp/metadata-browser: 29/44] Serialize values if no raw data is set.
- From: Roman Joost <romanofski src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gimp/metadata-browser: 29/44] Serialize values if no raw data is set.
- Date: Wed, 12 Sep 2012 23:09:12 +0000 (UTC)
commit 283749e8052822a6164fd64bc3fd006e7f41c1f2
Author: Roman Joost <roman bromeco de>
Date: Wed Sep 28 20:06:23 2011 +1000
Serialize values if no raw data is set.
Correctly serialize XMP Metadata in case the user creates an empty image
and attaches metadata to it.
plug-ins/metadata/xmp-encode.c | 6 +++++-
1 files changed, 5 insertions(+), 1 deletions(-)
---
diff --git a/plug-ins/metadata/xmp-encode.c b/plug-ins/metadata/xmp-encode.c
index fd6adcb..6af1d28 100644
--- a/plug-ins/metadata/xmp-encode.c
+++ b/plug-ins/metadata/xmp-encode.c
@@ -278,6 +278,7 @@ xmp_generate_packet (XMPModel *xmp_model,
GtkTreeIter child;
const XMPSchema *schema;
gpointer saved_ref;
+ const gchar *saved_value;
g_return_if_fail (xmp_model != NULL);
g_return_if_fail (buffer != NULL);
@@ -302,6 +303,7 @@ xmp_generate_packet (XMPModel *xmp_model,
if (gtk_tree_model_iter_children (model, &child, &iter))
{
saved_ref = NULL;
+ saved_value = NULL;
do
{
const XMPProperty *property;
@@ -314,9 +316,11 @@ xmp_generate_packet (XMPModel *xmp_model,
COL_XMP_VALUE_RAW, &value_array,
-1);
/* do not process structured types multiple times */
- if (saved_ref != value_array)
+ if (saved_ref != value_array
+ || (value != NULL && saved_value != value))
{
saved_ref = value_array;
+ saved_value = value;
g_return_if_fail (property->name != NULL);
gen_property (buffer, schema, property, value, value_array);
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]