all repos — openbox @ 4f93731cdbecbf43b82aa000c07ec8b40f97dd03

openbox fork - make it a bit more like ryudo

use g_slice_new() instead of g_new() part 2
Dana Jansens danakj@orodu.net
commit

4f93731cdbecbf43b82aa000c07ec8b40f97dd03

parent

1d57f7b08590255e57dd5931a1993507b4f116c2

M openbox/actions.copenbox/actions.c

@@ -102,7 +102,7 @@ if (!g_ascii_strcasecmp(name, def->name)) /* already registered */

return NULL; } - def = g_new(ObActionsDefinition, 1); + def = g_slice_new(ObActionsDefinition); def->ref = 1; def->name = g_strdup(name); def->free = free;

@@ -164,7 +164,7 @@ static void actions_definition_unref(ObActionsDefinition *def)

{ if (def && --def->ref == 0) { g_free(def->name); - g_free(def); + g_slice_free(ObActionsDefinition, def); } }

@@ -184,7 +184,7 @@ }

/* if we found the action */ if (def) { - act = g_new(ObActionsAct, 1); + act = g_slice_new(ObActionsAct); act->ref = 1; act->def = def; actions_definition_ref(act->def);

@@ -268,7 +268,7 @@ if (act->def->free)

act->def->free(act->options); /* unref the definition */ actions_definition_unref(act->def); - g_free(act); + g_slice_free(ObActionsAct, act); } }
M openbox/client_list_menu.copenbox/client_list_menu.c

@@ -116,7 +116,7 @@ static void desk_menu_destroy(ObMenu *menu, gpointer data)

{ DesktopData *d = data; - g_free(d); + g_slice_free(DesktopData, d); desktop_menus = g_slist_remove(desktop_menus, menu); }

@@ -136,7 +136,7 @@

for (i = 0; i < screen_num_desktops; ++i) { ObMenu *submenu; gchar *name = g_strdup_printf("%s-%u", MENU_NAME, i); - DesktopData *ddata = g_new(DesktopData, 1); + DesktopData *ddata = g_slice_new(DesktopData); ddata->desktop = i; submenu = menu_new(name, screen_desktop_names[i], FALSE, ddata);
M openbox/event.copenbox/event.c

@@ -811,7 +811,7 @@ ObFocusDelayData *data;

obt_main_loop_timeout_remove(ob_main_loop, focus_delay_func); - data = g_new(ObFocusDelayData, 1); + data = g_slice_new(ObFocusDelayData); data->client = client; data->time = event_curtime; data->serial = event_curserial;

@@ -846,7 +846,7 @@ ObFocusDelayData *data;

obt_main_loop_timeout_remove(ob_main_loop, unfocus_delay_func); - data = g_new(ObFocusDelayData, 1); + data = g_slice_new(ObFocusDelayData); data->client = client; data->time = event_curtime; data->serial = event_curserial;

@@ -1997,7 +1997,7 @@ }

static void focus_delay_dest(gpointer data) { - g_free(data); + g_slice_free(ObFocusDelayData, data); } static gboolean focus_delay_cmp(gconstpointer d1, gconstpointer d2)

@@ -2059,7 +2059,7 @@

g_assert(start != 0); g_assert(end != 0); - r = g_new(ObSerialRange, 1); + r = g_slice_new(ObSerialRange); r->start = start; r->end = end; ignore_serials = g_slist_prepend(ignore_serials, r);

@@ -2094,7 +2094,7 @@

if ((glong)(serial - r->end) > 0) { /* past the end */ ignore_serials = g_slist_delete_link(ignore_serials, it); - g_free(r); + g_slice_free(ObSerialRange, r); } else if ((glong)(serial - r->start) >= 0) return TRUE;
M openbox/focus_cycle_popup.copenbox/focus_cycle_popup.c

@@ -246,7 +246,7 @@ RrImageUnref(t->icon);

g_free(t->text); XDestroyWindow(obt_display, t->iconwin); XDestroyWindow(obt_display, t->textwin); - g_free(t); + g_slice_free(ObFocusCyclePopupTarget, t); } static gboolean popup_setup(ObFocusCyclePopup *p, gboolean create_targets,

@@ -313,7 +313,7 @@ if (!create_targets) {

g_free(text); } else { ObFocusCyclePopupTarget *t = - g_new(ObFocusCyclePopupTarget, 1); + g_slice_new(ObFocusCyclePopupTarget); t->client = ft; t->text = text;
M openbox/group.copenbox/group.c

@@ -45,7 +45,7 @@ ObGroup *self;

self = g_hash_table_lookup(group_map, &leader); if (self == NULL) { - self = g_new(ObGroup, 1); + self = g_slice_new(ObGroup); self->leader = leader; self->members = NULL; g_hash_table_insert(group_map, &self->leader, self);

@@ -61,6 +61,6 @@ {

self->members = g_slist_remove(self->members, client); if (self->members == NULL) { g_hash_table_remove(group_map, &self->leader); - g_free(self); + g_slice_free(ObGroup, self); } }
M openbox/place.copenbox/place.c

@@ -158,7 +158,7 @@ }

static GSList* area_add(GSList *list, Rect *a) { - Rect *r = g_new(Rect, 1); + Rect *r = g_slice_new(Rect); *r = *a; return g_slist_prepend(list, r); }

@@ -210,7 +210,7 @@ result = area_add(result, &extra);

} /* 'r' is not being added to the result list, so free it */ - g_free(r); + g_slice_free(Rect, r); } } g_slist_free(list);

@@ -332,7 +332,7 @@ ret = TRUE;

} while (spaces) { - g_free(spaces->data); + g_slice_free(Rect, spaces->data); spaces = g_slist_delete_link(spaces, spaces); } }
M openbox/popup.copenbox/popup.c

@@ -31,7 +31,7 @@

ObPopup *popup_new(void) { XSetWindowAttributes attrib; - ObPopup *self = g_new0(ObPopup, 1); + ObPopup *self = g_slice_new0(ObPopup); self->obwin.type = OB_WINDOW_CLASS_INTERNAL; self->gravity = NorthWestGravity;

@@ -72,7 +72,7 @@ RrAppearanceFree(self->a_bg);

RrAppearanceFree(self->a_text); window_remove(self->bg); stacking_remove(self); - g_free(self); + g_slice_free(ObPopup, self); } }

@@ -342,7 +342,7 @@ ObIconPopup *icon_popup_new(void)

{ ObIconPopup *self; - self = g_new0(ObIconPopup, 1); + self = g_slice_new0(ObIconPopup); self->popup = popup_new(); self->a_icon = RrAppearanceCopy(ob_rr_theme->a_clear_tex); self->icon = XCreateWindow(obt_display, self->popup->bg,

@@ -364,7 +364,7 @@ if (self) {

XDestroyWindow(obt_display, self->icon); RrAppearanceFree(self->a_icon); popup_free(self->popup); - g_free(self); + g_slice_free(ObIconPopup, self); } }

@@ -501,7 +501,7 @@ ObPagerPopup *pager_popup_new(void)

{ ObPagerPopup *self; - self = g_new(ObPagerPopup, 1); + self = g_slice_new(ObPagerPopup); self->popup = popup_new(); self->desks = 0;

@@ -527,7 +527,7 @@ g_free(self->wins);

RrAppearanceFree(self->hilight); RrAppearanceFree(self->unhilight); popup_free(self->popup); - g_free(self); + g_slice_free(ObPagerPopup, self); } }
M openbox/session.copenbox/session.c

@@ -376,7 +376,7 @@ }

static ObSMSaveData *sm_save_get_data(void) { - ObSMSaveData *savedata = g_new0(ObSMSaveData, 1); + ObSMSaveData *savedata = g_slice_new0(ObSMSaveData); /* save the active desktop and client. we don't bother to preemptively save the other desktop state like number and names of desktops, cuz those shouldn't be changing during

@@ -398,7 +398,7 @@ " Saving session to file '%s'", ob_sm_save_file);

if (savedata == NULL) savedata = sm_save_get_data(); success = session_save_to_file(savedata); - g_free(savedata); + g_slice_free(ObSMSaveData, savedata); /* tell the session manager how to restore this state */ if (success) session_setup_restart_command();

@@ -443,7 +443,7 @@ free(vendor);

if (!SmcRequestSaveYourselfPhase2(conn, sm_save_yourself_2, savedata)) { ob_debug_type(OB_DEBUG_SM, "Requst for phase 2 failed"); - g_free(savedata); + g_slice_free(ObSMSaveData, savedata); SmcSaveYourselfDone(conn, FALSE); } }

@@ -630,7 +630,7 @@ g_free(state->name);

g_free(state->class); g_free(state->role); - g_free(state); + g_slice_free(ObSessionState, state); } }

@@ -731,7 +731,7 @@ node = obt_xml_find_node(node->next, "window"))

{ ObSessionState *state; - state = g_new0(ObSessionState, 1); + state = g_slice_new0(ObSessionState); if (!obt_xml_attr_string(node, "id", &state->id)) if (!obt_xml_attr_string(node, "command", &state->command))