From 342f3cfe6f2b27ea62bd9883e16014c188276356 Mon Sep 17 00:00:00 2001 From: Kohei Yoshida Date: Wed, 22 Dec 2010 12:31:22 -0500 Subject: [PATCH 1/2] Avoid double-paste when pasting text into cell comment. (fdo#32572) Original patch is from Caolan. I re-worked it to handle more use cases. --- sc/source/ui/view/gridwin.cxx | 20 ++++++++++++++++++++ 1 files changed, 20 insertions(+), 0 deletions(-) diff --git a/sc/source/ui/view/gridwin.cxx b/sc/source/ui/view/gridwin.cxx index 0d32bae..6826829 100644 --- a/sc/source/ui/view/gridwin.cxx +++ b/sc/source/ui/view/gridwin.cxx @@ -4298,6 +4298,23 @@ void ScGridWindow::PasteSelection( const Point& rPosPixel ) SCsROW nPosY; pViewData->GetPosFromPixel( rPosPixel.X(), rPosPixel.Y(), eWhich, nPosX, nPosY ); + // If the mouse down was inside a visible note window, ignore it and + // leave it up to the ScPostIt to handle it + SdrView* pDrawView = pViewData->GetViewShell()->GetSdrView(); + if (pDrawView) + { + ULONG nCount = pDrawView->GetMarkedObjectCount(); + for (ULONG i = 0; i < nCount; ++i) + { + SdrObject* pObj = pDrawView->GetMarkedObjectByIndex(i); + if (pObj && pObj->GetLogicRect().IsInside(aLogicPos)) + { + // Inside an active drawing object. Bail out. + return; + } + } + } + ScSelectionTransferObj* pOwnSelection = SC_MOD()->GetSelectionTransfer(); if ( pOwnSelection ) {