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 <sberg...@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 _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits