]> Dogcows Code - chaz/openbox/blobdiff - openbox/actions/execute.c
use g_slice_new() instead of g_new() part 4
[chaz/openbox] / openbox / actions / execute.c
index ed205364bac4b192f8aacf70fc3e93c98908c75b..18daf78467f07bf33661d584b6b4de2a0bbe4f28 100644 (file)
@@ -53,7 +53,7 @@ static gpointer setup_func(xmlNodePtr node)
     xmlNodePtr n;
     Options *o;
 
-    o = g_new0(Options, 1);
+    o = g_slice_new0(Options);
 
     if ((n = obt_xml_find_node(node, "command")) ||
         (n = obt_xml_find_node(node, "execute")))
@@ -97,21 +97,22 @@ static void free_func(gpointer options)
         g_free(o->sn_icon);
         g_free(o->sn_wmclass);
         g_free(o->prompt);
-        if (o->data) g_free(o->data);
-        g_free(o);
+        if (o->data) g_slice_free(ObActionsData, o->data);
+        g_slice_free(Options, o);
     }
 }
 
 static Options* dup_options(Options *in, ObActionsData *data)
 {
-    Options *o = g_new(Options, 1);
+    Options *o = g_slice_new(Options);
     o->cmd = g_strdup(in->cmd);
     o->sn = in->sn;
     o->sn_name = g_strdup(in->sn_name);
     o->sn_icon = g_strdup(in->sn_icon);
     o->sn_wmclass = g_strdup(in->sn_wmclass);
     o->prompt = NULL;
-    o->data = g_memdup(data, sizeof(ObActionsData));
+    o->data = g_slice_new(ObActionsData);
+    memcpy(o->data, data, sizeof(ObActionsData));
     return o;
 }
 
This page took 0.02038 seconds and 4 git commands to generate.