X-Git-Url: https://git.dogcows.com/gitweb?p=chaz%2Fopenbox;a=blobdiff_plain;f=openbox%2Factions%2Fmaximize.c;h=db7c36bb8aaebb9fd9d47a7eea41768bb40d5662;hp=4c615078fb16633461d356f13791d34f9098107f;hb=d179d6428ae585a3b8a13479bfe4586e41de2ff9;hpb=d45af3cb45f35ba639efac15675ed10b3515a7f0 diff --git a/openbox/actions/maximize.c b/openbox/actions/maximize.c index 4c615078..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,7 +53,7 @@ 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_xml_find_node(node, "direction"))) { @@ -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; }