From 91feac62f7815e2233567c72f901e946558acbf0 Mon Sep 17 00:00:00 2001 From: "aaronleventhal%moonset.net" Date: Fri, 8 Jun 2007 14:16:27 +0000 Subject: [PATCH] Bug 383608. Some IA2 interfaces must check smart XPCOM QI to see if a given object supports that interface. r=surkov git-svn-id: svn://10.0.0.236/trunk@227696 18797224-902f-48f8-a5cc-f745e15eee43 --- mozilla/accessible/src/msaa/CAccessibleAction.cpp | 4 ---- mozilla/accessible/src/msaa/CAccessibleComponent.cpp | 4 ---- mozilla/accessible/src/msaa/CAccessibleEditableText.cpp | 3 +++ mozilla/accessible/src/msaa/CAccessibleHyperlink.cpp | 2 +- mozilla/accessible/src/msaa/CAccessibleHypertext.cpp | 2 +- mozilla/accessible/src/msaa/CAccessibleText.cpp | 4 ++++ 6 files changed, 9 insertions(+), 10 deletions(-) diff --git a/mozilla/accessible/src/msaa/CAccessibleAction.cpp b/mozilla/accessible/src/msaa/CAccessibleAction.cpp index 4138f0783e4..20c296386f0 100755 --- a/mozilla/accessible/src/msaa/CAccessibleAction.cpp +++ b/mozilla/accessible/src/msaa/CAccessibleAction.cpp @@ -56,10 +56,6 @@ CAccessibleAction::QueryInterface(REFIID iid, void** ppv) *ppv = NULL; if (IID_IAccessibleAction == iid) { - nsCOMPtr acc(do_QueryInterface(this)); - if (!acc) - return E_FAIL; - *ppv = NS_STATIC_CAST(IAccessibleAction*, this); (NS_REINTERPRET_CAST(IUnknown*, *ppv))->AddRef(); return S_OK; diff --git a/mozilla/accessible/src/msaa/CAccessibleComponent.cpp b/mozilla/accessible/src/msaa/CAccessibleComponent.cpp index 0c47bc900b8..a2943460c01 100755 --- a/mozilla/accessible/src/msaa/CAccessibleComponent.cpp +++ b/mozilla/accessible/src/msaa/CAccessibleComponent.cpp @@ -67,10 +67,6 @@ CAccessibleComponent::QueryInterface(REFIID iid, void** ppv) *ppv = NULL; if (IID_IAccessibleComponent == iid) { - nsCOMPtr acc(do_QueryInterface(this)); - if (!acc) - return E_FAIL; - *ppv = NS_STATIC_CAST(IAccessibleComponent*, this); (NS_REINTERPRET_CAST(IUnknown*, *ppv))->AddRef(); return S_OK; diff --git a/mozilla/accessible/src/msaa/CAccessibleEditableText.cpp b/mozilla/accessible/src/msaa/CAccessibleEditableText.cpp index 93ee9d4b5e7..b69873306a2 100755 --- a/mozilla/accessible/src/msaa/CAccessibleEditableText.cpp +++ b/mozilla/accessible/src/msaa/CAccessibleEditableText.cpp @@ -61,6 +61,9 @@ CAccessibleEditableText::QueryInterface(REFIID iid, void** ppv) *ppv = NULL; if (IID_IAccessibleEditableText == iid) { + nsCOMPtr editTextAcc(do_QueryInterface(this)); + if (!editTextAcc) + return E_NOINTERFACE; *ppv = NS_STATIC_CAST(IAccessibleEditableText*, this); (NS_REINTERPRET_CAST(IUnknown*, *ppv))->AddRef(); return S_OK; diff --git a/mozilla/accessible/src/msaa/CAccessibleHyperlink.cpp b/mozilla/accessible/src/msaa/CAccessibleHyperlink.cpp index 3cc3c64f44b..49971739b58 100755 --- a/mozilla/accessible/src/msaa/CAccessibleHyperlink.cpp +++ b/mozilla/accessible/src/msaa/CAccessibleHyperlink.cpp @@ -63,7 +63,7 @@ CAccessibleHyperlink::QueryInterface(REFIID iid, void** ppv) if (IID_IAccessibleHyperlink == iid) { nsCOMPtr acc(do_QueryInterface(this)); if (!acc) - return E_FAIL; + return E_NOINTERFACE; *ppv = NS_STATIC_CAST(IAccessibleHyperlink*, this); (NS_REINTERPRET_CAST(IUnknown*, *ppv))->AddRef(); diff --git a/mozilla/accessible/src/msaa/CAccessibleHypertext.cpp b/mozilla/accessible/src/msaa/CAccessibleHypertext.cpp index e6a35bf674f..1870812d190 100755 --- a/mozilla/accessible/src/msaa/CAccessibleHypertext.cpp +++ b/mozilla/accessible/src/msaa/CAccessibleHypertext.cpp @@ -57,7 +57,7 @@ CAccessibleHypertext::QueryInterface(REFIID iid, void** ppv) if (IID_IAccessibleHypertext == iid) { nsCOMPtr hyperAcc(do_QueryInterface(this)); if (!hyperAcc) - return E_FAIL; + return E_NOINTERFACE; *ppv = NS_STATIC_CAST(IAccessibleHypertext*, this); (NS_REINTERPRET_CAST(IUnknown*, *ppv))->AddRef(); diff --git a/mozilla/accessible/src/msaa/CAccessibleText.cpp b/mozilla/accessible/src/msaa/CAccessibleText.cpp index e8d41ba4292..ece978cf965 100755 --- a/mozilla/accessible/src/msaa/CAccessibleText.cpp +++ b/mozilla/accessible/src/msaa/CAccessibleText.cpp @@ -66,6 +66,10 @@ CAccessibleText::QueryInterface(REFIID iid, void** ppv) *ppv = NULL; if (IID_IAccessibleText == iid) { + nsCOMPtr textAcc(do_QueryInterface(this)); + if (!textAcc) { + return E_NOINTERFACE; + } *ppv = NS_STATIC_CAST(IAccessibleText*, this); (NS_REINTERPRET_CAST(IUnknown*, *ppv))->AddRef(); return S_OK;