I've attched two patches for gtk-directfb.

gtk-dfb_strdup_atom_name.patch makes gdk_atom_name() use g_strdup(). 
Fixes crashes due to double free/freeing static data.

gtk-dfb_init_failure_cleanup.patch is just a minor cleanup to 
gdk_display_open() failure paths.


Mike, what's the policy regarding gtk-directfb patches, should they be 
sent to directfb-dev or gtk-devel?

-- 
Ville Syrjälä
[EMAIL PROTECTED]
http://www.sci.fi/~syrjala/
Index: gdk/directfb/gdkproperty-directfb.c
===================================================================
RCS file: /cvs/gnome/gtk+/gdk/directfb/gdkproperty-directfb.c,v
retrieving revision 1.1
diff -u -r1.1 gdkproperty-directfb.c
--- gdk/directfb/gdkproperty-directfb.c 5 Feb 2006 04:04:28 -0000       1.1
+++ gdk/directfb/gdkproperty-directfb.c 24 Apr 2006 10:17:39 -0000
@@ -192,7 +192,7 @@
   if (GPOINTER_TO_INT (atom) >= atoms_to_names->len)
     return NULL;
     
-  return g_ptr_array_index (atoms_to_names, GPOINTER_TO_INT (atom));
+  return g_strdup (g_ptr_array_index (atoms_to_names, GPOINTER_TO_INT (atom)));
 }
 
 
Index: gdk/directfb/gdkdisplay-directfb.c
===================================================================
RCS file: /cvs/gnome/gtk+/gdk/directfb/gdkdisplay-directfb.c,v
retrieving revision 1.3
diff -u -r1.3 gdkdisplay-directfb.c
--- gdk/directfb/gdkdisplay-directfb.c  3 Apr 2006 20:36:51 -0000       1.3
+++ gdk/directfb/gdkdisplay-directfb.c  24 Apr 2006 10:17:39 -0000
@@ -111,7 +111,6 @@
     {
       DirectFBError ("gdk_display_open: GetDisplayLayer", ret);
       directfb->Release (directfb);
-         directfb = NULL;
       return NULL;
     }
 
@@ -120,7 +119,9 @@
   ret=directfb->GetInputDevice (directfb, DIDID_KEYBOARD, &keyboard);
 
   if (ret != DFB_OK){
-      DirectFBError ("gdk_display_open: GetDisplayLayer", ret);
+      DirectFBError ("gdk_display_open: GetInputDevice", ret);
+      layer->Release (layer);
+      directfb->Release (directfb);
        return NULL;
   }
 
_______________________________________________
directfb-dev mailing list
[email protected]
http://mail.directfb.org/cgi-bin/mailman/listinfo/directfb-dev

Reply via email to