summaryrefslogtreecommitdiffstats
path: root/swig
diff options
context:
space:
mode:
authorFrederic Peters <fpeters@entrouvert.com>2006-03-06 16:36:51 +0000
committerFrederic Peters <fpeters@entrouvert.com>2006-03-06 16:36:51 +0000
commitf597a23d6200da6326503e5be3620ed683349eac (patch)
tree5058fa2307cf96ef30a1f96e5d26e93b39ecd94e /swig
parent3bbb92979ce42aad7e8904c6d2a183c4694e7780 (diff)
downloadlasso-f597a23d6200da6326503e5be3620ed683349eac.tar.gz
lasso-f597a23d6200da6326503e5be3620ed683349eac.tar.xz
lasso-f597a23d6200da6326503e5be3620ed683349eac.zip
don't unref/affect the same pointer; this will cause segfaults (seen in java)
Diffstat (limited to 'swig')
-rw-r--r--swig/Lasso.i6
1 files changed, 6 insertions, 0 deletions
diff --git a/swig/Lasso.i b/swig/Lasso.i
index 4dda7056..22f0301a 100644
--- a/swig/Lasso.i
+++ b/swig/Lasso.i
@@ -1309,6 +1309,9 @@ static xmlNode *get_string_xml(const char *string) {
static void set_node(gpointer *nodePointer, gpointer value)
{
+ if (*nodePointer == value)
+ return;
+
if (*nodePointer != NULL)
/* Test added to help debugging. */
if (LASSO_IS_NODE(*nodePointer))
@@ -1589,6 +1592,9 @@ typedef struct {
}
void setItem(int index, LassoNode *item) {
LassoNode **itemPointer = (LassoNode **) &g_ptr_array_index(self, index);
+ if (*itemPointer == item)
+ return;
+
if (*itemPointer != NULL)
/* Test added to help debugging. */
if (LASSO_IS_NODE(*itemPointer))