[openoffice.org] Resolves: rhbz#624908/ooo#114012 bad a11y chain in draw
Caolan McNamara
caolanm at fedoraproject.org
Fri Aug 27 12:50:56 UTC 2010
commit f82323d4c7cc971e54f09847cdcd6ccb1861cc60
Author: Caolán McNamara <caolanm at redhat.com>
Date: Fri Aug 27 13:50:39 2010 +0100
Resolves: rhbz#624908/ooo#114012 bad a11y chain in draw
...ffice.org-3.3.0.ooo114012.sd.bada11ychain.patch | 66 ++++++++++++++++---
1 files changed, 55 insertions(+), 11 deletions(-)
---
diff --git a/openoffice.org-3.3.0.ooo114012.sd.bada11ychain.patch b/openoffice.org-3.3.0.ooo114012.sd.bada11ychain.patch
index e079399..39a148d 100644
--- a/openoffice.org-3.3.0.ooo114012.sd.bada11ychain.patch
+++ b/openoffice.org-3.3.0.ooo114012.sd.bada11ychain.patch
@@ -1,6 +1,6 @@
---- sd/source/ui/accessibility/AccessibleSlideSorterView.cxx 2010-08-20 10:29:47.000000000 +0100
-+++ sd/source/ui/accessibility/AccessibleSlideSorterView.cxx 2010-08-20 10:45:27.000000000 +0100
-@@ -109,13 +109,18 @@
+--- sd/source/ui/accessibility/AccessibleSlideSorterView.cxx 2010-08-27 13:38:58.000000000 +0100
++++ sd/source/ui/accessibility/AccessibleSlideSorterView.cxx 2010-08-27 13:34:27.000000000 +0100
+@@ -109,7 +109,6 @@
const Reference<XAccessible>& rxParent,
::Window* pContentWindow)
: AccessibleSlideSorterViewBase(MutexOwner::maMutex),
@@ -8,15 +8,59 @@
mrSlideSorter(rSlideSorter),
mxParent(rxParent),
mnClientId(0),
- mpContentWindow(pContentWindow)
+@@ -121,6 +120,16 @@
+
+
+
++
++void AccessibleSlideSorterView::Init()
++{
++ mpImpl.reset(new Implementation(*this,mrSlideSorter,mpContentWindow));
++}
++
++
++
++
++
+ AccessibleSlideSorterView::~AccessibleSlideSorterView (void)
{
- OSL_TRACE("creating AccessibleSlideSorterView");
-+ //self-acquire for the duration of the ctor to avoid
-+ //that the Implementation ctor ends up disposing us
-+ //before we've even finished ctor
-+ acquire();
-+ mpImpl.reset(new Implementation(*this,rSlideSorter,pContentWindow));
-+ release();
+ Destroyed ();
+--- sd/source/ui/inc/AccessibleSlideSorterView.hxx 2010-08-27 13:01:53.000000000 +0100
++++ sd/source/ui/inc/AccessibleSlideSorterView.hxx 2010-08-27 13:30:28.000000000 +0100
+@@ -76,6 +76,8 @@
+ ::sd::slidesorter::SlideSorter& rSlideSorter,
+ const ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible> & rxParent,
+ ::Window* pParentWindow);
++
++ void Init();
+
+ virtual ~AccessibleSlideSorterView (void);
+
+--- sd/source/ui/slidesorter/shell/SlideSorterViewShell.cxx 2010-08-27 13:01:53.000000000 +0100
++++ sd/source/ui/slidesorter/shell/SlideSorterViewShell.cxx 2010-08-27 13:41:43.000000000 +0100
+@@ -273,16 +273,22 @@
+ SlideSorterViewShell::CreateAccessibleDocumentView (::sd::Window* pWindow)
+ {
+ OSL_ASSERT(mpSlideSorter.get()!=NULL);
+-
+ // When the view is not set then the initialization is not yet complete
+ // and we can not yet provide an accessibility object.
+- if (mpView == NULL)
++ if (mpView == NULL || mpSlideSorter.get() == NULL)
+ return NULL;
+
+- return new ::accessibility::AccessibleSlideSorterView (
++ ::accessibility::AccessibleSlideSorterView *pAccessibleView =
++ new ::accessibility::AccessibleSlideSorterView(
+ *mpSlideSorter.get(),
+ pWindow->GetAccessibleParentWindow()->GetAccessible(),
+ pWindow);
++
++ ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible> xRet(pAccessibleView);
++
++ pAccessibleView->Init();
++
++ return xRet;
}
More information about the scm-commits
mailing list