[gimp] Bug 751584 - parasite_list() methods fail if no parasites found



commit 5b10339c5f50ca8383a989207d955520dec78cc1
Author: Jonathan Tait <jontait2 gmail com>
Date:   Tue Sep 15 02:11:38 2015 +0100

    Bug 751584 - parasite_list() methods fail if no parasites found
    
    Correct parasite_list() methods.

 plug-ins/pygimp/gimpmodule.c      |   21 +++++++--------------
 plug-ins/pygimp/pygimp-drawable.c |   21 +++++++--------------
 plug-ins/pygimp/pygimp-image.c    |   22 +++++++---------------
 plug-ins/pygimp/pygimp-vectors.c  |   21 +++++++--------------
 4 files changed, 28 insertions(+), 57 deletions(-)
---
diff --git a/plug-ins/pygimp/gimpmodule.c b/plug-ins/pygimp/gimpmodule.c
index 6f5f3ed..3800e44 100644
--- a/plug-ins/pygimp/gimpmodule.c
+++ b/plug-ins/pygimp/gimpmodule.c
@@ -1313,25 +1313,18 @@ pygimp_parasite_list(PyObject *self)
 {
     gint num_parasites;
     gchar **parasites;
+    PyObject *ret;
+    gint i;
 
     parasites = gimp_get_parasite_list (&num_parasites);
 
-    if (parasites) {
-        PyObject *ret;
-        gint i;
-
-        ret = PyTuple_New(num_parasites);
+    ret = PyTuple_New(num_parasites);
 
-        for (i = 0; i < num_parasites; i++) {
-            PyTuple_SetItem(ret, i, PyString_FromString(parasites[i]));
-        }
+    for (i = 0; i < num_parasites; i++)
+        PyTuple_SetItem(ret, i, PyString_FromString(parasites[i]));
 
-        g_strfreev(parasites);
-        return ret;
-    }
-
-    PyErr_SetString(pygimp_error, "could not list parasites");
-    return NULL;
+    g_strfreev(parasites);
+    return ret;
 }
 
 static PyObject *
diff --git a/plug-ins/pygimp/pygimp-drawable.c b/plug-ins/pygimp/pygimp-drawable.c
index 7a4247b..ffef1b9 100644
--- a/plug-ins/pygimp/pygimp-drawable.c
+++ b/plug-ins/pygimp/pygimp-drawable.c
@@ -309,25 +309,18 @@ drw_parasite_list(PyGimpDrawable *self)
 {
     gint num_parasites;
     gchar **parasites;
+    PyObject *ret;
+    gint i;
 
     parasites = gimp_item_get_parasite_list(self->ID, &num_parasites);
-    if (parasites) {
-       PyObject *ret;
-       gint i;
 
-       ret = PyTuple_New(num_parasites);
+    ret = PyTuple_New(num_parasites);
 
-       for (i = 0; i < num_parasites; i++) {
-           PyTuple_SetItem(ret, i, PyString_FromString(parasites[i]));
-       }
+    for (i = 0; i < num_parasites; i++)
+        PyTuple_SetItem(ret, i, PyString_FromString(parasites[i]));
 
-       g_strfreev(parasites);
-       return ret;
-    }
-
-    PyErr_Format(pygimp_error, "could not list parasites on drawable (ID %d)",
-                self->ID);
-    return NULL;
+    g_strfreev(parasites);
+    return ret;
 }
 
 static PyObject *
diff --git a/plug-ins/pygimp/pygimp-image.c b/plug-ins/pygimp/pygimp-image.c
index dbd9a91..450769f 100644
--- a/plug-ins/pygimp/pygimp-image.c
+++ b/plug-ins/pygimp/pygimp-image.c
@@ -725,26 +725,18 @@ img_parasite_list(PyGimpImage *self)
 {
     gint num_parasites;
     gchar **parasites;
+    PyObject *ret;
+    gint i;
 
     parasites = gimp_image_get_parasite_list (self->ID, &num_parasites);
 
-    if (parasites) {
-       PyObject *ret;
-       gint i;
-
-       ret = PyTuple_New(num_parasites);
-
-       for (i = 0; i < num_parasites; i++) {
-           PyTuple_SetItem(ret, i, PyString_FromString(parasites[i]));
-       }
+    ret = PyTuple_New(num_parasites);
 
-       g_strfreev(parasites);
-       return ret;
-    }
+    for (i = 0; i < num_parasites; i++)
+        PyTuple_SetItem(ret, i, PyString_FromString(parasites[i]));
 
-    PyErr_Format(pygimp_error, "could not list parasites on image (ID %d)",
-                self->ID);
-    return NULL;
+    g_strfreev(parasites);
+    return ret;
 }
 
 static PyObject *
diff --git a/plug-ins/pygimp/pygimp-vectors.c b/plug-ins/pygimp/pygimp-vectors.c
index d4ea9de..155e3e8 100644
--- a/plug-ins/pygimp/pygimp-vectors.c
+++ b/plug-ins/pygimp/pygimp-vectors.c
@@ -697,25 +697,18 @@ vectors_parasite_list(PyGimpVectors *self)
 {
     gint num_parasites;
     gchar **parasites;
+    PyObject *ret;
+    gint i;
 
     parasites = gimp_item_get_parasite_list(self->ID, &num_parasites);
-    if (parasites) {
-        PyObject *ret;
-        gint i;
 
-        ret = PyTuple_New(num_parasites);
+    ret = PyTuple_New(num_parasites);
 
-        for (i = 0; i < num_parasites; i++) {
-            PyTuple_SetItem(ret, i, PyString_FromString(parasites[i]));
-        }
+    for (i = 0; i < num_parasites; i++)
+        PyTuple_SetItem(ret, i, PyString_FromString(parasites[i]));
 
-        g_strfreev(parasites);
-        return ret;
-    }
-
-    PyErr_Format(pygimp_error, "could not list parasites on vectors (ID %d)",
-                 self->ID);
-    return NULL;
+    g_strfreev(parasites);
+    return ret;
 }
 
 static PyMethodDef vectors_methods[] = {


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