From 10cae7a19c4203fd28601b4147eb4d192936bf7b Mon Sep 17 00:00:00 2001 From: Ginn Chen Date: Wed, 16 Dec 2009 19:21:48 +0800 Subject: [PATCH] Bug 533688 Firefox 3.6 failed to start with AT-SPI2 0.1.3 r=david.bolter --- accessible/src/atk/nsAccessibleWrap.cpp | 2 +- accessible/src/base/nsRootAccessible.cpp | 7 +++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/accessible/src/atk/nsAccessibleWrap.cpp b/accessible/src/atk/nsAccessibleWrap.cpp index 3a087b0eadb..ec9a80d74b2 100644 --- a/accessible/src/atk/nsAccessibleWrap.cpp +++ b/accessible/src/atk/nsAccessibleWrap.cpp @@ -925,10 +925,10 @@ refChildCB(AtkObject *aAtkObj, gint aChildIndex) NS_ASSERTION(childAtkObj, "Fail to get AtkObj"); if (!childAtkObj) return nsnull; + g_object_ref(childAtkObj); //this will addref parent atk_object_set_parent(childAtkObj, aAtkObj); - g_object_ref(childAtkObj); return childAtkObj; } diff --git a/accessible/src/base/nsRootAccessible.cpp b/accessible/src/base/nsRootAccessible.cpp index 04d333ad573..408d3a69c35 100644 --- a/accessible/src/base/nsRootAccessible.cpp +++ b/accessible/src/base/nsRootAccessible.cpp @@ -947,9 +947,12 @@ nsRootAccessible::Init() nsRefPtr root = GetApplicationAccessible(); NS_ENSURE_STATE(root); - root->AddRootAccessible(this); + nsresult rv = nsDocAccessibleWrap::Init(); - return nsDocAccessibleWrap::Init(); + if (NS_SUCCEEDED(rv)) + root->AddRootAccessible(this); + + return rv; } nsresult