--- 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& rxParent, ::Window* pContentWindow) : AccessibleSlideSorterViewBase(MutexOwner::maMutex), - mpImpl(new Implementation(*this,rSlideSorter,pContentWindow)), mrSlideSorter(rSlideSorter), mxParent(rxParent), mnClientId(0), @@ -121,6 +120,16 @@ + +void AccessibleSlideSorterView::Init() +{ + mpImpl.reset(new Implementation(*this,mrSlideSorter,mpContentWindow)); +} + + + + + AccessibleSlideSorterView::~AccessibleSlideSorterView (void) { 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; }