Add XML layout engine (WIP).

This commit is contained in:
Daiki Ueno
2011-01-26 19:24:06 +09:00
parent 0dd37a39b9
commit d29e83e5f6
8 changed files with 65 additions and 28 deletions

View File

@ -83,9 +83,12 @@ validate (const gchar *element_name,
{
gint i;
gchar *element_path;
GSList *head;
head = g_slist_prepend (element_stack, element_name);
element_path = join_element_names (head);
g_slist_free1 (head);
element_stack = g_slist_prepend (element_stack, element_name);
element_path = join_element_names (element_stack);
for (i = 0; i < G_N_ELEMENTS(valid_path_list); i++) {
if (*valid_path_list[i] == '@')
continue;
@ -163,11 +166,11 @@ end_element_callback (GMarkupParseContext *pcontext,
GError **error)
{
ParseCallbackData *data = user_data;
GSList *head = data->element_stack;
g_free (data->element_stack->data);
data->element_stack = g_slist_remove_link (data->element_stack,
data->element_stack);
g_slist_free1 (data->element_stack);
g_free (head->data);
data->element_stack = g_slist_next (data->element_stack);
g_slist_free1 (head);
}
static void