diff options
author | Frederic Peters <fpeters@entrouvert.com> | 2006-03-06 16:36:51 +0000 |
---|---|---|
committer | Frederic Peters <fpeters@entrouvert.com> | 2006-03-06 16:36:51 +0000 |
commit | f597a23d6200da6326503e5be3620ed683349eac (patch) | |
tree | 5058fa2307cf96ef30a1f96e5d26e93b39ecd94e /swig | |
parent | 3bbb92979ce42aad7e8904c6d2a183c4694e7780 (diff) | |
download | lasso-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.i | 6 |
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)) |