more using g_slice_new() instead of g_new()

This commit is contained in:
Dana Jansens 2010-02-16 16:26:18 -05:00
parent d45af3cb45
commit d179d6428a
31 changed files with 226 additions and 148 deletions

View file

@ -99,7 +99,7 @@ RrTheme* RrThemeNew(const RrInstance *inst, const gchar *name,
return NULL; return NULL;
} }
theme = g_new0(RrTheme, 1); theme = g_slice_new0(RrTheme);
theme->inst = inst; theme->inst = inst;
theme->name = g_strdup(name ? name : DEFAULT_THEME); theme->name = g_strdup(name ? name : DEFAULT_THEME);
@ -1658,7 +1658,7 @@ void RrThemeFree(RrTheme *theme)
RrAppearanceFree(theme->osd_unhilite_bg); RrAppearanceFree(theme->osd_unhilite_bg);
RrAppearanceFree(theme->osd_unhilite_label); RrAppearanceFree(theme->osd_unhilite_label);
g_free(theme); g_slice_free(RrTheme, theme);
} }
} }

View file

@ -155,7 +155,7 @@ ObtMainLoop *obt_main_loop_new(void)
{ {
ObtMainLoop *loop; ObtMainLoop *loop;
loop = g_new0(ObtMainLoop, 1); loop = g_slice_new0(ObtMainLoop);
loop->ref = 1; loop->ref = 1;
FD_ZERO(&loop->fd_set); FD_ZERO(&loop->fd_set);
loop->fd_x = -1; loop->fd_x = -1;
@ -249,7 +249,7 @@ void obt_main_loop_unref(ObtMainLoop *loop)
} }
} }
obt_free0(loop, ObtMainLoop, 1); g_slice_free(ObtMainLoop, loop);
} }
} }

View file

@ -80,7 +80,7 @@ ObtPaths* obt_paths_new(void)
ObtPaths *p; ObtPaths *p;
const gchar *path; const gchar *path;
p = g_new0(ObtPaths, 1); p = g_slice_new0(ObtPaths);
p->ref = 1; p->ref = 1;
path = g_getenv("XDG_CONFIG_HOME"); path = g_getenv("XDG_CONFIG_HOME");
@ -163,7 +163,7 @@ void obt_paths_unref(ObtPaths *p)
g_free(p->data_home); g_free(p->data_home);
g_free(p->cache_home); g_free(p->cache_home);
obt_free0(p, ObtPaths, 1); g_slice_free(ObtPaths, p);
} }
} }

View file

@ -49,7 +49,7 @@ ObtXEventHandler* xevent_new(void)
{ {
ObtXEventHandler *h; ObtXEventHandler *h;
h = g_new0(ObtXEventHandler, 1); h = g_slice_new0(ObtXEventHandler);
h->ref = 1; h->ref = 1;
return h; return h;
@ -71,7 +71,7 @@ void xevent_unref(ObtXEventHandler *h)
g_hash_table_destroy(h->bindings[i]); g_hash_table_destroy(h->bindings[i]);
g_free(h->bindings); g_free(h->bindings);
obt_free0(h, ObtXEventHandler, 1); g_slice_free(ObtXEventHandler, h);
} }
} }

View file

@ -10,6 +10,7 @@ typedef struct {
static gpointer setup_func(xmlNodePtr node); static gpointer setup_func(xmlNodePtr node);
static gpointer setup_add_func(xmlNodePtr node); static gpointer setup_add_func(xmlNodePtr node);
static gpointer setup_remove_func(xmlNodePtr node); static gpointer setup_remove_func(xmlNodePtr node);
static void free_func(gpointer o);
static gboolean run_func(ObActionsData *data, gpointer options); static gboolean run_func(ObActionsData *data, gpointer options);
/* 3.4-compatibility */ /* 3.4-compatibility */
static gpointer setup_addcurrent_func(xmlNodePtr node); static gpointer setup_addcurrent_func(xmlNodePtr node);
@ -19,17 +20,18 @@ static gpointer setup_removelast_func(xmlNodePtr node);
void action_addremovedesktop_startup(void) void action_addremovedesktop_startup(void)
{ {
actions_register("AddDesktop", setup_add_func, g_free, run_func); actions_register("AddDesktop", setup_add_func, free_func, run_func);
actions_register("RemoveDesktop", setup_remove_func, g_free, run_func); actions_register("RemoveDesktop", setup_remove_func, free_func, run_func);
/* 3.4-compatibility */ /* 3.4-compatibility */
actions_register("AddDesktopLast", setup_addlast_func, g_free, run_func); actions_register("AddDesktopLast", setup_addlast_func,
free_func, run_func);
actions_register("RemoveDesktopLast", setup_removelast_func, actions_register("RemoveDesktopLast", setup_removelast_func,
g_free, run_func); free_func, run_func);
actions_register("AddDesktopCurrent", setup_addcurrent_func, actions_register("AddDesktopCurrent", setup_addcurrent_func,
g_free, run_func); free_func, run_func);
actions_register("RemoveDesktopCurrent", setup_removecurrent_func, actions_register("RemoveDesktopCurrent", setup_removecurrent_func,
g_free, run_func); free_func, run_func);
} }
static gpointer setup_func(xmlNodePtr node) static gpointer setup_func(xmlNodePtr node)
@ -37,7 +39,7 @@ static gpointer setup_func(xmlNodePtr node)
xmlNodePtr n; xmlNodePtr n;
Options *o; Options *o;
o = g_new0(Options, 1); o = g_slice_new0(Options);
if ((n = obt_xml_find_node(node, "where"))) { if ((n = obt_xml_find_node(node, "where"))) {
gchar *s = obt_xml_node_string(n); gchar *s = obt_xml_node_string(n);
@ -65,6 +67,11 @@ static gpointer setup_remove_func(xmlNodePtr node)
return o; return o;
} }
static void free_func(gpointer o)
{
g_slice_free(Options, o);
}
/* Always return FALSE because its not interactive */ /* Always return FALSE because its not interactive */
static gboolean run_func(ObActionsData *data, gpointer options) static gboolean run_func(ObActionsData *data, gpointer options)
{ {

View file

@ -65,7 +65,7 @@ static gpointer setup_func(xmlNodePtr node,
xmlNodePtr n; xmlNodePtr n;
Options *o; Options *o;
o = g_new0(Options, 1); o = g_slice_new0(Options);
o->bar = TRUE; o->bar = TRUE;
o->dialog_mode = OB_FOCUS_CYCLE_POPUP_MODE_LIST; o->dialog_mode = OB_FOCUS_CYCLE_POPUP_MODE_LIST;
@ -144,7 +144,7 @@ static void free_func(gpointer options)
o->actions = g_slist_delete_link(o->actions, o->actions); o->actions = g_slist_delete_link(o->actions, o->actions);
} }
g_free(o); g_slice_free(Options, o);
} }
static gboolean run_func(ObActionsData *data, gpointer options) static gboolean run_func(ObActionsData *data, gpointer options)

View file

@ -19,7 +19,7 @@ static gpointer setup_func(xmlNodePtr node)
xmlNodePtr n; xmlNodePtr n;
Options *o; Options *o;
o = g_new0(Options, 1); o = g_slice_new0(Options);
if ((n = obt_xml_find_node(node, "string"))) if ((n = obt_xml_find_node(node, "string")))
o->str = obt_xml_node_string(n); o->str = obt_xml_node_string(n);
@ -30,7 +30,7 @@ static void free_func(gpointer options)
{ {
Options *o = options; Options *o = options;
g_free(o->str); g_free(o->str);
g_free(o); g_slice_free(Options, o);
} }
/* Always return FALSE because its not interactive */ /* Always return FALSE because its not interactive */

View file

@ -38,6 +38,7 @@ static gpointer setup_send_func(xmlNodePtr node,
ObActionsIInputFunc *input, ObActionsIInputFunc *input,
ObActionsICancelFunc *cancel, ObActionsICancelFunc *cancel,
ObActionsIPostFunc *post); ObActionsIPostFunc *post);
static void free_func(gpointer o);
static gboolean run_func(ObActionsData *data, gpointer options); static gboolean run_func(ObActionsData *data, gpointer options);
static gboolean i_pre_func(guint state, gpointer options); static gboolean i_pre_func(guint state, gpointer options);
@ -116,33 +117,35 @@ static gpointer setup_send_down_func(xmlNodePtr node,
void action_desktop_startup(void) void action_desktop_startup(void)
{ {
actions_register_i("GoToDesktop", setup_go_func, g_free, run_func); actions_register_i("GoToDesktop", setup_go_func, free_func, run_func);
actions_register_i("SendToDesktop", setup_send_func, g_free, run_func); actions_register_i("SendToDesktop", setup_send_func, free_func, run_func);
/* 3.4-compatibility */ /* 3.4-compatibility */
actions_register("DesktopLast", setup_go_last_func, g_free, run_func); actions_register("DesktopLast", setup_go_last_func, free_func, run_func);
actions_register("SendToDesktopLast", setup_send_last_func, actions_register("SendToDesktopLast", setup_send_last_func,
g_free, run_func); free_func, run_func);
actions_register("Desktop", setup_go_abs_func, g_free, run_func); actions_register("Desktop", setup_go_abs_func, free_func, run_func);
actions_register("SendToDesktop", setup_send_abs_func, g_free, run_func); actions_register("SendToDesktop", setup_send_abs_func,
actions_register_i("DesktopNext", setup_go_next_func, g_free, run_func); free_func, run_func);
actions_register_i("DesktopNext", setup_go_next_func, free_func, run_func);
actions_register_i("SendToDesktopNext", setup_send_next_func, actions_register_i("SendToDesktopNext", setup_send_next_func,
g_free, run_func); free_func, run_func);
actions_register_i("DesktopPrevious", setup_go_prev_func, actions_register_i("DesktopPrevious", setup_go_prev_func,
g_free, run_func); free_func, run_func);
actions_register_i("SendToDesktopPrevious", setup_send_prev_func, actions_register_i("SendToDesktopPrevious", setup_send_prev_func,
g_free, run_func); free_func, run_func);
actions_register_i("DesktopLeft", setup_go_left_func, g_free, run_func); actions_register_i("DesktopLeft", setup_go_left_func, free_func, run_func);
actions_register_i("SendToDesktopLeft", setup_send_left_func, actions_register_i("SendToDesktopLeft", setup_send_left_func,
g_free, run_func); free_func, run_func);
actions_register_i("DesktopRight", setup_go_right_func, g_free, run_func); actions_register_i("DesktopRight", setup_go_right_func,
free_func, run_func);
actions_register_i("SendToDesktopRight", setup_send_right_func, actions_register_i("SendToDesktopRight", setup_send_right_func,
g_free, run_func); free_func, run_func);
actions_register_i("DesktopUp", setup_go_up_func, g_free, run_func); actions_register_i("DesktopUp", setup_go_up_func, free_func, run_func);
actions_register_i("SendToDesktopUp", setup_send_up_func, actions_register_i("SendToDesktopUp", setup_send_up_func,
g_free, run_func); free_func, run_func);
actions_register_i("DesktopDown", setup_go_down_func, g_free, run_func); actions_register_i("DesktopDown", setup_go_down_func, free_func, run_func);
actions_register_i("SendToDesktopDown", setup_send_down_func, actions_register_i("SendToDesktopDown", setup_send_down_func,
g_free, run_func); free_func, run_func);
} }
static gpointer setup_func(xmlNodePtr node, static gpointer setup_func(xmlNodePtr node,
@ -154,7 +157,7 @@ static gpointer setup_func(xmlNodePtr node,
xmlNodePtr n; xmlNodePtr n;
Options *o; Options *o;
o = g_new0(Options, 1); o = g_slice_new0(Options);
/* don't go anywhere if there are no options given */ /* don't go anywhere if there are no options given */
o->type = ABSOLUTE; o->type = ABSOLUTE;
o->u.abs.desktop = screen_desktop; o->u.abs.desktop = screen_desktop;
@ -254,6 +257,11 @@ static gpointer setup_send_func(xmlNodePtr node,
return o; return o;
} }
static void free_func(gpointer o)
{
g_slice_free(Options, o);
}
/* Always return FALSE because its not interactive */ /* Always return FALSE because its not interactive */
static gboolean run_func(ObActionsData *data, gpointer options) static gboolean run_func(ObActionsData *data, gpointer options)
{ {
@ -353,7 +361,7 @@ static void i_post_func(gpointer options)
static gpointer setup_follow(xmlNodePtr node) static gpointer setup_follow(xmlNodePtr node)
{ {
xmlNodePtr n; xmlNodePtr n;
Options *o = g_new0(Options, 1); Options *o = g_slice_new0(Options);
o->send = TRUE; o->send = TRUE;
o->follow = TRUE; o->follow = TRUE;
if ((n = obt_xml_find_node(node, "follow"))) if ((n = obt_xml_find_node(node, "follow")))
@ -363,7 +371,7 @@ static gpointer setup_follow(xmlNodePtr node)
static gpointer setup_go_last_func(xmlNodePtr node) static gpointer setup_go_last_func(xmlNodePtr node)
{ {
Options *o = g_new0(Options, 1); Options *o = g_slice_new0(Options);
o->type = LAST; o->type = LAST;
return o; return o;
} }
@ -378,7 +386,7 @@ static gpointer setup_send_last_func(xmlNodePtr node)
static gpointer setup_go_abs_func(xmlNodePtr node) static gpointer setup_go_abs_func(xmlNodePtr node)
{ {
xmlNodePtr n; xmlNodePtr n;
Options *o = g_new0(Options, 1); Options *o = g_slice_new0(Options);
o->type = ABSOLUTE; o->type = ABSOLUTE;
if ((n = obt_xml_find_node(node, "desktop"))) if ((n = obt_xml_find_node(node, "desktop")))
o->u.abs.desktop = obt_xml_node_int(n) - 1; o->u.abs.desktop = obt_xml_node_int(n) - 1;
@ -429,7 +437,7 @@ static gpointer setup_go_next_func(xmlNodePtr node,
ObActionsICancelFunc *cancel, ObActionsICancelFunc *cancel,
ObActionsIPostFunc *post) ObActionsIPostFunc *post)
{ {
Options *o = g_new0(Options, 1); Options *o = g_slice_new0(Options);
setup_rel(o, node, TRUE, OB_DIRECTION_EAST, pre, input, post); setup_rel(o, node, TRUE, OB_DIRECTION_EAST, pre, input, post);
return o; return o;
} }
@ -452,7 +460,7 @@ static gpointer setup_go_prev_func(xmlNodePtr node,
ObActionsICancelFunc *cancel, ObActionsICancelFunc *cancel,
ObActionsIPostFunc *post) ObActionsIPostFunc *post)
{ {
Options *o = g_new0(Options, 1); Options *o = g_slice_new0(Options);
setup_rel(o, node, TRUE, OB_DIRECTION_WEST, pre, input, post); setup_rel(o, node, TRUE, OB_DIRECTION_WEST, pre, input, post);
return o; return o;
} }
@ -475,7 +483,7 @@ static gpointer setup_go_left_func(xmlNodePtr node,
ObActionsICancelFunc *cancel, ObActionsICancelFunc *cancel,
ObActionsIPostFunc *post) ObActionsIPostFunc *post)
{ {
Options *o = g_new0(Options, 1); Options *o = g_slice_new0(Options);
setup_rel(o, node, FALSE, OB_DIRECTION_WEST, pre, input, post); setup_rel(o, node, FALSE, OB_DIRECTION_WEST, pre, input, post);
return o; return o;
} }
@ -498,7 +506,7 @@ static gpointer setup_go_right_func(xmlNodePtr node,
ObActionsICancelFunc *cancel, ObActionsICancelFunc *cancel,
ObActionsIPostFunc *post) ObActionsIPostFunc *post)
{ {
Options *o = g_new0(Options, 1); Options *o = g_slice_new0(Options);
setup_rel(o, node, FALSE, OB_DIRECTION_EAST, pre, input, post); setup_rel(o, node, FALSE, OB_DIRECTION_EAST, pre, input, post);
return o; return o;
} }
@ -521,7 +529,7 @@ static gpointer setup_go_up_func(xmlNodePtr node,
ObActionsICancelFunc *cancel, ObActionsICancelFunc *cancel,
ObActionsIPostFunc *post) ObActionsIPostFunc *post)
{ {
Options *o = g_new0(Options, 1); Options *o = g_slice_new0(Options);
setup_rel(o, node, FALSE, OB_DIRECTION_NORTH, pre, input, post); setup_rel(o, node, FALSE, OB_DIRECTION_NORTH, pre, input, post);
return o; return o;
} }
@ -544,7 +552,7 @@ static gpointer setup_go_down_func(xmlNodePtr node,
ObActionsICancelFunc *cancel, ObActionsICancelFunc *cancel,
ObActionsIPostFunc *post) ObActionsIPostFunc *post)
{ {
Options *o = g_new0(Options, 1); Options *o = g_slice_new0(Options);
setup_rel(o, node, FALSE, OB_DIRECTION_SOUTH, pre, input, post); setup_rel(o, node, FALSE, OB_DIRECTION_SOUTH, pre, input, post);
return o; return o;
} }

View file

@ -135,7 +135,7 @@ static gpointer setup_func(xmlNodePtr node)
xmlNodePtr n; xmlNodePtr n;
Options *o; Options *o;
o = g_new0(Options, 1); o = g_slice_new0(Options);
o->dialog = TRUE; o->dialog = TRUE;
o->bar = TRUE; o->bar = TRUE;
@ -225,7 +225,7 @@ static void free_func(gpointer options)
o->actions = g_slist_delete_link(o->actions, o->actions); o->actions = g_slist_delete_link(o->actions, o->actions);
} }
g_free(o); g_slice_free(Options, o);
} }
static gboolean run_func(ObActionsData *data, gpointer options) static gboolean run_func(ObActionsData *data, gpointer options)

View file

@ -9,12 +9,13 @@ typedef struct {
} Options; } Options;
static gpointer setup_func(xmlNodePtr node); static gpointer setup_func(xmlNodePtr node);
static void free_func(gpointer o);
static gboolean run_func(ObActionsData *data, gpointer options); static gboolean run_func(ObActionsData *data, gpointer options);
void action_exit_startup(void) void action_exit_startup(void)
{ {
actions_register("Exit", setup_func, NULL, run_func); actions_register("Exit", setup_func, free_func, run_func);
actions_register("SessionLogout", setup_func, NULL, run_func); actions_register("SessionLogout", setup_func, free_func, run_func);
} }
static gpointer setup_func(xmlNodePtr node) static gpointer setup_func(xmlNodePtr node)
@ -22,7 +23,7 @@ static gpointer setup_func(xmlNodePtr node)
xmlNodePtr n; xmlNodePtr n;
Options *o; Options *o;
o = g_new0(Options, 1); o = g_slice_new0(Options);
o->prompt = TRUE; o->prompt = TRUE;
if ((n = obt_xml_find_node(node, "prompt"))) if ((n = obt_xml_find_node(node, "prompt")))
@ -31,6 +32,11 @@ static gpointer setup_func(xmlNodePtr node)
return o; return o;
} }
static void free_func(gpointer o)
{
g_slice_free(Options, o);
}
static void do_exit(void) static void do_exit(void)
{ {
if (session_connected()) if (session_connected())
@ -51,6 +57,7 @@ static void prompt_cleanup(ObPrompt *p, gpointer data)
prompt_unref(p); prompt_unref(p);
} }
/* Always return FALSE because its not interactive */ /* Always return FALSE because its not interactive */
static gboolean run_func(ObActionsData *data, gpointer options) static gboolean run_func(ObActionsData *data, gpointer options)
{ {

View file

@ -10,11 +10,12 @@ typedef struct {
} Options; } Options;
static gpointer setup_func(xmlNodePtr node); static gpointer setup_func(xmlNodePtr node);
static void free_func(gpointer o);
static gboolean run_func(ObActionsData *data, gpointer options); static gboolean run_func(ObActionsData *data, gpointer options);
void action_focus_startup(void) void action_focus_startup(void)
{ {
actions_register("Focus", setup_func, g_free, run_func); actions_register("Focus", setup_func, free_func, run_func);
} }
static gpointer setup_func(xmlNodePtr node) static gpointer setup_func(xmlNodePtr node)
@ -22,7 +23,7 @@ static gpointer setup_func(xmlNodePtr node)
xmlNodePtr n; xmlNodePtr n;
Options *o; Options *o;
o = g_new0(Options, 1); o = g_slice_new0(Options);
o->stop_int = TRUE; o->stop_int = TRUE;
if ((n = obt_xml_find_node(node, "here"))) if ((n = obt_xml_find_node(node, "here")))
@ -32,6 +33,11 @@ static gpointer setup_func(xmlNodePtr node)
return o; return o;
} }
static void free_func(gpointer o)
{
g_slice_free(Options, o);
}
/* Always return FALSE because its not interactive */ /* Always return FALSE because its not interactive */
static gboolean run_func(ObActionsData *data, gpointer options) static gboolean run_func(ObActionsData *data, gpointer options)
{ {

View file

@ -12,6 +12,7 @@ typedef struct {
static gpointer setup_func(xmlNodePtr node); static gpointer setup_func(xmlNodePtr node);
static gpointer setup_shrink_func(xmlNodePtr node); static gpointer setup_shrink_func(xmlNodePtr node);
static void free_func(gpointer o);
static gboolean run_func(ObActionsData *data, gpointer options); static gboolean run_func(ObActionsData *data, gpointer options);
/* 3.4-compatibility */ /* 3.4-compatibility */
static gpointer setup_north_func(xmlNodePtr node); static gpointer setup_north_func(xmlNodePtr node);
@ -22,14 +23,14 @@ static gpointer setup_west_func(xmlNodePtr node);
void action_growtoedge_startup(void) void action_growtoedge_startup(void)
{ {
actions_register("GrowToEdge", setup_func, actions_register("GrowToEdge", setup_func,
g_free, run_func); free_func, run_func);
actions_register("ShrinkToEdge", setup_shrink_func, actions_register("ShrinkToEdge", setup_shrink_func,
g_free, run_func); free_func, run_func);
/* 3.4-compatibility */ /* 3.4-compatibility */
actions_register("GrowToEdgeNorth", setup_north_func, g_free, run_func); actions_register("GrowToEdgeNorth", setup_north_func, free_func, run_func);
actions_register("GrowToEdgeSouth", setup_south_func, g_free, run_func); actions_register("GrowToEdgeSouth", setup_south_func, free_func, run_func);
actions_register("GrowToEdgeEast", setup_east_func, g_free, run_func); actions_register("GrowToEdgeEast", setup_east_func, free_func, run_func);
actions_register("GrowToEdgeWest", setup_west_func, g_free, run_func); actions_register("GrowToEdgeWest", setup_west_func, free_func, run_func);
} }
static gpointer setup_func(xmlNodePtr node) static gpointer setup_func(xmlNodePtr node)
@ -37,7 +38,7 @@ static gpointer setup_func(xmlNodePtr node)
xmlNodePtr n; xmlNodePtr n;
Options *o; Options *o;
o = g_new0(Options, 1); o = g_slice_new0(Options);
o->dir = OB_DIRECTION_NORTH; o->dir = OB_DIRECTION_NORTH;
o->shrink = FALSE; o->shrink = FALSE;
@ -96,6 +97,11 @@ static gboolean do_grow(ObActionsData *data, gint x, gint y, gint w, gint h)
return FALSE; return FALSE;
} }
static void free_func(gpointer o)
{
g_slice_free(Options, o);
}
/* Always return FALSE because its not interactive */ /* Always return FALSE because its not interactive */
static gboolean run_func(ObActionsData *data, gpointer options) static gboolean run_func(ObActionsData *data, gpointer options)
{ {
@ -163,7 +169,7 @@ static gboolean run_func(ObActionsData *data, gpointer options)
/* 3.4-compatibility */ /* 3.4-compatibility */
static gpointer setup_north_func(xmlNodePtr node) static gpointer setup_north_func(xmlNodePtr node)
{ {
Options *o = g_new0(Options, 1); Options *o = g_slice_new0(Options);
o->shrink = FALSE; o->shrink = FALSE;
o->dir = OB_DIRECTION_NORTH; o->dir = OB_DIRECTION_NORTH;
return o; return o;
@ -171,7 +177,7 @@ static gpointer setup_north_func(xmlNodePtr node)
static gpointer setup_south_func(xmlNodePtr node) static gpointer setup_south_func(xmlNodePtr node)
{ {
Options *o = g_new0(Options, 1); Options *o = g_slice_new0(Options);
o->shrink = FALSE; o->shrink = FALSE;
o->dir = OB_DIRECTION_SOUTH; o->dir = OB_DIRECTION_SOUTH;
return o; return o;
@ -179,7 +185,7 @@ static gpointer setup_south_func(xmlNodePtr node)
static gpointer setup_east_func(xmlNodePtr node) static gpointer setup_east_func(xmlNodePtr node)
{ {
Options *o = g_new0(Options, 1); Options *o = g_slice_new0(Options);
o->shrink = FALSE; o->shrink = FALSE;
o->dir = OB_DIRECTION_EAST; o->dir = OB_DIRECTION_EAST;
return o; return o;
@ -187,7 +193,7 @@ static gpointer setup_east_func(xmlNodePtr node)
static gpointer setup_west_func(xmlNodePtr node) static gpointer setup_west_func(xmlNodePtr node)
{ {
Options *o = g_new0(Options, 1); Options *o = g_slice_new0(Options);
o->shrink = FALSE; o->shrink = FALSE;
o->dir = OB_DIRECTION_WEST; o->dir = OB_DIRECTION_WEST;
return o; return o;

View file

@ -37,7 +37,7 @@ static gpointer setup_func(xmlNodePtr node)
xmlNodePtr n; xmlNodePtr n;
Options *o; Options *o;
o = g_new0(Options, 1); o = g_slice_new0(Options);
if ((n = obt_xml_find_node(node, "shaded"))) { if ((n = obt_xml_find_node(node, "shaded"))) {
if (obt_xml_node_bool(n)) if (obt_xml_node_bool(n))
@ -113,7 +113,7 @@ static void free_func(gpointer options)
o->elseacts = g_slist_delete_link(o->elseacts, o->elseacts); 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 */ /* Always return FALSE because its not interactive */

View file

@ -9,6 +9,7 @@ typedef struct {
static gpointer setup_func_top(xmlNodePtr node); static gpointer setup_func_top(xmlNodePtr node);
static gpointer setup_func_bottom(xmlNodePtr node); static gpointer setup_func_bottom(xmlNodePtr node);
static gpointer setup_func_send(xmlNodePtr node); static gpointer setup_func_send(xmlNodePtr node);
static void free_func(gpointer o);
static gboolean run_func(ObActionsData *data, gpointer options); static gboolean run_func(ObActionsData *data, gpointer options);
/* 3.4-compatibility */ /* 3.4-compatibility */
static gpointer setup_sendtop_func(xmlNodePtr node); static gpointer setup_sendtop_func(xmlNodePtr node);
@ -17,24 +18,24 @@ static gpointer setup_sendnormal_func(xmlNodePtr node);
void action_layer_startup(void) void action_layer_startup(void)
{ {
actions_register("ToggleAlwaysOnTop", setup_func_top, g_free, actions_register("ToggleAlwaysOnTop", setup_func_top, free_func,
run_func); run_func);
actions_register("ToggleAlwaysOnBottom", setup_func_bottom, g_free, actions_register("ToggleAlwaysOnBottom", setup_func_bottom, free_func,
run_func); run_func);
actions_register("SendToLayer", setup_func_send, g_free, actions_register("SendToLayer", setup_func_send, free_func,
run_func); run_func);
/* 3.4-compatibility */ /* 3.4-compatibility */
actions_register("SendToTopLayer", setup_sendtop_func, g_free, actions_register("SendToTopLayer", setup_sendtop_func, free_func,
run_func); run_func);
actions_register("SendToBottomLayer", setup_sendbottom_func, g_free, actions_register("SendToBottomLayer", setup_sendbottom_func, free_func,
run_func); run_func);
actions_register("SendToNormalLayer", setup_sendnormal_func, g_free, actions_register("SendToNormalLayer", setup_sendnormal_func, free_func,
run_func); run_func);
} }
static gpointer setup_func_top(xmlNodePtr node) static gpointer setup_func_top(xmlNodePtr node)
{ {
Options *o = g_new0(Options, 1); Options *o = g_slice_new0(Options);
o->layer = 1; o->layer = 1;
o->toggle = TRUE; o->toggle = TRUE;
return o; return o;
@ -42,7 +43,7 @@ static gpointer setup_func_top(xmlNodePtr node)
static gpointer setup_func_bottom(xmlNodePtr node) static gpointer setup_func_bottom(xmlNodePtr node)
{ {
Options *o = g_new0(Options, 1); Options *o = g_slice_new0(Options);
o->layer = -1; o->layer = -1;
o->toggle = TRUE; o->toggle = TRUE;
return o; return o;
@ -53,7 +54,7 @@ static gpointer setup_func_send(xmlNodePtr node)
xmlNodePtr n; xmlNodePtr n;
Options *o; Options *o;
o = g_new0(Options, 1); o = g_slice_new0(Options);
if ((n = obt_xml_find_node(node, "layer"))) { if ((n = obt_xml_find_node(node, "layer"))) {
gchar *s = obt_xml_node_string(n); gchar *s = obt_xml_node_string(n);
@ -72,6 +73,11 @@ static gpointer setup_func_send(xmlNodePtr node)
return o; return o;
} }
static void free_func(gpointer o)
{
g_slice_free(Options, o);
}
/* Always return FALSE because its not interactive */ /* Always return FALSE because its not interactive */
static gboolean run_func(ObActionsData *data, gpointer options) static gboolean run_func(ObActionsData *data, gpointer options)
{ {
@ -102,7 +108,7 @@ static gboolean run_func(ObActionsData *data, gpointer options)
/* 3.4-compatibility */ /* 3.4-compatibility */
static gpointer setup_sendtop_func(xmlNodePtr node) static gpointer setup_sendtop_func(xmlNodePtr node)
{ {
Options *o = g_new0(Options, 1); Options *o = g_slice_new0(Options);
o->layer = 1; o->layer = 1;
o->toggle = FALSE; o->toggle = FALSE;
return o; return o;
@ -110,7 +116,7 @@ static gpointer setup_sendtop_func(xmlNodePtr node)
static gpointer setup_sendbottom_func(xmlNodePtr node) static gpointer setup_sendbottom_func(xmlNodePtr node)
{ {
Options *o = g_new0(Options, 1); Options *o = g_slice_new0(Options);
o->layer = -1; o->layer = -1;
o->toggle = FALSE; o->toggle = FALSE;
return o; return o;
@ -118,7 +124,7 @@ static gpointer setup_sendbottom_func(xmlNodePtr node)
static gpointer setup_sendnormal_func(xmlNodePtr node) static gpointer setup_sendnormal_func(xmlNodePtr node)
{ {
Options *o = g_new0(Options, 1); Options *o = g_slice_new0(Options);
o->layer = 0; o->layer = 0;
o->toggle = FALSE; o->toggle = FALSE;
return o; return o;

View file

@ -13,6 +13,7 @@ typedef struct {
} Options; } Options;
static gpointer setup_func(xmlNodePtr node); 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_on(ObActionsData *data, gpointer options);
static gboolean run_func_off(ObActionsData *data, gpointer options); static gboolean run_func_off(ObActionsData *data, gpointer options);
static gboolean run_func_toggle(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) void action_maximize_startup(void)
{ {
actions_register("Maximize", setup_func, g_free, run_func_on); actions_register("Maximize", setup_func, free_func, run_func_on);
actions_register("Unmaximize", setup_func, g_free, run_func_off); actions_register("Unmaximize", setup_func, free_func, run_func_off);
actions_register("ToggleMaximize", setup_func, g_free, run_func_toggle); actions_register("ToggleMaximize", setup_func, free_func, run_func_toggle);
/* 3.4-compatibility */ /* 3.4-compatibility */
actions_register("MaximizeFull", setup_both_func, g_free, actions_register("MaximizeFull", setup_both_func, free_func,
run_func_on); run_func_on);
actions_register("UnmaximizeFull", setup_both_func, g_free, actions_register("UnmaximizeFull", setup_both_func, free_func,
run_func_off); run_func_off);
actions_register("ToggleMaximizeFull", setup_both_func, g_free, actions_register("ToggleMaximizeFull", setup_both_func, free_func,
run_func_toggle); run_func_toggle);
actions_register("MaximizeHorz", setup_horz_func, g_free, actions_register("MaximizeHorz", setup_horz_func, free_func,
run_func_on); run_func_on);
actions_register("UnmaximizeHorz", setup_horz_func, g_free, actions_register("UnmaximizeHorz", setup_horz_func, free_func,
run_func_off); run_func_off);
actions_register("ToggleMaximizeHorz", setup_horz_func, g_free, actions_register("ToggleMaximizeHorz", setup_horz_func, free_func,
run_func_toggle); run_func_toggle);
actions_register("MaximizeVert", setup_vert_func, g_free, actions_register("MaximizeVert", setup_vert_func, free_func,
run_func_on); run_func_on);
actions_register("UnmaximizeVert", setup_vert_func, g_free, actions_register("UnmaximizeVert", setup_vert_func, free_func,
run_func_off); run_func_off);
actions_register("ToggleMaximizeVert", setup_vert_func, g_free, actions_register("ToggleMaximizeVert", setup_vert_func, free_func,
run_func_toggle); run_func_toggle);
} }
@ -52,7 +53,7 @@ static gpointer setup_func(xmlNodePtr node)
xmlNodePtr n; xmlNodePtr n;
Options *o; Options *o;
o = g_new0(Options, 1); o = g_slice_new0(Options);
o->dir = BOTH; o->dir = BOTH;
if ((n = obt_xml_find_node(node, "direction"))) { if ((n = obt_xml_find_node(node, "direction"))) {
@ -69,6 +70,11 @@ static gpointer setup_func(xmlNodePtr node)
return o; return o;
} }
static void free_func(gpointer o)
{
g_slice_free(Options, o);
}
/* Always return FALSE because its not interactive */ /* Always return FALSE because its not interactive */
static gboolean run_func_on(ObActionsData *data, gpointer options) 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 */ /* 3.4-compatibility */
static gpointer setup_both_func(xmlNodePtr node) static gpointer setup_both_func(xmlNodePtr node)
{ {
Options *o = g_new0(Options, 1); Options *o = g_slice_new0(Options);
o->dir = BOTH; o->dir = BOTH;
return o; return o;
} }
static gpointer setup_horz_func(xmlNodePtr node) static gpointer setup_horz_func(xmlNodePtr node)
{ {
Options *o = g_new0(Options, 1); Options *o = g_slice_new0(Options);
o->dir = HORZ; o->dir = HORZ;
return o; return o;
} }
static gpointer setup_vert_func(xmlNodePtr node) static gpointer setup_vert_func(xmlNodePtr node)
{ {
Options *o = g_new0(Options, 1); Options *o = g_slice_new0(Options);
o->dir = VERT; o->dir = VERT;
return o; return o;
} }

View file

@ -10,11 +10,12 @@ typedef struct {
} Options; } Options;
static gpointer setup_func(xmlNodePtr node); static gpointer setup_func(xmlNodePtr node);
static void free_func(gpointer o);
static gboolean run_func(ObActionsData *data, gpointer options); static gboolean run_func(ObActionsData *data, gpointer options);
void action_moverelative_startup(void) void action_moverelative_startup(void)
{ {
actions_register("MoveRelative", setup_func, g_free, run_func); actions_register("MoveRelative", setup_func, free_func, run_func);
} }
static gpointer setup_func(xmlNodePtr node) static gpointer setup_func(xmlNodePtr node)
@ -22,7 +23,7 @@ static gpointer setup_func(xmlNodePtr node)
xmlNodePtr n; xmlNodePtr n;
Options *o; Options *o;
o = g_new0(Options, 1); o = g_slice_new0(Options);
if ((n = obt_xml_find_node(node, "x"))) if ((n = obt_xml_find_node(node, "x")))
o->x = obt_xml_node_int(n); o->x = obt_xml_node_int(n);
@ -32,6 +33,11 @@ static gpointer setup_func(xmlNodePtr node)
return o; return o;
} }
static void free_func(gpointer o)
{
g_slice_free(Options, o);
}
/* Always return FALSE because its not interactive */ /* Always return FALSE because its not interactive */
static gboolean run_func(ObActionsData *data, gpointer options) static gboolean run_func(ObActionsData *data, gpointer options)
{ {

View file

@ -24,15 +24,16 @@ typedef struct {
} Options; } Options;
static gpointer setup_func(xmlNodePtr node); static gpointer setup_func(xmlNodePtr node);
static void free_func(gpointer o);
static gboolean run_func(ObActionsData *data, gpointer options); static gboolean run_func(ObActionsData *data, gpointer options);
/* 3.4-compatibility */ /* 3.4-compatibility */
static gpointer setup_center_func(xmlNodePtr node); static gpointer setup_center_func(xmlNodePtr node);
void action_moveresizeto_startup(void) void action_moveresizeto_startup(void)
{ {
actions_register("MoveResizeTo", setup_func, g_free, run_func); actions_register("MoveResizeTo", setup_func, free_func, run_func);
/* 3.4-compatibility */ /* 3.4-compatibility */
actions_register("MoveToCenter", setup_center_func, g_free, run_func); actions_register("MoveToCenter", setup_center_func, free_func, run_func);
} }
static void parse_coord(xmlNodePtr n, gint *pos, static void parse_coord(xmlNodePtr n, gint *pos,
@ -59,7 +60,7 @@ static gpointer setup_func(xmlNodePtr node)
xmlNodePtr n; xmlNodePtr n;
Options *o; Options *o;
o = g_new0(Options, 1); o = g_slice_new0(Options);
o->x = G_MININT; o->x = G_MININT;
o->y = G_MININT; o->y = G_MININT;
o->w = G_MININT; o->w = G_MININT;
@ -103,6 +104,11 @@ static gpointer setup_func(xmlNodePtr node)
return o; return o;
} }
static void free_func(gpointer o)
{
g_slice_free(Options, o);
}
/* Always return FALSE because its not interactive */ /* Always return FALSE because its not interactive */
static gboolean run_func(ObActionsData *data, gpointer options) static gboolean run_func(ObActionsData *data, gpointer options)
{ {
@ -186,7 +192,7 @@ static gpointer setup_center_func(xmlNodePtr node)
{ {
Options *o; Options *o;
o = g_new0(Options, 1); o = g_slice_new0(Options);
o->x = G_MININT; o->x = G_MININT;
o->y = G_MININT; o->y = G_MININT;
o->w = G_MININT; o->w = G_MININT;

View file

@ -10,6 +10,7 @@ typedef struct {
} Options; } Options;
static gpointer setup_func(xmlNodePtr node); static gpointer setup_func(xmlNodePtr node);
static void free_func(gpointer o);
static gboolean run_func(ObActionsData *data, gpointer options); static gboolean run_func(ObActionsData *data, gpointer options);
/* 3.4-compatibility */ /* 3.4-compatibility */
static gpointer setup_north_func(xmlNodePtr node); static gpointer setup_north_func(xmlNodePtr node);
@ -19,12 +20,12 @@ static gpointer setup_west_func(xmlNodePtr node);
void action_movetoedge_startup(void) void action_movetoedge_startup(void)
{ {
actions_register("MoveToEdge", setup_func, g_free, run_func); actions_register("MoveToEdge", setup_func, free_func, run_func);
/* 3.4-compatibility */ /* 3.4-compatibility */
actions_register("MoveToEdgeNorth", setup_north_func, g_free, run_func); actions_register("MoveToEdgeNorth", setup_north_func, free_func, run_func);
actions_register("MoveToEdgeSouth", setup_south_func, g_free, run_func); actions_register("MoveToEdgeSouth", setup_south_func, free_func, run_func);
actions_register("MoveToEdgeEast", setup_east_func, g_free, run_func); actions_register("MoveToEdgeEast", setup_east_func, free_func, run_func);
actions_register("MoveToEdgeWest", setup_west_func, g_free, run_func); actions_register("MoveToEdgeWest", setup_west_func, free_func, run_func);
} }
static gpointer setup_func(xmlNodePtr node) static gpointer setup_func(xmlNodePtr node)
@ -32,7 +33,7 @@ static gpointer setup_func(xmlNodePtr node)
xmlNodePtr n; xmlNodePtr n;
Options *o; Options *o;
o = g_new0(Options, 1); o = g_slice_new0(Options);
o->dir = OB_DIRECTION_NORTH; o->dir = OB_DIRECTION_NORTH;
if ((n = obt_xml_find_node(node, "direction"))) { if ((n = obt_xml_find_node(node, "direction"))) {
@ -55,6 +56,11 @@ static gpointer setup_func(xmlNodePtr node)
return o; return o;
} }
static void free_func(gpointer o)
{
g_slice_free(Options, o);
}
/* Always return FALSE because its not interactive */ /* Always return FALSE because its not interactive */
static gboolean run_func(ObActionsData *data, gpointer options) static gboolean run_func(ObActionsData *data, gpointer options)
{ {
@ -77,28 +83,28 @@ static gboolean run_func(ObActionsData *data, gpointer options)
/* 3.4-compatibility */ /* 3.4-compatibility */
static gpointer setup_north_func(xmlNodePtr node) static gpointer setup_north_func(xmlNodePtr node)
{ {
Options *o = g_new0(Options, 1); Options *o = g_slice_new0(Options);
o->dir = OB_DIRECTION_NORTH; o->dir = OB_DIRECTION_NORTH;
return o; return o;
} }
static gpointer setup_south_func(xmlNodePtr node) static gpointer setup_south_func(xmlNodePtr node)
{ {
Options *o = g_new0(Options, 1); Options *o = g_slice_new0(Options);
o->dir = OB_DIRECTION_SOUTH; o->dir = OB_DIRECTION_SOUTH;
return o; return o;
} }
static gpointer setup_east_func(xmlNodePtr node) static gpointer setup_east_func(xmlNodePtr node)
{ {
Options *o = g_new0(Options, 1); Options *o = g_slice_new0(Options);
o->dir = OB_DIRECTION_EAST; o->dir = OB_DIRECTION_EAST;
return o; return o;
} }
static gpointer setup_west_func(xmlNodePtr node) static gpointer setup_west_func(xmlNodePtr node)
{ {
Options *o = g_new0(Options, 1); Options *o = g_slice_new0(Options);
o->dir = OB_DIRECTION_WEST; o->dir = OB_DIRECTION_WEST;
return o; return o;
} }

View file

@ -10,6 +10,7 @@ typedef struct {
} Options; } Options;
static gpointer setup_func(xmlNodePtr node); static gpointer setup_func(xmlNodePtr node);
static void free_func(gpointer o);
static gboolean run_func(ObActionsData *data, gpointer options); static gboolean run_func(ObActionsData *data, gpointer options);
static guint32 pick_corner(gint x, gint y, gint cx, gint cy, gint cw, gint ch, static guint32 pick_corner(gint x, gint y, gint cx, gint cy, gint cw, gint ch,
@ -17,7 +18,7 @@ static guint32 pick_corner(gint x, gint y, gint cx, gint cy, gint cw, gint ch,
void action_resize_startup(void) void action_resize_startup(void)
{ {
actions_register("Resize", setup_func, g_free, run_func); actions_register("Resize", setup_func, free_func, run_func);
} }
static gpointer setup_func(xmlNodePtr node) static gpointer setup_func(xmlNodePtr node)
@ -25,7 +26,7 @@ static gpointer setup_func(xmlNodePtr node)
xmlNodePtr n; xmlNodePtr n;
Options *o; Options *o;
o = g_new0(Options, 1); o = g_slice_new0(Options);
if ((n = obt_xml_find_node(node, "edge"))) { if ((n = obt_xml_find_node(node, "edge"))) {
gchar *s = obt_xml_node_string(n); gchar *s = obt_xml_node_string(n);
@ -55,6 +56,11 @@ static gpointer setup_func(xmlNodePtr node)
return o; return o;
} }
static void free_func(gpointer o)
{
g_slice_free(Options, o);
}
/* Always return FALSE because its not interactive */ /* Always return FALSE because its not interactive */
static gboolean run_func(ObActionsData *data, gpointer options) static gboolean run_func(ObActionsData *data, gpointer options)
{ {

View file

@ -12,11 +12,12 @@ typedef struct {
} Options; } Options;
static gpointer setup_func(xmlNodePtr node); static gpointer setup_func(xmlNodePtr node);
static void free_func(gpointer options);
static gboolean run_func(ObActionsData *data, gpointer options); static gboolean run_func(ObActionsData *data, gpointer options);
void action_resizerelative_startup(void) void action_resizerelative_startup(void)
{ {
actions_register("ResizeRelative", setup_func, g_free, run_func); actions_register("ResizeRelative", setup_func, free_func, run_func);
} }
static gpointer setup_func(xmlNodePtr node) static gpointer setup_func(xmlNodePtr node)
@ -24,7 +25,7 @@ static gpointer setup_func(xmlNodePtr node)
xmlNodePtr n; xmlNodePtr n;
Options *o; Options *o;
o = g_new0(Options, 1); o = g_slice_new0(Options);
if ((n = obt_xml_find_node(node, "left"))) if ((n = obt_xml_find_node(node, "left")))
o->left = obt_xml_node_int(n); o->left = obt_xml_node_int(n);
@ -40,6 +41,11 @@ static gpointer setup_func(xmlNodePtr node)
return o; return o;
} }
static void free_func(gpointer o)
{
g_slice_free(Options, o);
}
/* Always return FALSE because its not interactive */ /* Always return FALSE because its not interactive */
static gboolean run_func(ObActionsData *data, gpointer options) static gboolean run_func(ObActionsData *data, gpointer options)
{ {

View file

@ -20,7 +20,7 @@ static gpointer setup_func(xmlNodePtr node)
xmlNodePtr n; xmlNodePtr n;
Options *o; Options *o;
o = g_new0(Options, 1); o = g_slice_new0(Options);
if ((n = obt_xml_find_node(node, "command")) || if ((n = obt_xml_find_node(node, "command")) ||
(n = obt_xml_find_node(node, "execute"))) (n = obt_xml_find_node(node, "execute")))
@ -36,7 +36,7 @@ static void free_func(gpointer options)
{ {
Options *o = options; Options *o = options;
g_free(o->cmd); g_free(o->cmd);
g_free(o); g_slice_free(Options, o);
} }
/* Always return FALSE because its not interactive */ /* Always return FALSE because its not interactive */

View file

@ -20,7 +20,7 @@ static gpointer setup_func(xmlNodePtr node)
xmlNodePtr n; xmlNodePtr n;
Options *o; Options *o;
o = g_new0(Options, 1); o = g_slice_new0(Options);
if ((n = obt_xml_find_node(node, "menu"))) if ((n = obt_xml_find_node(node, "menu")))
o->name = obt_xml_node_string(n); o->name = obt_xml_node_string(n);
@ -31,7 +31,7 @@ static void free_func(gpointer options)
{ {
Options *o = options; Options *o = options;
g_free(o->name); g_free(o->name);
g_free(o); g_slice_free(Options, o);
} }
/* Always return FALSE because its not interactive */ /* Always return FALSE because its not interactive */

View file

@ -106,7 +106,7 @@ GSList *config_per_app_settings;
ObAppSettings* config_create_app_settings(void) ObAppSettings* config_create_app_settings(void)
{ {
ObAppSettings *settings = g_new0(ObAppSettings, 1); ObAppSettings *settings = g_slice_new0(ObAppSettings);
settings->type = -1; settings->type = -1;
settings->decor = -1; settings->decor = -1;
settings->shade = -1; settings->shade = -1;
@ -239,7 +239,7 @@ static void parse_per_app_settings(xmlNodePtr node, gpointer d)
if (class_set || name_set || role_set || title_set || type_set) { if (class_set || name_set || role_set || title_set || type_set) {
xmlNodePtr n, c; xmlNodePtr n, c;
ObAppSettings *settings = config_create_app_settings();; ObAppSettings *settings = config_create_app_settings();
if (name_set) if (name_set)
settings->name = g_pattern_spec_new(name); settings->name = g_pattern_spec_new(name);
@ -1084,7 +1084,7 @@ void config_shutdown(void)
if (itd->role) g_pattern_spec_free(itd->role); if (itd->role) g_pattern_spec_free(itd->role);
if (itd->title) g_pattern_spec_free(itd->title); if (itd->title) g_pattern_spec_free(itd->title);
if (itd->class) g_pattern_spec_free(itd->class); if (itd->class) g_pattern_spec_free(itd->class);
g_free(it->data); g_slice_free(ObAppSettings, it->data);
} }
g_slist_free(config_per_app_settings); g_slist_free(config_per_app_settings);
} }

View file

@ -80,7 +80,7 @@ void dock_startup(gboolean reconfig)
STRUT_PARTIAL_SET(dock_strut, 0, 0, 0, 0, STRUT_PARTIAL_SET(dock_strut, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0); 0, 0, 0, 0, 0, 0, 0, 0);
dock = g_new0(ObDock, 1); dock = g_slice_new0(ObDock);
dock->obwin.type = OB_WINDOW_CLASS_DOCK; dock->obwin.type = OB_WINDOW_CLASS_DOCK;
dock->hidden = TRUE; dock->hidden = TRUE;
@ -129,6 +129,8 @@ void dock_shutdown(gboolean reconfig)
RrAppearanceFree(dock->a_frame); RrAppearanceFree(dock->a_frame);
window_remove(dock->frame); window_remove(dock->frame);
stacking_remove(dock); stacking_remove(dock);
g_slice_free(ObDock, dock);
dock = NULL;
} }
void dock_manage(Window icon_win, Window name_win) void dock_manage(Window icon_win, Window name_win)
@ -137,7 +139,7 @@ void dock_manage(Window icon_win, Window name_win)
XWindowAttributes attrib; XWindowAttributes attrib;
gchar **data; gchar **data;
app = g_new0(ObDockApp, 1); app = g_slice_new0(ObDockApp);
app->name_win = name_win; app->name_win = name_win;
app->icon_win = icon_win; app->icon_win = icon_win;
@ -224,7 +226,7 @@ void dock_unmanage(ObDockApp *app, gboolean reparent)
g_free(app->name); g_free(app->name);
g_free(app->class); g_free(app->class);
g_free(app); g_slice_free(ObDockApp, app);
} }
void dock_configure(void) void dock_configure(void)

View file

@ -89,7 +89,7 @@ ObFrame *frame_new(ObClient *client)
ObFrame *self; ObFrame *self;
Visual *visual; Visual *visual;
self = g_new0(ObFrame, 1); self = g_slice_new0(ObFrame);
self->client = client; self->client = client;
visual = check_32bit_client(client); visual = check_32bit_client(client);
@ -229,7 +229,7 @@ void frame_free(ObFrame *self)
if (self->colormap) if (self->colormap)
XFreeColormap(obt_display, self->colormap); XFreeColormap(obt_display, self->colormap);
g_free(self); g_slice_free(ObFrame, self);
} }
void frame_show(ObFrame *self) void frame_show(ObFrame *self)

View file

@ -39,7 +39,7 @@ void tree_destroy(KeyBindingTree *tree)
actions_act_unref(sit->data); actions_act_unref(sit->data);
g_slist_free(tree->actions); g_slist_free(tree->actions);
} }
g_free(tree); g_slice_free(KeyBindingTree, tree);
tree = c; tree = c;
} }
} }
@ -56,7 +56,7 @@ KeyBindingTree *tree_build(GList *keylist)
GList *kit; GList *kit;
p = ret; p = ret;
ret = g_new0(KeyBindingTree, 1); ret = g_slice_new0(KeyBindingTree);
for (kit = it; kit != NULL; kit = g_list_previous(kit)) for (kit = it; kit != NULL; kit = g_list_previous(kit))
ret->keylist = g_list_prepend(ret->keylist, ret->keylist = g_list_prepend(ret->keylist,
@ -87,7 +87,7 @@ void tree_assimilate(KeyBindingTree *node)
} else { } else {
tmp = b; tmp = b;
b = b->first_child; b = b->first_child;
g_free(tmp); g_slice_free(KeyBindingTree, tmp);
a = a->first_child; a = a->first_child;
} }
} }
@ -99,7 +99,7 @@ void tree_assimilate(KeyBindingTree *node)
} else { } else {
last->first_child = b->first_child; last->first_child = b->first_child;
last->first_child->parent = last; last->first_child->parent = last;
g_free(b); g_slice_free(KeyBindingTree, b);
} }
} }
} }

View file

@ -374,7 +374,7 @@ ObMenu* menu_new(const gchar *name, const gchar *title,
{ {
ObMenu *self; ObMenu *self;
self = g_new0(ObMenu, 1); self = g_slice_new0(ObMenu);
self->name = g_strdup(name); self->name = g_strdup(name);
self->data = data; self->data = data;
@ -393,7 +393,7 @@ ObMenu* menu_new(const gchar *name, const gchar *title,
more_menu->more_menu will always be NULL, since there is only 1 for more_menu->more_menu will always be NULL, since there is only 1 for
each menu. */ each menu. */
self->more_menu = g_new0(ObMenu, 1); self->more_menu = g_slice_new0(ObMenu);
self->more_menu->name = _("More..."); self->more_menu->name = _("More...");
self->more_menu->title = _("More..."); self->more_menu->title = _("More...");
self->more_menu->data = data; self->more_menu->data = data;
@ -423,9 +423,9 @@ static void menu_destroy_hash_value(ObMenu *self)
g_free(self->name); g_free(self->name);
g_free(self->title); g_free(self->title);
g_free(self->execute); g_free(self->execute);
g_free(self->more_menu); g_slice_free(ObMenu, self->more_menu);
g_free(self); g_slice_free(ObMenu, self);
} }
void menu_free(ObMenu *menu) void menu_free(ObMenu *menu)
@ -505,7 +505,7 @@ static ObMenuEntry* menu_entry_new(ObMenu *menu, ObMenuEntryType type, gint id)
g_assert(menu); g_assert(menu);
self = g_new0(ObMenuEntry, 1); self = g_slice_new0(ObMenuEntry);
self->ref = 1; self->ref = 1;
self->type = type; self->type = type;
self->menu = menu; self->menu = menu;
@ -550,7 +550,7 @@ void menu_entry_unref(ObMenuEntry *self)
break; break;
} }
g_free(self); g_slice_free(ObMenuEntry, self);
} }
} }

View file

@ -108,7 +108,7 @@ ObMenuFrame* menu_frame_new(ObMenu *menu, guint show_from, ObClient *client)
ObMenuFrame *self; ObMenuFrame *self;
XSetWindowAttributes attr; XSetWindowAttributes attr;
self = g_new0(ObMenuFrame, 1); self = g_slice_new0(ObMenuFrame);
self->obwin.type = OB_WINDOW_CLASS_MENUFRAME; self->obwin.type = OB_WINDOW_CLASS_MENUFRAME;
self->menu = menu; self->menu = menu;
self->selected = NULL; self->selected = NULL;
@ -151,7 +151,7 @@ void menu_frame_free(ObMenuFrame *self)
XDestroyWindow(obt_display, self->window); XDestroyWindow(obt_display, self->window);
g_free(self); g_slice_free(ObMenuFrame, self);
} }
} }
@ -168,7 +168,7 @@ static ObMenuEntryFrame* menu_entry_frame_new(ObMenuEntry *entry,
ObMenuEntryFrame *self; ObMenuEntryFrame *self;
XSetWindowAttributes attr; XSetWindowAttributes attr;
self = g_new0(ObMenuEntryFrame, 1); self = g_slice_new0(ObMenuEntryFrame);
self->entry = entry; self->entry = entry;
self->frame = frame; self->frame = frame;
@ -216,7 +216,7 @@ static void menu_entry_frame_free(ObMenuEntryFrame *self)
g_hash_table_remove(menu_frame_map, &self->bullet); g_hash_table_remove(menu_frame_map, &self->bullet);
} }
g_free(self); g_slice_free(ObMenuEntryFrame, self);
} }
} }

View file

@ -155,7 +155,7 @@ void mouse_unbind_all(void)
actions_act_unref(jt->data); actions_act_unref(jt->data);
g_slist_free(b->actions[j]); g_slist_free(b->actions[j]);
} }
g_free(b); g_slice_free(ObMouseBinding, b);
} }
g_slist_free(bound_contexts[i]); g_slist_free(bound_contexts[i]);
bound_contexts[i] = NULL; bound_contexts[i] = NULL;
@ -390,7 +390,7 @@ gboolean mouse_bind(const gchar *buttonstr, const gchar *contextstr,
} }
/* add the binding */ /* add the binding */
b = g_new0(ObMouseBinding, 1); b = g_slice_new0(ObMouseBinding);
b->state = state; b->state = state;
b->button = button; b->button = button;
b->actions[mact] = g_slist_append(NULL, action); b->actions[mact] = g_slist_append(NULL, action);

View file

@ -75,7 +75,7 @@ void ping_start(struct _ObClient *client, ObPingEventHandler h)
/* make sure we're not already pinging the client */ /* make sure we're not already pinging the client */
if (g_hash_table_find(ping_ids, find_client, client) != NULL) return; if (g_hash_table_find(ping_ids, find_client, client) != NULL) return;
t = g_new0(ObPingTarget, 1); t = g_slice_new0(ObPingTarget);
t->client = client; t->client = client;
t->h = h; t->h = h;
@ -161,6 +161,6 @@ static void ping_end(ObClient *client, gpointer data)
obt_main_loop_timeout_remove_data(ob_main_loop, ping_timeout, obt_main_loop_timeout_remove_data(ob_main_loop, ping_timeout,
t, FALSE); t, FALSE);
g_free(t); g_slice_free(ObPingTarget, t);
} }
} }

View file

@ -152,7 +152,7 @@ ObPrompt* prompt_new(const gchar *msg, const gchar *title,
attrib.override_redirect = FALSE; attrib.override_redirect = FALSE;
self = g_new0(ObPrompt, 1); self = g_slice_new0(ObPrompt);
self->ref = 1; self->ref = 1;
self->func = func; self->func = func;
self->cleanup = cleanup; self->cleanup = cleanup;
@ -250,7 +250,7 @@ void prompt_unref(ObPrompt *self)
XDestroyWindow(obt_display, self->msg.window); XDestroyWindow(obt_display, self->msg.window);
XDestroyWindow(obt_display, self->super.window); XDestroyWindow(obt_display, self->super.window);
g_free(self); g_slice_free(ObPrompt, self);
} }
} }