Make sure to release the NSMConsumer in LAHandlerService
authorJannis Pohlmann <jannis.pohlmann@codethink.co.uk>
Thu, 26 Jul 2012 15:59:49 +0000 (16:59 +0100)
committerJannis Pohlmann <jannis.pohlmann@codethink.co.uk>
Thu, 26 Jul 2012 15:59:49 +0000 (16:59 +0100)
Otherwise we'd be leaking memory

boot-manager/la-handler-service.c

index 5c89db1..3beb61a 100644 (file)
@@ -214,9 +214,9 @@ la_handler_service_finalize (GObject *object)
   /* release the bus name */
   g_bus_unown_name (service->bus_name_id);
 
-  /* release the D-Bus connection object */
-  if (service->connection != NULL)
-    g_object_unref (service->connection);
+  /* release the NSM consumer service object, if there is one */
+  if (service->nsm_consumer != NULL)
+    g_object_unref (service->nsm_consumer);
 
   /* release the interface skeleton */
   g_signal_handlers_disconnect_matched (service->interface,
@@ -227,6 +227,10 @@ la_handler_service_finalize (GObject *object)
   /* release the job manager skeleton */
   g_object_unref (service->job_manager);
 
+  /* release the D-Bus connection object */
+  if (service->connection != NULL)
+    g_object_unref (service->connection);
+
   /* release the shutdown clients */
   g_hash_table_unref (service->units_to_clients);
   g_hash_table_unref (service->clients_to_units);