зеркало из https://github.com/mozilla/pjs.git
Bug 248017. Can't QueryService to all ISimpleDOM* interfaces. Need QS because QI won't work on WinXP from IAccessible to custom interfaces. r=pkw, sr=darin
This commit is contained in:
Родитель
50aed93726
Коммит
cd8d1a778d
|
@ -628,13 +628,21 @@ STDMETHODIMP nsAccessibleWrap::put_accValue(
|
|||
STDMETHODIMP
|
||||
nsAccessibleWrap::QueryService(REFGUID guidService, REFIID iid, void** ppv)
|
||||
{
|
||||
*ppv = NULL;
|
||||
/**
|
||||
* To get an ISimpleDOMNode, ISimpleDOMDocument or ISimpleDOMText
|
||||
* from an IAccessible you have to use IServiceProvider like this:
|
||||
* --------------------------------------------------------------
|
||||
* ISimpleDOMDocument *pAccDoc = NULL;
|
||||
* IServiceProvider *pServProv = NULL;
|
||||
* pAcc->QueryInterface(IID_IServiceProvider, (void**)&pServProv);
|
||||
* if (pServProv) {
|
||||
* const GUID unused;
|
||||
* pServProv->QueryService(unused, IID_ISimpleDOMDocument, (void**)&pAccDoc);
|
||||
* pServProv->Release();
|
||||
* }
|
||||
*/
|
||||
|
||||
if (iid == IID_ISimpleDOMNode) {
|
||||
return nsAccessNodeWrap::QueryInterface(iid, ppv);
|
||||
}
|
||||
|
||||
return E_NOINTERFACE;
|
||||
return QueryInterface(iid, ppv);
|
||||
}
|
||||
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче