]> Pileus Git - ~andy/gtk/commitdiff
x11: Use glib malloc funcs for XSettings
authorBenjamin Otte <otte@redhat.com>
Tue, 12 Feb 2013 13:58:44 +0000 (14:58 +0100)
committerBenjamin Otte <otte@redhat.com>
Tue, 19 Feb 2013 13:32:41 +0000 (14:32 +0100)
gdk/x11/xsettings-client.c
gdk/x11/xsettings-client.h

index da7d55b93a14f9376eeabeddc8b8b1592047bcc5..3920bec8e8c2de13cff991c319b24814ba3d13af 100644 (file)
@@ -31,7 +31,6 @@
 
 #include <limits.h>
 #include <stdio.h>
-#include <stdlib.h>
 #include <string.h>
 
 #include <X11/Xlib.h>
@@ -225,20 +224,10 @@ parse_settings (unsigned char *data,
          goto out;
        }
 
-      setting = malloc (sizeof *setting);
-      if (!setting)
-       {
-         result = XSETTINGS_NO_MEM;
-         goto out;
-       }
+      setting = g_new (XSettingsSetting, 1);
       setting->type = XSETTINGS_TYPE_INT; /* No allocated memory */
 
-      setting->name = malloc (name_len + 1);
-      if (!setting->name)
-       {
-         result = XSETTINGS_NO_MEM;
-         goto out;
-       }
+      setting->name = g_malloc (name_len + 1);
 
       memcpy (setting->name, buffer.pos, name_len);
       setting->name[name_len] = '\0';
@@ -271,12 +260,7 @@ parse_settings (unsigned char *data,
              goto out;
            }
 
-         setting->data.v_string = malloc (v_int + 1);
-         if (!setting->data.v_string)
-           {
-             result = XSETTINGS_NO_MEM;
-             goto out;
-           }
+         setting->data.v_string = g_malloc (v_int + 1);
          
          memcpy (setting->data.v_string, buffer.pos, v_int);
          setting->data.v_string[v_int] = '\0';
@@ -326,9 +310,6 @@ parse_settings (unsigned char *data,
     {
       switch (result)
        {
-       case XSETTINGS_NO_MEM:
-         fprintf(stderr, "Out of memory reading XSETTINGS property\n");
-         break;
        case XSETTINGS_ACCESS:
          fprintf(stderr, "Invalid XSETTINGS property (read off end)\n");
          break;
@@ -456,7 +437,7 @@ xsettings_client_new (GdkScreen           *screen,
   char *atom_names[3];
   Atom atoms[3];
   
-  client = malloc (sizeof *client);
+  client = g_new (XSettingsClient, 1);
   if (!client)
     return NULL;
 
@@ -503,7 +484,7 @@ xsettings_client_destroy (XSettingsClient *client)
   
   if (client->settings)
     g_hash_table_unref (client->settings);
-  free (client);
+  g_free (client);
 }
 
 const XSettingsSetting *
@@ -580,11 +561,11 @@ void
 xsettings_setting_free (XSettingsSetting *setting)
 {
   if (setting->type == XSETTINGS_TYPE_STRING)
-    free (setting->data.v_string);
+    g_free (setting->data.v_string);
 
   if (setting->name)
-    free (setting->name);
+    g_free (setting->name);
   
-  free (setting);
+  g_free (setting);
 }
 
index 69ffca1436b339843af8b576beb040b7a026959e..6bb2dbcb96b0d8449faa05a601dd748c16a89850 100644 (file)
@@ -64,7 +64,6 @@ typedef enum
 typedef enum
 {
   XSETTINGS_SUCCESS,
-  XSETTINGS_NO_MEM,
   XSETTINGS_ACCESS,
   XSETTINGS_FAILED,
   XSETTINGS_NO_ENTRY,