sw/source/core/layout/trvlfrm.cxx | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-)
New commits: commit 209149e9126dd75241f6a7c969ca5a12da61b28c Author: Michael Stahl <mst...@redhat.com> Date: Thu Dec 13 01:28:59 2012 +0100 fdo#58142: fix frame selection in SwPageFrm::GetCrsrOfst: The function does not handle the case where a paragraph was hit but no background frame was hit properly, which may or may not (depending on the platform) cause it to return a position of a frame when that is undesirable, such as when called from SwWrtShell::UnSelectFrm(). When UnselectFrm() leaves a frame selected pasting multiple pictures leads to a crash. (regression from e8fbe97900f13305b17015d9044993bde4adab36) Change-Id: I3604825f654c523a37f47a9fc660647d8b3e7077 (cherry picked from commit 2fc4af311656e7d019ca802d23444e5161f820ee) Reviewed-on: https://gerrit.libreoffice.org/1314 Reviewed-by: Caolán McNamara <caol...@redhat.com> Tested-by: Caolán McNamara <caol...@redhat.com> diff --git a/sw/source/core/layout/trvlfrm.cxx b/sw/source/core/layout/trvlfrm.cxx index 2ffc033..ee907cd 100644 --- a/sw/source/core/layout/trvlfrm.cxx +++ b/sw/source/core/layout/trvlfrm.cxx @@ -275,8 +275,12 @@ sal_Bool SwPageFrm::GetCrsrOfst( SwPosition *pPos, Point &rPoint, if ( ( bTestBackground && bBackRet ) || !bTextRet ) { bRet = bBackRet; - pPos->nNode = aBackPos.nNode; - pPos->nContent = aBackPos.nContent; + (*pPos) = aBackPos; + } + else if (bTextRet && !bBackRet) + { + bRet = bTextRet; + (*pPos) = aTextPos; } else { @@ -314,14 +318,12 @@ sal_Bool SwPageFrm::GetCrsrOfst( SwPosition *pPos, Point &rPoint, if ( bValidTextDistance && bValidBackDistance && basegfx::fTools::more( nTextDistance, nBackDistance ) ) { bRet = bBackRet; - pPos->nNode = aBackPos.nNode; - pPos->nContent = aBackPos.nContent; + (*pPos) = aBackPos; } else { bRet = bTextRet; - pPos->nNode = aTextPos.nNode; - pPos->nContent = aTextPos.nContent; + (*pPos) = aTextPos; } } }
_______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits