X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=openbox%2Factions%2Fif.c;h=5f4a356f8d121d644363dc16dde8e6b46614454f;hb=d179d6428ae585a3b8a13479bfe4586e41de2ff9;hp=63a7fbcd20d10c235282ce5e6fe99888e9dec06b;hpb=5563e251c36a1fbda703cf4bc3c8c6ae543829bd;p=chaz%2Fopenbox diff --git a/openbox/actions/if.c b/openbox/actions/if.c index 63a7fbcd..5f4a356f 100644 --- a/openbox/actions/if.c +++ b/openbox/actions/if.c @@ -29,7 +29,7 @@ static gboolean run_func(ObActionsData *data, gpointer options); void action_if_startup(void) { - actions_register("If", setup_func, free_func, run_func, NULL, NULL); + actions_register("If", setup_func, free_func, run_func); } static gpointer setup_func(xmlNodePtr node) @@ -37,63 +37,63 @@ static gpointer setup_func(xmlNodePtr node) xmlNodePtr n; Options *o; - o = g_new0(Options, 1); + o = g_slice_new0(Options); - if ((n = obt_parse_find_node(node, "shaded"))) { - if (obt_parse_node_bool(n)) + if ((n = obt_xml_find_node(node, "shaded"))) { + if (obt_xml_node_bool(n)) o->shaded_on = TRUE; else o->shaded_off = TRUE; } - if ((n = obt_parse_find_node(node, "maximized"))) { - if (obt_parse_node_bool(n)) + if ((n = obt_xml_find_node(node, "maximized"))) { + if (obt_xml_node_bool(n)) o->maxfull_on = TRUE; else o->maxfull_off = TRUE; } - if ((n = obt_parse_find_node(node, "maximizedhorizontal"))) { - if (obt_parse_node_bool(n)) + if ((n = obt_xml_find_node(node, "maximizedhorizontal"))) { + if (obt_xml_node_bool(n)) o->maxhorz_on = TRUE; else o->maxhorz_off = TRUE; } - if ((n = obt_parse_find_node(node, "maximizedvertical"))) { - if (obt_parse_node_bool(n)) + if ((n = obt_xml_find_node(node, "maximizedvertical"))) { + if (obt_xml_node_bool(n)) o->maxvert_on = TRUE; else o->maxvert_off = TRUE; } - if ((n = obt_parse_find_node(node, "iconified"))) { - if (obt_parse_node_bool(n)) + if ((n = obt_xml_find_node(node, "iconified"))) { + if (obt_xml_node_bool(n)) o->iconic_on = TRUE; else o->iconic_off = TRUE; } - if ((n = obt_parse_find_node(node, "focused"))) { - if (obt_parse_node_bool(n)) + if ((n = obt_xml_find_node(node, "focused"))) { + if (obt_xml_node_bool(n)) o->focused = TRUE; else o->unfocused = TRUE; } - if ((n = obt_parse_find_node(node, "then"))) { + if ((n = obt_xml_find_node(node, "then"))) { xmlNodePtr m; - m = obt_parse_find_node(n->children, "action"); + m = obt_xml_find_node(n->children, "action"); while (m) { ObActionsAct *action = actions_parse(m); - if (action) o->thenacts = g_slist_prepend(o->thenacts, action); - m = obt_parse_find_node(m->next, "action"); + if (action) o->thenacts = g_slist_append(o->thenacts, action); + m = obt_xml_find_node(m->next, "action"); } } - if ((n = obt_parse_find_node(node, "else"))) { + if ((n = obt_xml_find_node(node, "else"))) { xmlNodePtr m; - m = obt_parse_find_node(n->children, "action"); + m = obt_xml_find_node(n->children, "action"); while (m) { ObActionsAct *action = actions_parse(m); - if (action) o->elseacts = g_slist_prepend(o->elseacts, action); - m = obt_parse_find_node(m->next, "action"); + if (action) o->elseacts = g_slist_append(o->elseacts, action); + m = obt_xml_find_node(m->next, "action"); } } @@ -113,7 +113,7 @@ static void free_func(gpointer options) o->elseacts = g_slist_delete_link(o->elseacts, o->elseacts); } - g_free(o); + g_slice_free(Options, o); } /* Always return FALSE because its not interactive */