rpms/openoffice.org/FC-5 openoffice.org-2.0.2.ooo63583.sd.accessibility.patch, 1.1, 1.2

fedora-cvs-commits at redhat.com fedora-cvs-commits at redhat.com
Tue Mar 28 10:10:26 UTC 2006


Author: caolanm

Update of /cvs/dist/rpms/openoffice.org/FC-5
In directory cvs.devel.redhat.com:/tmp/cvs-serv28270

Modified Files:
	openoffice.org-2.0.2.ooo63583.sd.accessibility.patch 
Log Message:
more accessibility fixes

openoffice.org-2.0.2.ooo63583.sd.accessibility.patch:
 sd/source/ui/accessibility/AccessibleDrawDocumentView.cxx |    2 
 sd/source/ui/slidesorter/shell/SlideSorterViewShell.cxx   |   19 ++++-
 source/accessibility/ChildrenManagerImpl.cxx              |    0 
 source/ui/accessibility/AccessibleDrawDocumentView.cxx    |    0 
 source/ui/slidesorter/shell/SlideSorterViewShell.cxx      |    0 
 svx/source/accessibility/ChildrenManagerImpl.cxx          |   47 ++++++++------
 6 files changed, 46 insertions(+), 22 deletions(-)

Index: openoffice.org-2.0.2.ooo63583.sd.accessibility.patch
===================================================================
RCS file: /cvs/dist/rpms/openoffice.org/FC-5/openoffice.org-2.0.2.ooo63583.sd.accessibility.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- openoffice.org-2.0.2.ooo63583.sd.accessibility.patch	24 Mar 2006 14:52:39 -0000	1.1
+++ openoffice.org-2.0.2.ooo63583.sd.accessibility.patch	28 Mar 2006 10:10:22 -0000	1.2
@@ -47,3 +47,74 @@
          delete mpChildrenManager;
          mpChildrenManager = NULL;
      }
+Index: source/accessibility/ChildrenManagerImpl.cxx
+===================================================================
+RCS file: /cvs/graphics/svx/source/accessibility/ChildrenManagerImpl.cxx,v
+retrieving revision 1.33
+diff -u -r1.33 ChildrenManagerImpl.cxx
+--- openoffice.org.orig/svx/source/accessibility/ChildrenManagerImpl.cxx	8 Sep 2005 20:20:26 -0000	1.33
++++ openoffice.org/svx/source/accessibility/ChildrenManagerImpl.cxx	28 Mar 2006 10:07:40 -0000
+@@ -537,34 +537,45 @@
+ 
+ void ChildrenManagerImpl::ClearAccessibleShapeList (void)
+ {
++    // Copy the list of (visible) shapes to local lists and clear the
++    // originals.
++    ChildDescriptorListType aLocalVisibleChildren;
++    aLocalVisibleChildren.swap(maVisibleChildren);
++    AccessibleShapeList aLocalAccessibleShapes;
++    aLocalAccessibleShapes.swap(maAccessibleShapes);
++
++    // Tell the listeners that all children are gone.
++    mrContext.CommitChange (
++        AccessibleEventId::INVALIDATE_ALL_CHILDREN,
++        uno::Any(),
++        uno::Any());
++
++    // There are no accessible shapes left so the index assigned to new
++    // accessible shapes can be reset.
++    mnNewNameIndex = 1;
++    
++    // Now the objects in the local lists can be safely disposed without
++    // having problems with callers that want to update their child lists.
++    
+     // Clear the list of visible accessible objects.  Objects not created on
+     // demand for XShapes are treated below.
+-    ChildDescriptorListType::iterator I,aEnd = maVisibleChildren.end();
+-    for (I=maVisibleChildren.begin(); I != aEnd; ++I)
++    ChildDescriptorListType::iterator I,aEnd = aLocalVisibleChildren.end();
++    for (I=aLocalVisibleChildren.begin(); I != aEnd; ++I)
+         if ( I->mxAccessibleShape.is() && I->mxShape.is() )
+-            I->disposeAccessibleObject(mrContext);
+-
+-    maVisibleChildren.clear ();
+-
++        {
++            ::comphelper::disposeComponent(I->mxAccessibleShape);
++            I->mxAccessibleShape = NULL;
++        }            
+ 
+     // Dispose all objects in the accessible shape list.
+-    AccessibleShapeList::iterator J,aEnd2 = maAccessibleShapes.end();
+-    for (J=maAccessibleShapes.begin(); J != aEnd2; ++J)
++    AccessibleShapeList::iterator J,aEnd2 = aLocalAccessibleShapes.end();
++    for (J=aLocalAccessibleShapes.begin(); J != aEnd2; ++J)
+         if (J->is())
+         {
+-            mrContext.CommitChange (
+-                AccessibleEventId::CHILD, 
+-                uno::Any(),
+-                uno::makeAny (*J));
+-
+             // Dispose the object.
+ 			::comphelper::disposeComponent(*J);
++            *J = NULL;
+         }
+-    maAccessibleShapes.clear ();
+-
+-    // Now that no accessible shapes remain we can reset the index assigned
+-    // to new accessible shapes.
+-    mnNewNameIndex = 1;
+ }
+ 
+ 




More information about the fedora-cvs-commits mailing list