summaryrefslogtreecommitdiff
path: root/winaccessibility
diff options
context:
space:
mode:
authorMichael Stahl <mstahl@redhat.com>2013-11-22 00:38:45 +0100
committerMichael Stahl <mstahl@redhat.com>2013-11-24 01:00:53 +0100
commita5e281ff0468416e5bb20b16ccac16550a83a9fd (patch)
tree1cad1e251228d3c791ccdca65bd647169540daf5 /winaccessibility
parent58ab5239868039bc9e4dff391fc0c420a2eb3d8d (diff)
winaccessibility: make XAccessibleAction member Reference
Maybe it would be kept alive by AccObject::m_AccActionRef but why not play it safe. Change-Id: I03c2be04e97dcde8a177ef8dfd0d75595ab13a53
Diffstat (limited to 'winaccessibility')
-rw-r--r--winaccessibility/source/UAccCOM/MAccessible.cxx13
-rw-r--r--winaccessibility/source/UAccCOM/MAccessible.h4
2 files changed, 9 insertions, 8 deletions
diff --git a/winaccessibility/source/UAccCOM/MAccessible.cxx b/winaccessibility/source/UAccCOM/MAccessible.cxx
index c65c5af3d3d8..642e77896c4b 100644
--- a/winaccessibility/source/UAccCOM/MAccessible.cxx
+++ b/winaccessibility/source/UAccCOM/MAccessible.cxx
@@ -207,7 +207,6 @@ m_pszValue(NULL),
m_pszDescription(NULL),
m_isDestroy(FALSE),
m_pszActionDescription(NULL),
-m_pXAction(NULL),
m_bRequiresSave(FALSE)
{
m_sLocation.m_dLeft=0;
@@ -2409,7 +2408,7 @@ STDMETHODIMP CMAccessible::GetUNOInterface(hyper * pXAcc)
*/
STDMETHODIMP CMAccessible::SetDefaultAction(hyper pAction)
{
- m_pXAction = reinterpret_cast<XAccessibleAction*>(pAction);
+ m_xAction = reinterpret_cast<XAccessibleAction*>(pAction);
return S_OK;
}
@@ -2434,7 +2433,7 @@ HRESULT STDMETHODCALLTYPE CMAccessible::get_accDefaultAction(VARIANT varChild, B
{
if(varChild.lVal==CHILDID_SELF)
{
- if( m_pXAction == NULL )
+ if (!m_xAction.is())
return DISP_E_MEMBERNOTFOUND;
SAFE_SYSFREESTRING(*pszDefaultAction);
*pszDefaultAction = SysAllocString(m_pszActionDescription);
@@ -2465,15 +2464,15 @@ HRESULT STDMETHODCALLTYPE CMAccessible::accDoDefaultAction(VARIANT varChild)
ISDESTROY()
if( varChild.vt != VT_I4 )
return E_INVALIDARG;
- if( m_pXAction == NULL )
+ if (!m_xAction.is())
return E_FAIL;
- if( m_pXAction->getAccessibleActionCount() == 0 )
+ if (m_xAction->getAccessibleActionCount() == 0)
return E_FAIL;
if(varChild.lVal==CHILDID_SELF)
{
- if(m_pXAction->getAccessibleActionCount() > 0)
- m_pXAction->doAccessibleAction(0);
+ if (m_xAction->getAccessibleActionCount() > 0)
+ m_xAction->doAccessibleAction(0);
return S_OK;
}
diff --git a/winaccessibility/source/UAccCOM/MAccessible.h b/winaccessibility/source/UAccCOM/MAccessible.h
index 315ae3cb41c9..69c6e468c2f8 100644
--- a/winaccessibility/source/UAccCOM/MAccessible.h
+++ b/winaccessibility/source/UAccCOM/MAccessible.h
@@ -229,7 +229,9 @@ private:
BOOL m_isDestroy;
css::uno::Reference<css::accessibility::XAccessible> m_xAccessible;
- css::accessibility::XAccessibleAction * m_pXAction;
+ // initially m_xAction and m_xContext are the same object
+ // but they may be different once AccObject::UpdateAction() is called?
+ css::uno::Reference<css::accessibility::XAccessibleAction> m_xAction;
css::uno::Reference<css::accessibility::XAccessibleContext> m_xContext;
private: