X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=openbox%2Factions%2Fmaximize.c;h=db7c36bb8aaebb9fd9d47a7eea41768bb40d5662;hb=HEAD;hp=90a8403959cd99d9c46b905cdf134dff02a016d3;hpb=d18d9c9379e3387073fc9346e9857fdde077b985;p=chaz%2Fopenbox diff --git a/openbox/actions/maximize.c b/openbox/actions/maximize.c index 90a84039..db7c36bb 100644 --- a/openbox/actions/maximize.c +++ b/openbox/actions/maximize.c @@ -13,6 +13,7 @@ typedef struct { } Options; static gpointer setup_func(xmlNodePtr node); +static void free_func(gpointer o); static gboolean run_func_on(ObActionsData *data, gpointer options); static gboolean run_func_off(ObActionsData *data, gpointer options); static gboolean run_func_toggle(ObActionsData *data, gpointer options); @@ -23,27 +24,27 @@ static gpointer setup_vert_func(xmlNodePtr node); void action_maximize_startup(void) { - actions_register("Maximize", setup_func, g_free, run_func_on); - actions_register("Unmaximize", setup_func, g_free, run_func_off); - actions_register("ToggleMaximize", setup_func, g_free, run_func_toggle); + actions_register("Maximize", setup_func, free_func, run_func_on); + actions_register("Unmaximize", setup_func, free_func, run_func_off); + actions_register("ToggleMaximize", setup_func, free_func, run_func_toggle); /* 3.4-compatibility */ - actions_register("MaximizeFull", setup_both_func, g_free, + actions_register("MaximizeFull", setup_both_func, free_func, run_func_on); - actions_register("UnmaximizeFull", setup_both_func, g_free, + actions_register("UnmaximizeFull", setup_both_func, free_func, run_func_off); - actions_register("ToggleMaximizeFull", setup_both_func, g_free, + actions_register("ToggleMaximizeFull", setup_both_func, free_func, run_func_toggle); - actions_register("MaximizeHorz", setup_horz_func, g_free, + actions_register("MaximizeHorz", setup_horz_func, free_func, run_func_on); - actions_register("UnmaximizeHorz", setup_horz_func, g_free, + actions_register("UnmaximizeHorz", setup_horz_func, free_func, run_func_off); - actions_register("ToggleMaximizeHorz", setup_horz_func, g_free, + actions_register("ToggleMaximizeHorz", setup_horz_func, free_func, run_func_toggle); - actions_register("MaximizeVert", setup_vert_func, g_free, + actions_register("MaximizeVert", setup_vert_func, free_func, run_func_on); - actions_register("UnmaximizeVert", setup_vert_func, g_free, + actions_register("UnmaximizeVert", setup_vert_func, free_func, run_func_off); - actions_register("ToggleMaximizeVert", setup_vert_func, g_free, + actions_register("ToggleMaximizeVert", setup_vert_func, free_func, run_func_toggle); } @@ -52,11 +53,11 @@ static gpointer setup_func(xmlNodePtr node) xmlNodePtr n; Options *o; - o = g_new0(Options, 1); + o = g_slice_new0(Options); o->dir = BOTH; - if ((n = obt_parse_find_node(node, "direction"))) { - gchar *s = obt_parse_node_string(n); + if ((n = obt_xml_find_node(node, "direction"))) { + gchar *s = obt_xml_node_string(n); if (!g_ascii_strcasecmp(s, "vertical") || !g_ascii_strcasecmp(s, "vert")) o->dir = VERT; @@ -69,6 +70,11 @@ static gpointer setup_func(xmlNodePtr node) return o; } +static void free_func(gpointer o) +{ + g_slice_free(Options, o); +} + /* Always return FALSE because its not interactive */ static gboolean run_func_on(ObActionsData *data, gpointer options) { @@ -113,21 +119,21 @@ static gboolean run_func_toggle(ObActionsData *data, gpointer options) /* 3.4-compatibility */ static gpointer setup_both_func(xmlNodePtr node) { - Options *o = g_new0(Options, 1); + Options *o = g_slice_new0(Options); o->dir = BOTH; return o; } static gpointer setup_horz_func(xmlNodePtr node) { - Options *o = g_new0(Options, 1); + Options *o = g_slice_new0(Options); o->dir = HORZ; return o; } static gpointer setup_vert_func(xmlNodePtr node) { - Options *o = g_new0(Options, 1); + Options *o = g_slice_new0(Options); o->dir = VERT; return o; }