editeng/source/editeng/editview.cxx |   11 +++++++++++
 1 file changed, 11 insertions(+)

New commits:
commit 71a84b69ae30458a941f38869aa994118051a063
Author: Caolán McNamara <caol...@redhat.com>
Date:   Fri Feb 24 13:57:53 2017 +0000

    Resolves: tdf#106123 store and restore the PaM around the menu Execute
    
    because the loss of focus in the current editeng causes writer annotations 
to
    save their contents, making the pContent of the current EditMaps invalid
    
    Change-Id: Ic01379291fa66dd58246d33287b18801f5da49c0

diff --git a/editeng/source/editeng/editview.cxx 
b/editeng/source/editeng/editview.cxx
index 4f72ae7..553fe19 100644
--- a/editeng/source/editeng/editview.cxx
+++ b/editeng/source/editeng/editview.cxx
@@ -983,7 +983,18 @@ void EditView::ExecuteSpellPopup( const Point& rPosPixel, 
Link<SpellCallbackInfo
         aScreenPos = pImpEditView->GetWindow()->OutputToScreenPixel( 
aScreenPos );
         aTempRect = pImpEditView->GetWindow()->LogicToPixel( 
Rectangle(aScreenPos, aTempRect.GetSize() ));
 
+        //tdf#106123 store and restore the EditPaM around the menu Execute
+        //because the loss of focus in the current editeng causes writer
+        //annotations to save their contents, making the pContent of the
+        //current EditPams invalid
+        EPaM aP = pImpEditView->pEditEngine->pImpEditEngine->CreateEPaM(aPaM);
+        EPaM aP2 = 
pImpEditView->pEditEngine->pImpEditEngine->CreateEPaM(aPaM2);
+
         sal_uInt16 nId = aPopupMenu->Execute( pImpEditView->GetWindow(), 
aTempRect, PopupMenuFlags::NoMouseUpClose );
+
+        aPaM2 = pImpEditView->pEditEngine->pImpEditEngine->CreateEditPaM(aP2);
+        aPaM = pImpEditView->pEditEngine->pImpEditEngine->CreateEditPaM(aP);
+
         if (nId == nIgnoreId)
         {
             OUString aWord = pImpEditView->SpellIgnoreWord();
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to