X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=openbox%2Factions%2Fmoverelative.c;h=189b4dd0d7c4bc59497ac7584fa8b2a106d6fe64;hb=d179d6428ae585a3b8a13479bfe4586e41de2ff9;hp=4e6e5998a62a988bc3d1cd463e143328cc4d3335;hpb=50d662681160c309ea86268c0d05794b87b75593;p=chaz%2Fopenbox diff --git a/openbox/actions/moverelative.c b/openbox/actions/moverelative.c index 4e6e5998..189b4dd0 100644 --- a/openbox/actions/moverelative.c +++ b/openbox/actions/moverelative.c @@ -10,11 +10,12 @@ typedef struct { } Options; static gpointer setup_func(xmlNodePtr node); +static void free_func(gpointer o); static gboolean run_func(ObActionsData *data, gpointer options); void action_moverelative_startup(void) { - actions_register("MoveRelative", setup_func, g_free, run_func, NULL, NULL); + actions_register("MoveRelative", setup_func, free_func, run_func); } static gpointer setup_func(xmlNodePtr node) @@ -22,16 +23,21 @@ 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, "x"))) - o->x = obt_parse_node_int(n); - if ((n = obt_parse_find_node(node, "y"))) - o->y = obt_parse_node_int(n); + if ((n = obt_xml_find_node(node, "x"))) + o->x = obt_xml_node_int(n); + if ((n = obt_xml_find_node(node, "y"))) + o->y = obt_xml_node_int(n); return o; } +static void free_func(gpointer o) +{ + g_slice_free(Options, o); +} + /* Always return FALSE because its not interactive */ static gboolean run_func(ObActionsData *data, gpointer options) {