diff options
Diffstat (limited to 'src/core/text.c')
-rw-r--r-- | src/core/text.c | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/src/core/text.c b/src/core/text.c index e36050e..3b726fd 100644 --- a/src/core/text.c +++ b/src/core/text.c @@ -491,14 +491,18 @@ dom_exception walk_logic_adjacent_text(dom_text *text, return err; } - err = dom_string_concat(*ret, data, &tmp); - dom_string_unref(data); - dom_string_unref(*ret); - if (err != DOM_NO_ERR) { - return err; - } + if (*ret != NULL) { + err = dom_string_concat(*ret, data, &tmp); + dom_string_unref(data); + dom_string_unref(*ret); + if (err != DOM_NO_ERR) { + return err; + } - *ret = tmp; + *ret = tmp; + } else { + *ret = data; + } } else { dom_node_internal *tn; err = dom_node_remove_child(node->parent, node, |