Fix ref count leaks in atspi_accessible_get_application
authorMike Gorse <mgorse@suse.com>
Mon, 14 Jan 2013 23:16:38 +0000 (17:16 -0600)
committerMike Gorse <mgorse@suse.com>
Mon, 14 Jan 2013 23:16:38 +0000 (17:16 -0600)
atspi/atspi-accessible.c

index 6732d1c..5f98199 100644 (file)
@@ -799,6 +799,7 @@ atspi_accessible_get_application (AtspiAccessible *obj, GError **error)
       if (root)
       {
         g_object_unref (obj);
+        g_object_unref (parent);
         if (atspi_accessible_get_role (root, NULL) == ATSPI_ROLE_DESKTOP_FRAME)
         {
           g_object_unref (root);
@@ -809,7 +810,11 @@ atspi_accessible_get_application (AtspiAccessible *obj, GError **error)
     }
     if (!parent || parent == obj ||
         atspi_accessible_get_role (parent, NULL) == ATSPI_ROLE_DESKTOP_FRAME)
+  {
+    if (parent)
+      g_object_unref (parent);
     return obj;
+  }
     g_object_unref (obj);
     obj = parent;
   }