diff --git a/libgimp/gimpprocedureconfig.c b/libgimp/gimpprocedureconfig.c index a7e71f4cd3..6c0082d846 100644 --- a/libgimp/gimpprocedureconfig.c +++ b/libgimp/gimpprocedureconfig.c @@ -846,6 +846,7 @@ gimp_procedure_config_save_metadata (GimpProcedureConfig *config, if (config->priv->metadata && ! config->priv->metadata_saved) { GObjectClass *object_class = G_OBJECT_GET_CLASS (config); + GError *error = NULL; gint i; for (i = 0; i < G_N_ELEMENTS (metadata_properties); i++) @@ -869,11 +870,22 @@ gimp_procedure_config_save_metadata (GimpProcedureConfig *config, } } - gimp_image_metadata_save_finish (exported_image, - config->priv->mime_type, - config->priv->metadata, - config->priv->metadata_flags, - file, NULL); + if (! gimp_image_metadata_save_finish (exported_image, + config->priv->mime_type, + config->priv->metadata, + config->priv->metadata_flags, + file, &error)) + { + if (error) + { + /* Even though a failure to write metadata is not enough + reason to say we failed to save the image, we should + still notify the user about the problem. */ + g_message ("%s: saving metadata failed: %s", + G_STRFUNC, error->message); + g_error_free (error); + } + } config->priv->metadata_saved = TRUE; }