[gimp/gimp-attributes-wip: 2/6] fix behaviour after restoring old gimpmetadata api



commit 2d7ebcadabe08211f34c2157a52dd4c31c01dd57
Author: Hartmut Kuhse <hk_priv gmx de>
Date:   Sat Nov 12 19:06:25 2016 +0100

    fix behaviour after restoring old gimpmetadata api

 libgimp/gimpimagemetadata.c  |    8 +++-----
 libgimpbase/gimpattributes.c |    9 ++++++---
 libgimpbase/gimpbase.def     |    1 +
 plug-ins/file-jpeg/jpeg.c    |   14 +++++++-------
 4 files changed, 17 insertions(+), 15 deletions(-)
---
diff --git a/libgimp/gimpimagemetadata.c b/libgimp/gimpimagemetadata.c
index b6aa38c..6aa36c0 100644
--- a/libgimp/gimpimagemetadata.c
+++ b/libgimp/gimpimagemetadata.c
@@ -190,7 +190,6 @@ gimp_image_metadata_load_finish (gint32                 image_ID,
   if (flags & GIMP_METADATA_LOAD_COLORSPACE)
     {
       GimpColorProfile *profile = gimp_image_get_color_profile (image_ID);
-      GimpAttribute *attribute = NULL;
 
       if (! profile)
         {
@@ -321,8 +320,8 @@ gimp_image_metadata_save_finish (gint32                  image_ID,
                                  GError                **error)
 {
   GExiv2Metadata *new_metadata;
-  GimpAttributes *attributes;
-  gboolean        success = FALSE;
+  GimpAttributes *attributes = NULL;
+  gboolean            success = FALSE;
   gchar               buffer[32];
   GDateTime          *datetime;
   const GimpParasite *comment_parasite;
@@ -334,7 +333,6 @@ gimp_image_metadata_save_finish (gint32                  image_ID,
 
   g_return_val_if_fail (image_ID > 0, FALSE);
   g_return_val_if_fail (mime_type != NULL, FALSE);
-  g_return_val_if_fail (attributes != NULL, FALSE);
   g_return_val_if_fail (G_IS_FILE (file), FALSE);
   g_return_val_if_fail (error == NULL || *error == NULL, FALSE);
 
@@ -393,7 +391,7 @@ gimp_image_metadata_save_finish (gint32                  image_ID,
 
       gimp_attributes_new_attribute (attributes,
                                      "Exif.Image.Software",
-                                     buffer,
+                                     PACKAGE_STRING,
                                      TYPE_ASCII);
 
       gimp_attributes_set_pixel_size (attributes,
diff --git a/libgimpbase/gimpattributes.c b/libgimpbase/gimpattributes.c
index 6746aa7..5cf46a2 100644
--- a/libgimpbase/gimpattributes.c
+++ b/libgimpbase/gimpattributes.c
@@ -82,9 +82,12 @@ struct Namespaces{
 };
 
 struct Namespaces namespaces_table[] = {
-  {"gimp",    "http://www.gimp.org/ns/2.10/";  },
-  {"dwc",     "http://rs.tdwg.org/dwc/terms/"; },
-  {"lr",      "http://ns.adobe.com/lr/1.0/";   }
+  {"gimp",     "http://www.gimp.org/ns/2.10/";                        },
+  {"dwc",      "http://rs.tdwg.org/dwc/terms/";                       },
+  {"lr",       "http://ns.adobe.com/lr/1.0/";                         },
+  {"gpano",    "http://ns.google.com/photos/1.0/panorama/";           },
+  {"panorama", "http://ns.adobe.com/photoshop/1.0/panorama-profile/"; }
+
 };
 
 static gpointer                  gimp_attributes_parent_class = NULL;
diff --git a/libgimpbase/gimpbase.def b/libgimpbase/gimpbase.def
index fcbde02..97b344c 100644
--- a/libgimpbase/gimpbase.def
+++ b/libgimpbase/gimpbase.def
@@ -123,6 +123,7 @@ EXPORTS
        gimp_metadata_load_from_file
        gimp_metadata_new
        gimp_metadata_save_to_file
+       gimp_metadata_set_bits_per_sample
        gimp_metadata_set_colorspace
        gimp_metadata_set_from_exif
        gimp_metadata_set_from_xmp
diff --git a/plug-ins/file-jpeg/jpeg.c b/plug-ins/file-jpeg/jpeg.c
index 0bbc7f8..298d1e3 100644
--- a/plug-ins/file-jpeg/jpeg.c
+++ b/plug-ins/file-jpeg/jpeg.c
@@ -287,7 +287,7 @@ run (const gchar      *name,
     }
   else if (strcmp (name, SAVE_PROC) == 0)
     {
-      GimpAttributes        *attributes;
+      GimpMetadata          *metadata;
       GimpMetadataSaveFlags  metadata_flags;
       gint32                 orig_image_ID;
       GimpExportReturn       export = GIMP_EXPORT_CANCEL;
@@ -337,7 +337,7 @@ run (const gchar      *name,
           break;
         }
 
-      attributes = gimp_image_metadata_save_prepare (orig_image_ID,
+      metadata = gimp_image_metadata_save_prepare (orig_image_ID,
                                                    "image/jpeg",
                                                    &metadata_flags);
 
@@ -541,12 +541,11 @@ run (const gchar      *name,
 
           /* write metadata */
 
-          if (attributes)
+          if (metadata)
             {
               GFile *file;
-              GimpAttribute  *attribute;
 
-              gimp_attributes_new_attribute (attributes, "Exif.Image.BitsPerSample", "8", TYPE_SHORT);
+              gimp_metadata_set_bits_per_sample (metadata, 8);
 
               if (jsvals.save_exif)
                 metadata_flags |= GIMP_METADATA_SAVE_EXIF;
@@ -571,12 +570,13 @@ run (const gchar      *name,
               file = g_file_new_for_path (param[3].data.d_string);
               gimp_image_metadata_save_finish (orig_image_ID,
                                                "image/jpeg",
-                                               attributes, metadata_flags,
+                                               metadata, metadata_flags,
                                                file, NULL);
               g_object_unref (file);
-              g_object_unref (attributes);
             }
         }
+      if (metadata)
+        g_object_unref (metadata);
     }
   else
     {


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]