]> Pileus Git - ~andy/gtk/commitdiff
Fix a memory leak in gdk_display_open in the directfb backend
authorMatthias Clasen <mclasen@redhat.com>
Tue, 23 Feb 2010 18:06:44 +0000 (13:06 -0500)
committerMatthias Clasen <mclasen@redhat.com>
Tue, 23 Feb 2010 18:06:44 +0000 (13:06 -0500)
Patch by Andre Draszik, bug 609172

gdk/directfb/gdkdisplay-directfb.c

index 423e15db236f25042484566f5500157602d4196b..f5a9d6a16e74c93ebc3d4fd4d1203e0d2a4a0162 100644 (file)
@@ -93,17 +93,19 @@ GdkDisplay * gdk_display_open (const gchar *display_name)
     {
       DirectFBError ("gdk_display_open: GetDisplayLayer", ret);
       directfb->Release (directfb);
-         directfb = NULL;
+      _gdk_display->directfb = NULL;
       return NULL;
     }
 
 
-  ret=directfb->GetInputDevice (directfb, DIDID_KEYBOARD, &keyboard);
-
-  if (ret != DFB_OK){
+  ret = directfb->GetInputDevice (directfb, DIDID_KEYBOARD, &keyboard);
+  if (ret != DFB_OK)
+    {
       DirectFBError ("gdk_display_open: GetInputDevice", ret);
-       return NULL;
-  }
+      directfb->Release (directfb);
+      _gdk_display->directfb = NULL;
+      return NULL;
+    }
 
   _gdk_display->layer=layer;
   _gdk_display->keyboard=keyboard;