X-Git-Url: https://git.brokenzipper.com/gitweb?a=blobdiff_plain;f=openbox%2Factions%2Fresizerelative.c;h=1d42df2399e42e28123758c9bb60d9cc12fcabb0;hb=197ee0ad4732c8668fe38a6b49e0a747866ef3ea;hp=f705c292bf8b75d4f30607cf6bf9875378e73ba0;hpb=2b8b5da04b14af1639143cc332874c7e1a03a8bb;p=chaz%2Fopenbox diff --git a/openbox/actions/resizerelative.c b/openbox/actions/resizerelative.c index f705c292..1d42df23 100644 --- a/openbox/actions/resizerelative.c +++ b/openbox/actions/resizerelative.c @@ -11,45 +11,39 @@ typedef struct { gint bottom; } Options; -static gpointer setup_func(ObParseInst *i, xmlDocPtr doc, xmlNodePtr node); +static gpointer setup_func(xmlNodePtr node); static void free_func(gpointer options); static gboolean run_func(ObActionsData *data, gpointer options); void action_resizerelative_startup(void) { - actions_register("ResizeRelative", - setup_func, - free_func, - run_func, - NULL, NULL); + actions_register("ResizeRelative", setup_func, free_func, run_func); } -static gpointer setup_func(ObParseInst *i, xmlDocPtr doc, xmlNodePtr node) +static gpointer setup_func(xmlNodePtr node) { xmlNodePtr n; Options *o; - o = g_new0(Options, 1); + o = g_slice_new0(Options); - if ((n = parse_find_node("left", node))) - o->left = parse_int(doc, n); - if ((n = parse_find_node("right", node))) - o->right = parse_int(doc, n); - if ((n = parse_find_node("top", node)) || - (n = parse_find_node("up", node))) - o->top = parse_int(doc, n); - if ((n = parse_find_node("bottom", node)) || - (n = parse_find_node("down", node))) - o->bottom = parse_int(doc, n); + if ((n = obt_xml_find_node(node, "left"))) + o->left = obt_xml_node_int(n); + if ((n = obt_xml_find_node(node, "right"))) + o->right = obt_xml_node_int(n); + if ((n = obt_xml_find_node(node, "top")) || + (n = obt_xml_find_node(node, "up"))) + o->top = obt_xml_node_int(n); + if ((n = obt_xml_find_node(node, "bottom")) || + (n = obt_xml_find_node(node, "down"))) + o->bottom = obt_xml_node_int(n); return o; } -static void free_func(gpointer options) +static void free_func(gpointer o) { - Options *o = options; - - g_free(o); + g_slice_free(Options, o); } /* Always return FALSE because its not interactive */