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

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


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

New commits:
commit a7e2b6069862ff0f5f37ccdc22ec87f9328ecc5d
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 9db9ac9..3060fda 100644
--- a/sc/source/ui/drawfunc/fuins2.cxx
+++ b/sc/source/ui/drawfunc/fuins2.cxx
@@ -445,6 +445,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;
@@ -455,15 +456,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;
@@ -732,6 +732,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