[ooo-build-commit] .: sd/source

Caolán McNamara caolan at kemper.freedesktop.org
Thu Sep 30 09:34:57 PDT 2010


 sd/source/ui/accessibility/AccessibleSlideSorterView.cxx |   11 ++++++++++-
 sd/source/ui/inc/AccessibleSlideSorterView.hxx           |    2 ++
 sd/source/ui/slidesorter/shell/SlideSorterViewShell.cxx  |   12 +++++++++---
 3 files changed, 21 insertions(+), 4 deletions(-)

New commits:
commit a68dc8f5c6b3155b6427869476bca1c27f5aee02
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Thu Sep 30 17:34:35 2010 +0100

    Split a11y ctor (#i114012)
    
    Split ctor so that there aren't any horrible callbacks into semi-constructed
    objects that causes draw/impress to immediately die if a11y is enabled

diff --git a/sd/source/ui/accessibility/AccessibleSlideSorterView.cxx b/sd/source/ui/accessibility/AccessibleSlideSorterView.cxx
index f7b901a..e6a2913 100755
--- a/sd/source/ui/accessibility/AccessibleSlideSorterView.cxx
+++ b/sd/source/ui/accessibility/AccessibleSlideSorterView.cxx
@@ -109,7 +109,6 @@ AccessibleSlideSorterView::AccessibleSlideSorterView(
     const Reference<XAccessible>& rxParent,
     ::Window* pContentWindow)
     : AccessibleSlideSorterViewBase(MutexOwner::maMutex),
-      mpImpl(new Implementation(*this,rSlideSorter,pContentWindow)),
       mrSlideSorter(rSlideSorter),
       mxParent(rxParent),
       mnClientId(0),
@@ -121,6 +120,16 @@ AccessibleSlideSorterView::AccessibleSlideSorterView(
 
 
 
+
+void AccessibleSlideSorterView::Init()
+{
+    mpImpl.reset(new Implementation(*this,mrSlideSorter,mpContentWindow));
+}
+
+
+
+
+
 AccessibleSlideSorterView::~AccessibleSlideSorterView (void)
 {
     Destroyed ();
diff --git a/sd/source/ui/inc/AccessibleSlideSorterView.hxx b/sd/source/ui/inc/AccessibleSlideSorterView.hxx
index 5890e29..8667d35 100644
--- a/sd/source/ui/inc/AccessibleSlideSorterView.hxx
+++ b/sd/source/ui/inc/AccessibleSlideSorterView.hxx
@@ -76,6 +76,8 @@ public:
         ::sd::slidesorter::SlideSorter& rSlideSorter,
         const ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible> & rxParent,
         ::Window* pParentWindow);
+
+    void Init();
     
     virtual ~AccessibleSlideSorterView (void);
 
diff --git a/sd/source/ui/slidesorter/shell/SlideSorterViewShell.cxx b/sd/source/ui/slidesorter/shell/SlideSorterViewShell.cxx
index 07e4ef7..78cdabd 100755
--- a/sd/source/ui/slidesorter/shell/SlideSorterViewShell.cxx
+++ b/sd/source/ui/slidesorter/shell/SlideSorterViewShell.cxx
@@ -273,16 +273,22 @@ Reference<drawing::XDrawSubController> SlideSorterViewShell::CreateSubController
     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 ooo-build-commit mailing list