[gimp] app: replace gimp_parasite_data*() with gimp_parasite_get_data().
- From: Jehan <jehanp src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gimp] app: replace gimp_parasite_data*() with gimp_parasite_get_data().
- Date: Fri, 29 Jan 2021 22:53:35 +0000 (UTC)
commit ee26a390494783c928174a427386caa6e01527e3
Author: Jehan <jehan girinstud io>
Date: Fri Jan 29 23:52:03 2021 +0100
app: replace gimp_parasite_data*() with gimp_parasite_get_data().
app/core/gimpgrid.c | 2 +-
app/core/gimpimage-color-profile.c | 28 +++++++++++++++++-----------
app/core/gimpimage.c | 11 +++++++----
app/core/gimpparasitelist.c | 10 ++++++----
app/core/gimpsymmetry.c | 9 ++++++---
app/core/gimptemplate.c | 8 ++++++--
app/tests/test-xcf.c | 17 +++++++++++++----
app/text/gimptext-parasite.c | 14 +++++++++++---
app/widgets/gimpimagecommenteditor.c | 7 +++++--
app/xcf/xcf-load.c | 25 +++++++++++++++++--------
app/xcf/xcf-save.c | 13 ++++++-------
11 files changed, 95 insertions(+), 49 deletions(-)
---
diff --git a/app/core/gimpgrid.c b/app/core/gimpgrid.c
index 0a8fd0ecd3..e85df78377 100644
--- a/app/core/gimpgrid.c
+++ b/app/core/gimpgrid.c
@@ -325,7 +325,7 @@ gimp_grid_from_parasite (const GimpParasite *parasite)
g_return_val_if_fail (strcmp (gimp_parasite_name (parasite),
gimp_grid_parasite_name ()) == 0, NULL);
- if (! gimp_parasite_data (parasite))
+ if (! gimp_parasite_get_data (parasite, NULL))
{
g_warning ("Empty grid parasite");
diff --git a/app/core/gimpimage-color-profile.c b/app/core/gimpimage-color-profile.c
index 96eeaf727d..311f40ddf5 100644
--- a/app/core/gimpimage-color-profile.c
+++ b/app/core/gimpimage-color-profile.c
@@ -184,6 +184,9 @@ gimp_image_validate_icc_parasite (GimpImage *image,
gboolean *is_builtin,
GError **error)
{
+ const guint8 *data;
+ guint32 data_size;
+
g_return_val_if_fail (GIMP_IS_IMAGE (image), FALSE);
g_return_val_if_fail (icc_parasite != NULL, FALSE);
g_return_val_if_fail (error == NULL || *error == NULL, FALSE);
@@ -206,11 +209,8 @@ gimp_image_validate_icc_parasite (GimpImage *image,
return FALSE;
}
- return gimp_image_validate_icc_profile (image,
- gimp_parasite_data (icc_parasite),
- gimp_parasite_data_size (icc_parasite),
- is_builtin,
- error);
+ data = gimp_parasite_get_data (icc_parasite, &data_size);
+ return gimp_image_validate_icc_profile (image, data, data_size, is_builtin, error);
}
const GimpParasite *
@@ -284,10 +284,15 @@ gimp_image_get_icc_profile (GimpImage *image,
if (parasite)
{
+ const guint8 *data;
+ guint32 data_size;
+
+ data = gimp_parasite_get_data (parasite, &data_size);
+
if (length)
- *length = gimp_parasite_data_size (parasite);
+ *length = (gsize) data_size;
- return gimp_parasite_data (parasite);
+ return data;
}
if (length)
@@ -807,12 +812,13 @@ _gimp_image_update_color_profile (GimpImage *image,
if (icc_parasite)
{
- GError *error = NULL;
+ GError *error = NULL;
+ const guint8 *data;
+ guint32 data_size;
+ data = gimp_parasite_get_data (icc_parasite, &data_size);
private->color_profile =
- gimp_color_profile_new_from_icc_profile (gimp_parasite_data (icc_parasite),
- gimp_parasite_data_size (icc_parasite),
- NULL);
+ gimp_color_profile_new_from_icc_profile (data, data_size, NULL);
private->layer_space =
gimp_color_profile_get_space (private->color_profile,
diff --git a/app/core/gimpimage.c b/app/core/gimpimage.c
index 818ed949da..7ac19ebbdf 100644
--- a/app/core/gimpimage.c
+++ b/app/core/gimpimage.c
@@ -4007,10 +4007,11 @@ gimp_image_parasite_validate (GimpImage *image,
}
else if (strcmp (name, "gimp-comment") == 0)
{
- const gchar *data = gimp_parasite_data (parasite);
- gssize length = gimp_parasite_data_size (parasite);
+ const gchar *data;
+ guint32 length;
gboolean valid = FALSE;
+ data = gimp_parasite_get_data (parasite, &length);
if (length > 0)
{
if (data[length - 1] == '\0')
@@ -4052,10 +4053,12 @@ gimp_image_parasite_attach (GimpImage *image,
{
GimpColorProfile *profile;
GimpColorProfile *builtin;
+ const guint8 *parasite_data;
+ guint32 parasite_length;
+ parasite_data = gimp_parasite_get_data (parasite, ¶site_length);
profile =
- gimp_color_profile_new_from_icc_profile (gimp_parasite_data (parasite),
- gimp_parasite_data_size (parasite),
+ gimp_color_profile_new_from_icc_profile (parasite_data, parasite_length,
NULL);
builtin = gimp_image_get_builtin_color_profile (image);
diff --git a/app/core/gimpparasitelist.c b/app/core/gimpparasitelist.c
index e71e711c60..08c36d7fc8 100644
--- a/app/core/gimpparasitelist.c
+++ b/app/core/gimpparasitelist.c
@@ -405,19 +405,21 @@ parasite_serialize (const gchar *key,
GimpParasite *parasite,
GimpConfigWriter *writer)
{
+ const guint8 *parasite_contents;
+ guint32 parasite_size;
+
if (! gimp_parasite_is_persistent (parasite))
return;
gimp_config_writer_open (writer, parasite_symbol);
+ parasite_contents = gimp_parasite_get_data (parasite, ¶site_size);
gimp_config_writer_printf (writer, "\"%s\" %lu %lu",
gimp_parasite_name (parasite),
gimp_parasite_flags (parasite),
- gimp_parasite_data_size (parasite));
+ (long unsigned int) parasite_size);
- gimp_config_writer_data (writer,
- gimp_parasite_data_size (parasite),
- gimp_parasite_data (parasite));
+ gimp_config_writer_data (writer, parasite_size, parasite_contents);
gimp_config_writer_close (writer);
gimp_config_writer_linefeed (writer);
diff --git a/app/core/gimpsymmetry.c b/app/core/gimpsymmetry.c
index 1b9e1cb44a..88be0744b9 100644
--- a/app/core/gimpsymmetry.c
+++ b/app/core/gimpsymmetry.c
@@ -521,6 +521,8 @@ gimp_symmetry_from_parasite (const GimpParasite *parasite,
{
GimpSymmetry *symmetry;
gchar *parasite_name;
+ gchar *parasite_contents;
+ guint32 parasite_size;
GError *error = NULL;
parasite_name = gimp_symmetry_parasite_name (type);
@@ -530,7 +532,8 @@ gimp_symmetry_from_parasite (const GimpParasite *parasite,
parasite_name) == 0,
NULL);
- if (! gimp_parasite_data (parasite))
+ parasite_contents = (gchar *) gimp_parasite_get_data (parasite, ¶site_size);
+ if (! parasite_contents)
{
g_warning ("Empty symmetry parasite \"%s\"", parasite_name);
@@ -549,9 +552,9 @@ gimp_symmetry_from_parasite (const GimpParasite *parasite,
&error))
{
g_printerr ("Failed to deserialize symmetry parasite: %s\n"
- "\t- parasite name: %s\n\t- parasite data: %s\n",
+ "\t- parasite name: %s\n\t- parasite data: %.*s\n",
error->message, parasite_name,
- (gchar *) gimp_parasite_data (parasite));
+ parasite_size, parasite_contents);
g_error_free (error);
g_object_unref (symmetry);
diff --git a/app/core/gimptemplate.c b/app/core/gimptemplate.c
index f3ff2e6e09..71a75ff578 100644
--- a/app/core/gimptemplate.c
+++ b/app/core/gimptemplate.c
@@ -471,8 +471,12 @@ gimp_template_set_from_image (GimpTemplate *template,
parasite = gimp_image_parasite_find (image, "gimp-comment");
if (parasite)
- comment = g_strndup (gimp_parasite_data (parasite),
- gimp_parasite_data_size (parasite));
+ {
+ guint32 parasite_size;
+
+ comment = (gchar *) gimp_parasite_get_data (parasite, ¶site_size);
+ comment = g_strndup (comment, parasite_size);
+ }
g_object_set (template,
"width", gimp_image_get_width (image),
diff --git a/app/tests/test-xcf.c b/app/tests/test-xcf.c
index e665595790..0063ad0215 100644
--- a/app/tests/test-xcf.c
+++ b/app/tests/test-xcf.c
@@ -730,6 +730,8 @@ gimp_assert_mainimage (GimpImage *image,
gboolean use_gimp_2_8_features)
{
const GimpParasite *parasite = NULL;
+ gchar *parasite_data = NULL;
+ guint32 parasite_size = -1;
GimpLayer *layer = NULL;
GList *iter = NULL;
GimpGuide *guide = NULL;
@@ -873,20 +875,27 @@ gimp_assert_mainimage (GimpImage *image,
/* Parasites */
parasite = gimp_image_parasite_find (image,
GIMP_MAINIMAGE_PARASITE_NAME);
- g_assert_cmpint (gimp_parasite_data_size (parasite),
+ parasite_data = (gchar *) gimp_parasite_get_data (parasite, ¶site_size);
+ parasite_data = g_strndup (parasite_data, parasite_size);
+ g_assert_cmpint (parasite_size,
==,
GIMP_MAINIMAGE_PARASITE_SIZE);
- g_assert_cmpstr (gimp_parasite_data (parasite),
+ g_assert_cmpstr (parasite_data,
==,
GIMP_MAINIMAGE_PARASITE_DATA);
+ g_free (parasite_data);
+
parasite = gimp_image_parasite_find (image,
"gimp-comment");
- g_assert_cmpint (gimp_parasite_data_size (parasite),
+ parasite_data = (gchar *) gimp_parasite_get_data (parasite, ¶site_size);
+ parasite_data = g_strndup (parasite_data, parasite_size);
+ g_assert_cmpint (parasite_size,
==,
strlen (GIMP_MAINIMAGE_COMMENT) + 1);
- g_assert_cmpstr (gimp_parasite_data (parasite),
+ g_assert_cmpstr (parasite_data,
==,
GIMP_MAINIMAGE_COMMENT);
+ g_free (parasite_data);
/* Unit */
g_assert_cmpint (gimp_image_get_unit (image),
diff --git a/app/text/gimptext-parasite.c b/app/text/gimptext-parasite.c
index b07e66a53c..57eb8fcddd 100644
--- a/app/text/gimptext-parasite.c
+++ b/app/text/gimptext-parasite.c
@@ -68,6 +68,8 @@ gimp_text_from_parasite (const GimpParasite *parasite,
GError **error)
{
GimpText *text;
+ gchar *parasite_data;
+ guint32 parasite_data_size;
g_return_val_if_fail (parasite != NULL, NULL);
g_return_val_if_fail (strcmp (gimp_parasite_name (parasite),
@@ -76,12 +78,15 @@ gimp_text_from_parasite (const GimpParasite *parasite,
text = g_object_new (GIMP_TYPE_TEXT, NULL);
- if (gimp_parasite_data (parasite))
+ parasite_data = (gchar *) gimp_parasite_get_data (parasite, ¶site_data_size);
+ if (parasite_data)
{
+ parasite_data = g_strndup (parasite_data, parasite_data_size);
gimp_config_deserialize_parasite (GIMP_CONFIG (text),
parasite,
NULL,
error);
+ g_free (parasite_data);
}
else
{
@@ -122,9 +127,10 @@ gimp_text_from_gdyntext_parasite (const GimpParasite *parasite)
{
GimpText *retval = NULL;
GimpTextJustification justify;
- const gchar *str;
+ gchar *str;
gchar *text = NULL;
gchar **params;
+ guint32 parasite_data_size;
gboolean antialias;
gdouble spacing;
GimpRGB rgb;
@@ -136,7 +142,8 @@ gimp_text_from_gdyntext_parasite (const GimpParasite *parasite)
gimp_text_gdyntext_parasite_name ()) == 0,
NULL);
- str = gimp_parasite_data (parasite);
+ str = (gchar *) gimp_parasite_get_data (parasite, ¶site_data_size);
+ str = g_strndup (str, parasite_data_size);
g_return_val_if_fail (str != NULL, NULL);
if (! g_str_has_prefix (str, "GDT10{")) /* magic value */
@@ -185,6 +192,7 @@ gimp_text_from_gdyntext_parasite (const GimpParasite *parasite)
gimp_text_set_font_from_xlfd (GIMP_TEXT (retval), params[XLFD]);
cleanup:
+ g_free (str);
g_free (text);
g_strfreev (params);
diff --git a/app/widgets/gimpimagecommenteditor.c b/app/widgets/gimpimagecommenteditor.c
index 490ba567d4..d796d739e0 100644
--- a/app/widgets/gimpimagecommenteditor.c
+++ b/app/widgets/gimpimagecommenteditor.c
@@ -159,8 +159,11 @@ gimp_image_comment_editor_update (GimpImageParasiteView *view)
if (parasite)
{
- gchar *text = g_strndup (gimp_parasite_data (parasite),
- gimp_parasite_data_size (parasite));
+ gchar *text;
+ guint32 text_size;
+
+ text = (gchar *) gimp_parasite_get_data (parasite, &text_size);
+ text = g_strndup (text, text_size);
if (! g_utf8_validate (text, -1, NULL))
{
diff --git a/app/xcf/xcf-load.c b/app/xcf/xcf-load.c
index 38717828d8..462ae8ac1e 100644
--- a/app/xcf/xcf-load.c
+++ b/app/xcf/xcf-load.c
@@ -281,12 +281,16 @@ xcf_load_image (Gimp *gimp,
{
GimpImagePrivate *private = GIMP_IMAGE_GET_PRIVATE (image);
GimpMetadata *metadata = NULL;
- const gchar *meta_string;
-
- meta_string = (gchar *) gimp_parasite_data (parasite);
+ gchar *meta_string;
+ guint32 parasite_data_size;
+ meta_string = (gchar *) gimp_parasite_get_data (parasite, ¶site_data_size);
if (meta_string)
- metadata = gimp_metadata_deserialize (meta_string);
+ {
+ meta_string = g_strndup (meta_string, parasite_data_size);
+ metadata = gimp_metadata_deserialize (meta_string);
+ g_free (meta_string);
+ }
if (metadata)
{
@@ -350,6 +354,10 @@ xcf_load_image (Gimp *gimp,
{
GimpMetadata *metadata = gimp_image_get_metadata (image);
GError *my_error = NULL;
+ const guchar *parasite_data;
+ guint32 parasite_data_size;
+
+ parasite_data = (const guchar *) gimp_parasite_get_data (parasite, ¶site_data_size);
if (metadata)
g_object_ref (metadata);
@@ -357,8 +365,7 @@ xcf_load_image (Gimp *gimp,
metadata = gimp_metadata_new ();
if (! gimp_metadata_set_from_exif (metadata,
- gimp_parasite_data (parasite),
- gimp_parasite_data_size (parasite),
+ parasite_data, parasite_data_size,
&my_error))
{
gimp_message (gimp, G_OBJECT (info->progress),
@@ -386,8 +393,10 @@ xcf_load_image (Gimp *gimp,
if (parasite)
{
GimpImagePrivate *private = GIMP_IMAGE_GET_PRIVATE (image);
- const gchar *xmp_data = gimp_parasite_data (parasite);
- gint xmp_length = gimp_parasite_data_size (parasite);
+ const gchar *xmp_data;
+ guint32 xmp_length;
+
+ xmp_data = (gchar *) gimp_parasite_get_data (parasite, &xmp_length);
if (has_metadata)
{
diff --git a/app/xcf/xcf-save.c b/app/xcf/xcf-save.c
index e369d0e5d2..da3b5d3da5 100644
--- a/app/xcf/xcf-save.c
+++ b/app/xcf/xcf-save.c
@@ -1950,9 +1950,10 @@ xcf_save_parasite (XcfInfo *info,
{
if (gimp_parasite_is_persistent (parasite))
{
- guint32 value;
- const gchar *string;
- GError *tmp_error = NULL;
+ guint32 value;
+ const gchar *string;
+ GError *tmp_error = NULL;
+ gconstpointer parasite_data;
string = gimp_parasite_name (parasite);
xcf_write_string_check_error (info, (gchar **) &string, 1);
@@ -1960,12 +1961,10 @@ xcf_save_parasite (XcfInfo *info,
value = gimp_parasite_flags (parasite);
xcf_write_int32_check_error (info, &value, 1);
- value = gimp_parasite_data_size (parasite);
+ parasite_data = gimp_parasite_get_data (parasite, &value);
xcf_write_int32_check_error (info, &value, 1);
- xcf_write_int8_check_error (info,
- gimp_parasite_data (parasite),
- gimp_parasite_data_size (parasite));
+ xcf_write_int8_check_error (info, parasite_data, value);
}
return TRUE;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]