User: hr      
Date: 2007-06-27 12:25:48+0000
Modified:
   dba/dbaccess/source/ui/querydesign/TableWindowAccess.cxx

Log:
 INTEGRATION: CWS atkbridge6 (1.11.84); FILE MERGED
 2007/03/14 10:35:10 obr 1.11.84.1: #144968# fixed crash on closing window

File Changes:

Directory: /dba/dbaccess/source/ui/querydesign/
===============================================

File [changed]: TableWindowAccess.cxx
Url: 
http://dba.openoffice.org/source/browse/dba/dbaccess/source/ui/querydesign/TableWindowAccess.cxx?r1=1.11&r2=1.12
Delta lines:  +38 -17
---------------------
--- TableWindowAccess.cxx       2006-09-17 07:25:42+0000        1.11
+++ TableWindowAccess.cxx       2007-06-27 12:25:46+0000        1.12
@@ -135,19 +135,40 @@
        // XAccessibleContext
        sal_Int32 SAL_CALL OTableWindowAccess::getAccessibleChildCount(  ) 
throw (RuntimeException)
        {
-               return 2;
+        ::osl::MutexGuard aGuard( m_aMutex );
+        sal_Int32 nCount = 0;
+        if(m_pTable)
+        {
+            if(m_pTable->GetTitleCtrl())
+                ++nCount;
+            if(m_pTable->GetListBox())
+                ++nCount;
+        }
+               return nCount;
        }
        // 
-----------------------------------------------------------------------------
        Reference< XAccessible > SAL_CALL 
OTableWindowAccess::getAccessibleChild( sal_Int32 i ) throw 
(IndexOutOfBoundsException,RuntimeException)
        {
                ::osl::MutexGuard aGuard( m_aMutex  );
                Reference< XAccessible > aRet;
-               if(i == 0 && m_pTable)
+        if(m_pTable)
+        {
+            switch(i)
+            {
+                case 0:
+                    if(m_pTable->GetTitleCtrl())
+                    {
                        aRet = m_pTable->GetTitleCtrl()->GetAccessible();
-               else if(i == 1 && m_pTable)
+                        break;
+                    } // fall through if title control does not exist
+                case 1:
+                    if(m_pTable->GetListBox())
                        aRet = m_pTable->GetListBox()->GetAccessible();
-               else
+                    break;
+                default:
                        throw IndexOutOfBoundsException();
+            }
+        }
                return aRet;
        }
        // 
-----------------------------------------------------------------------------




---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to