[Libreoffice-commits] core.git: Branch 'distro/collabora/cp-4.1' - sc/source

Markus Mohrhard markus.mohrhard at collabora.co.uk
Tue Apr 8 20:04:47 PDT 2014


 sc/source/ui/drawfunc/fuins2.cxx |   10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

New commits:
commit 9c5a8f4c959265a87be67cc9f01e6c73fb556abb
Author: Markus Mohrhard <markus.mohrhard at collabora.co.uk>
Date:   Wed Apr 9 04:55:48 2014 +0200

    preserve selection if chart creation is cancelled, cp#1000052
    
    Change-Id: Ia8edb3e4c55e1a52515a761a60c4b1a59c990e1c

diff --git a/sc/source/ui/drawfunc/fuins2.cxx b/sc/source/ui/drawfunc/fuins2.cxx
index 3faea47..6e9f32f 100644
--- a/sc/source/ui/drawfunc/fuins2.cxx
+++ b/sc/source/ui/drawfunc/fuins2.cxx
@@ -453,6 +453,7 @@ FuInsertChart::FuInsertChart(ScTabViewShell* pViewSh, Window* pWin, ScDrawView*
         // get range
         OUString aRangeString;
         ScRange aPositionRange;             // cell range for chart positioning
+        ScMarkData aMark = pViewSh->GetViewData()->GetMarkData();
         if( pReqArgs )
         {
             const SfxPoolItem* pItem;
@@ -463,15 +464,14 @@ FuInsertChart::FuInsertChart(ScTabViewShell* pViewSh, Window* pWin, ScDrawView*
         }
         else
         {
-            ScMarkData& rMark = pViewSh->GetViewData()->GetMarkData();
             bool bAutomaticMark = false;
-            if ( !rMark.IsMarked() && !rMark.IsMultiMarked() )
+            if ( !aMark.IsMarked() && !aMark.IsMultiMarked() )
             {
                 pViewSh->GetViewData()->GetView()->MarkDataArea( sal_True );
                 bAutomaticMark = true;
             }
 
-            ScMarkData aMultiMark( rMark );
+            ScMarkData aMultiMark( aMark );
             aMultiMark.MarkToMulti();
 
             ScRangeList aRanges;
@@ -741,6 +741,10 @@ FuInsertChart::FuInsertChart(ScTabViewShell* pViewSh, Window* pWin, ScDrawView*
 
                             // leave the draw shell
                             pViewShell->SetDrawShell( false );
+
+                            // reset marked cell area
+
+                            pViewSh->GetViewData()->GetViewShell()->SetMarkData(aMark);
                         }
                         else
                         {


More information about the Libreoffice-commits mailing list