[Libreoffice] .: sc/qa sc/source
Michael Stahl
mstahl at redhat.com
Wed Jan 11 04:51:37 PST 2012
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 at 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 )
More information about the LibreOffice
mailing list