summaryrefslogtreecommitdiff
path: root/sfx2
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2021-09-09 12:09:23 +0100
committerMichael Stahl <michael.stahl@allotropia.de>2021-09-13 11:49:43 +0200
commit215c8629b7609f59459037b16d3bd1a4d81312e6 (patch)
treed01d8c0d89aacb3a8163168001fd73d101405715 /sfx2
parent65d69bb68de80c3e203f6f613abed1bd9ce43cfd (diff)
Resolves: tdf#144389 get_accessible_parent should only be called on vcl impls
Change-Id: If5d8718fcd9bcccee37e162a99cc68ff4a77de8f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/121849 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
Diffstat (limited to 'sfx2')
-rw-r--r--sfx2/source/control/thumbnailviewacc.cxx21
1 files changed, 5 insertions, 16 deletions
diff --git a/sfx2/source/control/thumbnailviewacc.cxx b/sfx2/source/control/thumbnailviewacc.cxx
index e723ad9efe31..30a8abff7dda 100644
--- a/sfx2/source/control/thumbnailviewacc.cxx
+++ b/sfx2/source/control/thumbnailviewacc.cxx
@@ -824,30 +824,19 @@ awt::Point SAL_CALL ThumbnailViewItemAcc::getLocation()
return aRet;
}
+// get position of the accessible parent in screen coordinates
awt::Point SAL_CALL ThumbnailViewItemAcc::getLocationOnScreen()
{
const SolarMutexGuard aSolarGuard;
awt::Point aRet;
- if( mpParent )
+ if (mpParent)
{
const Point aPos = mpParent->getDrawArea().TopLeft();
+ const Point aScreenPos(mpParent->mrParent.GetDrawingArea()->get_accessible_location_on_screen());
- aRet.X = aPos.X();
- aRet.Y = aPos.Y();
-
- // get position of the accessible parent in screen coordinates
- uno::Reference< XAccessible > xParent = getAccessibleParent();
- if ( xParent.is() )
- {
- uno::Reference<XAccessibleComponent> xParentComponent(xParent->getAccessibleContext(), uno::UNO_QUERY);
- if (xParentComponent.is())
- {
- awt::Point aParentScreenLoc = xParentComponent->getLocationOnScreen();
- aRet.X += aParentScreenLoc.X;
- aRet.Y += aParentScreenLoc.Y;
- }
- }
+ aRet.X = aPos.X() + aScreenPos.X();
+ aRet.Y = aPos.Y() + aScreenPos.X();
}
return aRet;