[mutter] native: don't leak logind session proxy



commit cbad65f657372b759df03dc99e87b10b70ed9a09
Author: Ray Strode <rstrode redhat com>
Date:   Tue Feb 24 22:25:34 2015 -0500

    native: don't leak logind session proxy
    
    It's currently getting leaked in error paths
    
    https://bugzilla.gnome.org/show_bug.cgi?id=745141

 src/backends/native/meta-launcher.c |    9 ++++++---
 1 files changed, 6 insertions(+), 3 deletions(-)
---
diff --git a/src/backends/native/meta-launcher.c b/src/backends/native/meta-launcher.c
index 3b708df..47108ec 100644
--- a/src/backends/native/meta-launcher.c
+++ b/src/backends/native/meta-launcher.c
@@ -317,14 +317,14 @@ meta_launcher_new (void)
     {
       g_warning ("Could not take control: %s", error->message);
       g_error_free (error);
-      return NULL;
+      goto out;
     }
 
   if (!get_kms_fd (session_proxy, &kms_fd))
-    return NULL;
+    goto out;
 
   self = g_slice_new0 (MetaLauncher);
-  self->session_proxy = session_proxy;
+  self->session_proxy = g_object_ref (session_proxy);
   self->seat_proxy = get_seat_proxy (NULL);
 
   self->session_active = TRUE;
@@ -336,6 +336,9 @@ meta_launcher_new (void)
 
   g_signal_connect (self->session_proxy, "notify::active", G_CALLBACK (on_active_changed), self);
 
+out:
+  g_object_unref (session_proxy);
+
   return self;
 }
 


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]