Date: prev next · Thread: first prev next last
2012 Archives by date, by thread · List index


hi Kohei,

i get an assertion in the smoketest because of this commit:

#0  sal_detail_logFormat(level = SAL_DETAIL_LOG_LEVEL_WARN, area = 0x7f75465b5032 "legacy.tools", 
where = 0x7f75465b57e0 "/data/lo/core_master/svx/source/svdraw/svdmodel.cxx:1977: ", format = 
0x7f75465b5770 "SdrModel::GetPage: Access out of range (!)") at 
/data/lo/core_master/sal/osl/all/log.cxx:178
#1  SdrModel::GetPage(this = 0x30788a0, nPgNum = 1) at 
/data/lo/core_master/svx/source/svdraw/svdmodel.cxx:1977
#2  ScDrawLayer::ResetTab(this = 0x30788a0, nStart = 0, nEnd = 2) at 
/data/lo/core_master/sc/source/core/data/drwlayer.cxx:486
#3  ScDrawLayer::ScAddPage(this = 0x30788a0, nTab = 0) at 
/data/lo/core_master/sc/source/core/data/drwlayer.cxx:393
#4  ScDocument::InitDrawLayer(this = 0x31b5698, pDocShell = 0x31b5620) at 
/data/lo/core_master/sc/source/core/data/documen9.cxx:157
#5  ScDocShell::MakeDrawLayer(this = 0x31b5620) at 
/data/lo/core_master/sc/source/ui/docshell/docsh2.cxx:221
#6  ScTabView::MakeDrawLayer(this = 0x3036120) at 
/data/lo/core_master/sc/source/ui/view/tabview2.cxx:1348
#7  ScTabViewShell::ScTabViewShell(this = 0x30360a0, pViewFrame = 0x304fd30, pOldSh = 0x0) at 
/data/lo/core_master/sc/source/ui/view/tabvwsh4.cxx:1759
#8  ScTabViewShell::CreateInstance(pFrame = 0x304fd30, pOldView = 0x0) at 
/data/lo/core_master/sc/source/ui/view/tabvwsh.cxx:97

reverting the change to drwlayer.cxx ScDrawLayer::ScAddPage i don't get
the smoketest assertion, but then the new unit test fails.

it looks like there are first a couple of tables inserted, and then all
the draw pages are created, so the pDoc->GetTableCount() makes it
request non-existent draw pages.


On 08/01/12 01:11, Kohei Yoshida wrote:
 sc/qa/unit/ucalc.cxx             |   17 +++++++++++++++++
 sc/source/core/data/drwlayer.cxx |    3 ++-
 2 files changed, 19 insertions(+), 1 deletion(-)

New commits:
commit d831f352ba4969f4e5ed0d1057a773d5a472d4aa
Author: Kohei Yoshida <kohei.yoshida@suse.com>
Date:   Sat Jan 7 19:09:24 2012 -0500

    More unit test code for drawing objects. Found another bug & fixed it.
    
    Inserting a new sheet would not update the anchored sheet index. Fixed.

diff --git a/sc/qa/unit/ucalc.cxx b/sc/qa/unit/ucalc.cxx
index 1adc2bf..c9c6b4b 100644
--- a/sc/qa/unit/ucalc.cxx
+++ b/sc/qa/unit/ucalc.cxx

diff --git a/sc/source/core/data/drwlayer.cxx b/sc/source/core/data/drwlayer.cxx
index 69f289a..087d510 100644
--- a/sc/source/core/data/drwlayer.cxx
+++ b/sc/source/core/data/drwlayer.cxx
@@ -390,7 +390,8 @@ sal_Bool ScDrawLayer::ScAddPage( SCTAB nTab )
     if (bRecording)
         AddCalcUndo(new SdrUndoNewPage(*pPage));
 
-    return sal_True;        // inserted
+    ResetTab(nTab, pDoc->GetTableCount()-1);
+    return true;        // inserted
 }
 
 void ScDrawLayer::ScRemovePage( SCTAB nTab )



Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.