[Libreoffice-commits] core.git: sw/source
Stephan Bergmann
sbergman at redhat.com
Mon Dec 2 05:46:27 PST 2013
sw/source/core/access/acccell.cxx | 35 +++++++++++------------------------
sw/source/core/access/acccell.hxx | 6 ++----
2 files changed, 13 insertions(+), 28 deletions(-)
New commits:
commit 354249086c0956d48337805bb98387f0eea9a19e
Author: Stephan Bergmann <sbergman at redhat.com>
Date: Mon Dec 2 14:45:36 2013 +0100
Uninitialized value
Change-Id: I7794546b22ffe688eeff6349031dd585e38b7ce7
diff --git a/sw/source/core/access/acccell.cxx b/sw/source/core/access/acccell.cxx
index 6bbf1fc..721fb89 100644
--- a/sw/source/core/access/acccell.cxx
+++ b/sw/source/core/access/acccell.cxx
@@ -110,10 +110,15 @@ SwAccessibleCell::SwAccessibleCell( SwAccessibleMap *pInitMap,
bIsSelected = IsSelected();
- //Need not assign the pointer of accessible table object to m_pAccTable,
- //for it already done in SwAccessibleCell::GetTable(); Former codes:
- //m_pAccTable= GetTable();
- GetTable();
+ css::uno::Reference<css::accessibility::XAccessible> xTableReference(
+ getAccessibleParent());
+ css::uno::Reference<css::accessibility::XAccessibleContext> xContextTable(
+ xTableReference, css::uno::UNO_QUERY);
+ SAL_WARN_IF(
+ (!xContextTable.is()
+ || xContextTable->getAccessibleRole() != AccessibleRole::TABLE),
+ "sw.core", "bad accessible context");
+ m_pAccTable = static_cast<SwAccessibleTable *>(xTableReference.get());
}
sal_Bool SwAccessibleCell::_InvalidateMyCursorPos()
@@ -137,7 +142,7 @@ sal_Bool SwAccessibleCell::_InvalidateMyCursorPos()
if( bChanged )
{
FireStateChangedEvent( AccessibleStateType::SELECTED, bNew );
- if (m_pAccTable)
+ if (m_pAccTable.is())
{
m_pAccTable->AddSelectionCell(this,bNew);
}
@@ -214,7 +219,7 @@ void SwAccessibleCell::_InvalidateCursorPos()
_InvalidateChildrenCursorPos( pTabFrm );
pTabFrm = pTabFrm->GetFollow();
}
- if (m_pAccTable)
+ if (m_pAccTable.is())
{
m_pAccTable->FireSelectionEvent();
}
@@ -527,22 +532,4 @@ void SwAccessibleCell::deselectAccessibleChild(
aSelectionHelper.deselectAccessibleChild(nSelectedChildIndex);
}
-SwAccessibleTable *SwAccessibleCell::GetTable()
-{
- if (!m_pAccTable)
- {
- if (!xTableReference.is())
- {
- xTableReference = getAccessibleParent();
- #ifdef OSL_DEBUG_LEVEL
- uno::Reference<XAccessibleContext> xContextTable(xTableReference, uno::UNO_QUERY);
- OSL_ASSERT(xContextTable.is() && xContextTable->getAccessibleRole() == AccessibleRole::TABLE);
- #endif
- //SwAccessibleTable aTable = *(static_cast<SwAccessibleTable *>(xTable.get()));
- }
- m_pAccTable = static_cast<SwAccessibleTable *>(xTableReference.get());
- }
- return m_pAccTable;
-}
-
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sw/source/core/access/acccell.hxx b/sw/source/core/access/acccell.hxx
index dbf0e12..663bd21 100644
--- a/sw/source/core/access/acccell.hxx
+++ b/sw/source/core/access/acccell.hxx
@@ -42,6 +42,8 @@ class SwAccessibleCell : public SwAccessibleContext,
sal_Bool _InvalidateMyCursorPos();
sal_Bool _InvalidateChildrenCursorPos( const SwFrm *pFrm );
+ rtl::Reference<SwAccessibleTable> m_pAccTable;
+
protected:
// Set states for getAccessibleStateSet.
// This drived class additionaly sets SELECTABLE(1) and SELECTED(+)
@@ -155,10 +157,6 @@ public:
sal_Int32 nSelectedChildIndex )
throw ( ::com::sun::star::lang::IndexOutOfBoundsException,
::com::sun::star::uno::RuntimeException );
-
- SwAccessibleTable *GetTable();
- ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible > xTableReference;
- SwAccessibleTable *m_pAccTable;
};
#endif
More information about the Libreoffice-commits
mailing list