diff options
Diffstat (limited to 'src/treebuilder/treebuilder.c')
-rw-r--r-- | src/treebuilder/treebuilder.c | 22 |
1 files changed, 13 insertions, 9 deletions
diff --git a/src/treebuilder/treebuilder.c b/src/treebuilder/treebuilder.c index c9a41be..1f6baef 100644 --- a/src/treebuilder/treebuilder.c +++ b/src/treebuilder/treebuilder.c @@ -517,16 +517,20 @@ void parse_generic_rcdata(hubbub_treebuilder *treebuilder, /** \todo associate textarea with form */ } - success = treebuilder->tree_handler->append_child( - treebuilder->tree_handler->ctx, - treebuilder->context.element_stack[ - treebuilder->context.current_node].node, - node, &appended); - if (success != 0) { - /** \todo errors */ - treebuilder->tree_handler->unref_node( + if (treebuilder->context.in_table_foster) { + aa_insert_into_foster_parent(treebuilder, node); + } else { + success = treebuilder->tree_handler->append_child( treebuilder->tree_handler->ctx, - node); + treebuilder->context.element_stack[ + treebuilder->context.current_node].node, + node, &appended); + if (success != 0) { + /** \todo errors */ + treebuilder->tree_handler->unref_node( + treebuilder->tree_handler->ctx, + node); + } } params.content_model.model = rcdata ? HUBBUB_CONTENT_MODEL_RCDATA |