summaryrefslogtreecommitdiff
path: root/gdk
diff options
context:
space:
mode:
authorMatthias Clasen <mclasen@redhat.com>2010-02-23 13:06:44 -0500
committerMatthias Clasen <mclasen@redhat.com>2010-02-23 13:06:44 -0500
commit7f483dbd7b935861fc00e67afe53c785a50695bc (patch)
tree86afb5cca2ef9672356592c697715ee1a8a0f775 /gdk
parent2dc9298b41cca3e05cb12ffb8578a37312d511ed (diff)
downloadgdk-pixbuf-7f483dbd7b935861fc00e67afe53c785a50695bc.tar.gz
Fix a memory leak in gdk_display_open in the directfb backend
Patch by Andre Draszik, bug 609172
Diffstat (limited to 'gdk')
-rw-r--r--gdk/directfb/gdkdisplay-directfb.c14
1 files changed, 8 insertions, 6 deletions
diff --git a/gdk/directfb/gdkdisplay-directfb.c b/gdk/directfb/gdkdisplay-directfb.c
index 423e15db2..f5a9d6a16 100644
--- a/gdk/directfb/gdkdisplay-directfb.c
+++ b/gdk/directfb/gdkdisplay-directfb.c
@@ -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;