sc/source/ui/Accessibility/AccessibleDocument.cxx | 6 +++++- sc/source/ui/inc/AccessibleDocument.hxx | 2 ++ sc/source/ui/view/gridwin5.cxx | 1 + 3 files changed, 8 insertions(+), 1 deletion(-)
New commits: commit 8a334eb222906909bf77006687411ff9e03d9da3 Author: Stephan Bergmann <sberg...@redhat.com> Date: Mon Oct 5 14:09:56 2015 +0200 tdf#94687: Keep original ordering of overall initialization steps ...between ScGridWindow::CreateAccessible, ScAccessibleDocument ctor, and ScAccessibleDocument::Init, by introducing ScAccessibleDocument::PreInit into which the this-using parts of the ScAccessibleDocument ctor are offloaded now. This is a follow-up to 6f1e77fc600f776433a759172323b4afec3d811e, "rhbz#1264753: Avoid this being release()ed to 0 in ScAccessibleDocument ctor;" turns out my fears that the slight re-ordering of initialization code coulb break something were well-founded after all. Change-Id: Ibf62983030d7abbe4b1ead9ee5add5f9627e7d60 diff --git a/sc/source/ui/Accessibility/AccessibleDocument.cxx b/sc/source/ui/Accessibility/AccessibleDocument.cxx index 0022e9d..4a199a9 100644 --- a/sc/source/ui/Accessibility/AccessibleDocument.cxx +++ b/sc/source/ui/Accessibility/AccessibleDocument.cxx @@ -1415,7 +1415,7 @@ ScAccessibleDocument::ScAccessibleDocument( maVisArea = GetVisibleArea_Impl(); } -void ScAccessibleDocument::Init() +void ScAccessibleDocument::PreInit() { if (mpViewShell) { @@ -1442,6 +1442,10 @@ void ScAccessibleDocument::Init() AddChild(xAcc, false); } } +} + +void ScAccessibleDocument::Init() +{ if(!mpChildrenShapes) mpChildrenShapes = new ScChildrenShapes(this, mpViewShell, meSplitPos); } diff --git a/sc/source/ui/inc/AccessibleDocument.hxx b/sc/source/ui/inc/AccessibleDocument.hxx index ff153b0..6e45caf 100644 --- a/sc/source/ui/inc/AccessibleDocument.hxx +++ b/sc/source/ui/inc/AccessibleDocument.hxx @@ -63,6 +63,8 @@ public: ScTabViewShell* pViewShell, ScSplitPos eSplitPos); + void PreInit(); + virtual void Init() SAL_OVERRIDE; DECL_LINK_TYPED( WindowChildEventListener, VclWindowEvent&, void ); diff --git a/sc/source/ui/view/gridwin5.cxx b/sc/source/ui/view/gridwin5.cxx index f7a8337..e7678b7 100644 --- a/sc/source/ui/view/gridwin5.cxx +++ b/sc/source/ui/view/gridwin5.cxx @@ -462,6 +462,7 @@ com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible > ScAccessibleDocument* pAccessibleDocument = new ScAccessibleDocument(GetAccessibleParentWindow()->GetAccessible(), pViewData->GetViewShell(), eWhich); + pAccessibleDocument->PreInit(); xAcc = pAccessibleDocument; SetAccessible(xAcc); _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits