summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLennard <Wasserthal@nefkom.net>2012-11-11 18:25:14 +0100
committerTor Lillqvist <tml@iki.fi>2012-11-12 09:56:15 +0000
commit6fbba11da54b52554941f00b07e42cc5d7a1643c (patch)
tree8634e696f78074b0fa9619fbd464f86ab701f9ad
parentbca28d7a8020948803f9879aaff7eb16774dc548 (diff)
fdo#55430 click object in front of current after editing text
additional patch for 55430, patch 85ea03ae536831649b104694d08dced4d4c8663f failed when underlying object was in text mode, switched back to normal mode, but still had the MouseButtonUp handle for text mode. This one compensates that! Change-Id: I69aecacc264c9a9b766ccfa48c0deb1f153e88da Signed-off-by: Lennard <Wasserthal@nefkom.net> Reviewed-on: https://gerrit.libreoffice.org/1037 Reviewed-by: Tor Lillqvist <tml@iki.fi> Tested-by: Tor Lillqvist <tml@iki.fi>
-rw-r--r--sd/source/ui/func/futext.cxx13
1 files changed, 12 insertions, 1 deletions
diff --git a/sd/source/ui/func/futext.cxx b/sd/source/ui/func/futext.cxx
index 9ed1470c21ed..250c661780fd 100644
--- a/sd/source/ui/func/futext.cxx
+++ b/sd/source/ui/func/futext.cxx
@@ -628,7 +628,8 @@ void FuText::ImpSetAttributesFitCommon(SdrTextObj* pTxtObj)
sal_Bool FuText::MouseButtonUp(const MouseEvent& rMEvt)
{
sal_Bool bReturn = sal_False;
-
+ SdrObject* pObj;
+ SdrPageView* pPV;
if (aDragTimer.IsActive())
{
aDragTimer.Stop();
@@ -702,6 +703,16 @@ sal_Bool FuText::MouseButtonUp(const MouseEvent& rMEvt)
Abs(aPnt.X() - aMDPos.X()) < nDrgLog &&
Abs(aPnt.Y() - aMDPos.Y()) < nDrgLog)
{
+ /*************************************************************
+ * If a user wants to click on an object in front of a masked
+ * one, he releases the mouse button immediately
+ **************************************************************/
+ if (mpView->PickObj(aMDPos, mpView->getHitTolLog(), pObj, pPV, SDRSEARCH_ALSOONMASTER | SDRSEARCH_BEFOREMARK))
+ {
+ mpView->UnmarkAllObj();
+ mpView->MarkObj(pObj,pPV,false,false);
+ return (bReturn);
+ }
// toggle to rotation mode
mpViewShell->GetViewFrame()->GetDispatcher()->Execute( SID_OBJECT_ROTATE, SFX_CALLMODE_ASYNCHRON | SFX_CALLMODE_RECORD );
}