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

Reply via email to