summaryrefslogtreecommitdiff
path: root/sw/source
diff options
context:
space:
mode:
authorStephan Bergmann <sbergman@redhat.com>2018-08-16 18:06:22 +0200
committerStephan Bergmann <sbergman@redhat.com>2018-08-16 21:55:03 +0200
commit085933f202cf973782a20a46a60087ff943ad6b9 (patch)
treec5602cde42aa99be15c30d8fb87101db972e8c1e /sw/source
parent0bafa88ce38bc9f6735d8118e544aa9232cc840c (diff)
SvxNumberFormat::nFirstLineOffset should have a larger type
...similar to 0d227c96e11d7d03829144183bc66d229e059a4b "SvxNumberFormat::nAbsLSpace should have a larger type", this time due to: > Testing file:///home/sbergman/lo/core/sd/qa/unit/data/ppt/pass/hang-10.ppt: [...] > filter/source/msfilter/svdfppt.cxx:3793:39: runtime error: implicit conversion from type 'sal_Int32' (aka 'int') of value -142240 (32-bit, signed) to type 'short' changed the value to -11168 (16-bit, signed) > #0 in PPTNumberFormatCreator::ImplGetNumberFormat(SdrPowerPointImport const&, SvxNumberFormat&) at filter/source/msfilter/svdfppt.cxx:3793:39 (instdir/program/libmsfilterlo.so +0x79930d) > #1 in PPTNumberFormatCreator::GetNumberFormat(SdrPowerPointImport const&, SvxNumberFormat&, unsigned int, PPTParaLevel const&, PPTCharLevel const&, TSS_Type) at filter/source/msfilter/svdfppt.cxx:3674:5 (instdir/program/libmsfilterlo.so +0x797bad) > #2 in PPTStyleSheet::PPTStyleSheet(DffRecordHeader const&, SvStream&, SdrPowerPointImport&, PPTTextParagraphStyleAtomInterpreter const&, PPTTextSpecInfo const&) at filter/source/msfilter/svdfppt.cxx:4395:13 (instdir/program/libmsfilterlo.so +0x7ac27d) > #3 in SdrPowerPointImport::SdrPowerPointImport(PowerPointImportParam&, rtl::OUString const&) at filter/source/msfilter/svdfppt.cxx:1618:59 (instdir/program/libmsfilterlo.so +0x74759f) > #4 in ImplSdPPTImport::ImplSdPPTImport(SdDrawDocument*, SotStorage&, SfxMedium&, PowerPointImportParam&) at sd/source/filter/ppt/pptin.cxx:175:7 (instdir/program/libsdfiltlo.so +0x5f2be8) > #5 in SdPPTImport::SdPPTImport(SdDrawDocument*, SvStream&, SotStorage&, SfxMedium&) at sd/source/filter/ppt/pptin.cxx:162:23 (instdir/program/libsdfiltlo.so +0x5ce2bb) > #6 in ImportPPT at sd/source/filter/ppt/pptin.cxx:2760:47 (instdir/program/libsdfiltlo.so +0x617c79) > #7 in SdPPTFilter::Import() at sd/source/filter/sdpptwrp.cxx:106:32 (instdir/program/libsdlo.so +0x2878233) > #8 in sd::DrawDocShell::ConvertFrom(SfxMedium&) at sd/source/ui/docshell/docshel4.cxx:474:46 (instdir/program/libsdlo.so +0x2e163dc) > #9 in SfxObjectShell::DoLoad(SfxMedium*) at sfx2/source/doc/objstor.cxx:786:23 (instdir/program/libsfxlo.so +0x2c8c492) > #10 in SdFiltersTest::load(rtl::OUString const&, rtl::OUString const&, rtl::OUString const&, SfxFilterFlags, SotClipboardFormatId, unsigned int) at sd/qa/unit/filters-test.cxx:75:31 (workdir/LinkTarget/CppunitTest/libtest_sd_filters_test.so +0x19771) > #11 in test::FiltersTest::recursiveScan(test::filterStatus, rtl::OUString const&, rtl::OUString const&, rtl::OUString const&, SfxFilterFlags, SotClipboardFormatId, unsigned int, bool) at unotest/source/cpp/filters-test.cxx:130:20 (workdir/LinkTarget/CppunitTest/../Library/libunotest.so +0x5724c) > #12 in test::FiltersTest::testDir(rtl::OUString const&, rtl::OUString const&, rtl::OUString const&, SfxFilterFlags, SotClipboardFormatId, unsigned int, bool) at unotest/source/cpp/filters-test.cxx:155:5 (workdir/LinkTarget/CppunitTest/../Library/libunotest.so +0x57ec9) > #13 in SdFiltersTest::testCVEs() at sd/qa/unit/filters-test.cxx:83:5 (workdir/LinkTarget/CppunitTest/libtest_sd_filters_test.so +0x19d6d) Change-Id: Icd83120e99ac8e7181d75e2cf9d13f49064e65e1 Reviewed-on: https://gerrit.libreoffice.org/59212 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
Diffstat (limited to 'sw/source')
-rw-r--r--sw/source/core/doc/DocumentStylePoolManager.cxx1
-rw-r--r--sw/source/core/txtnode/ndtxt.cxx2
-rw-r--r--sw/source/core/unocore/unosett.cxx2
-rw-r--r--sw/source/filter/html/htmlcss1.cxx2
-rw-r--r--sw/source/filter/html/htmlnumreader.cxx2
-rw-r--r--sw/source/filter/ww8/rtfattributeoutput.cxx2
-rw-r--r--sw/source/filter/ww8/wrtw8num.cxx2
-rw-r--r--sw/source/ui/misc/num.cxx2
8 files changed, 8 insertions, 7 deletions
diff --git a/sw/source/core/doc/DocumentStylePoolManager.cxx b/sw/source/core/doc/DocumentStylePoolManager.cxx
index d2cbedbada6d..aafd5fffab7f 100644
--- a/sw/source/core/doc/DocumentStylePoolManager.cxx
+++ b/sw/source/core/doc/DocumentStylePoolManager.cxx
@@ -206,6 +206,7 @@ namespace
{
SvxLRSpaceItem aLR( pColl->GetFormatAttr( RES_LR_SPACE ) );
aLR.SetTextFirstLineOfstValue( rNFormat.GetFirstLineOffset() );
+ //TODO: overflow
aLR.SetTextLeft( rNFormat.GetAbsLSpace() );
pColl->SetFormatAttr( aLR );
}
diff --git a/sw/source/core/txtnode/ndtxt.cxx b/sw/source/core/txtnode/ndtxt.cxx
index e168db451d14..859f33e5f30c 100644
--- a/sw/source/core/txtnode/ndtxt.cxx
+++ b/sw/source/core/txtnode/ndtxt.cxx
@@ -2888,7 +2888,7 @@ bool SwTextNode::GetFirstLineOfsWithNum( short& rFLOffset ) const
const SwNumFormat& rFormat = pRule->Get(lcl_BoundListLevel(GetActualListLevel()));
if ( rFormat.GetPositionAndSpaceMode() == SvxNumberFormat::LABEL_WIDTH_AND_POSITION )
{
- rFLOffset = rFormat.GetFirstLineOffset();
+ rFLOffset = rFormat.GetFirstLineOffset(); //TODO: overflow
if (!getIDocumentSettingAccess()->get(DocumentSettingId::IGNORE_FIRST_LINE_INDENT_IN_NUMBERING))
{
diff --git a/sw/source/core/unocore/unosett.cxx b/sw/source/core/unocore/unosett.cxx
index a608eaac3031..d88406c9b6a8 100644
--- a/sw/source/core/unocore/unosett.cxx
+++ b/sw/source/core/unocore/unosett.cxx
@@ -1742,7 +1742,7 @@ void SwXNumberingRules::SetPropertiesToNumFormat(
pProp->Value >>= nValue;
// #i23727# nValue can be positive
nValue = convertMm100ToTwip(nValue);
- aFormat.SetFirstLineOffset(static_cast<short>(nValue));
+ aFormat.SetFirstLineOffset(nValue);
}
break;
case 9: // UNO_NAME_POSITION_AND_SPACE_MODE
diff --git a/sw/source/filter/html/htmlcss1.cxx b/sw/source/filter/html/htmlcss1.cxx
index db9e2fb562e7..8518decf45e8 100644
--- a/sw/source/filter/html/htmlcss1.cxx
+++ b/sw/source/filter/html/htmlcss1.cxx
@@ -2188,7 +2188,7 @@ void SwHTMLParser::GetMarginsFromContextWithNumBul( sal_uInt16& nLeft,
: MAXLEVEL) - 1 );
const SwNumFormat& rNumFormat = rInfo.GetNumRule()->Get(nLevel);
nLeft = nLeft + rNumFormat.GetAbsLSpace(); //TODO: overflow
- nIndent = rNumFormat.GetFirstLineOffset();
+ nIndent = rNumFormat.GetFirstLineOffset(); //TODO: overflow
}
}
diff --git a/sw/source/filter/html/htmlnumreader.cxx b/sw/source/filter/html/htmlnumreader.cxx
index a910324b4aa6..54c09a7f741d 100644
--- a/sw/source/filter/html/htmlnumreader.cxx
+++ b/sw/source/filter/html/htmlnumreader.cxx
@@ -107,7 +107,7 @@ void SwHTMLParser::NewNumBulList( HtmlTokenId nToken )
sal_Int32 nAbsLSpace = HTML_NUMBUL_MARGINLEFT;
- short nFirstLineIndent = HTML_NUMBUL_INDENT;
+ sal_Int32 nFirstLineIndent = HTML_NUMBUL_INDENT;
if( nLevel > 0 )
{
const SwNumFormat& rPrevNumFormat = rInfo.GetNumRule()->Get( nLevel-1 );
diff --git a/sw/source/filter/ww8/rtfattributeoutput.cxx b/sw/source/filter/ww8/rtfattributeoutput.cxx
index 78d64c1c5cc6..09241ae57b26 100644
--- a/sw/source/filter/ww8/rtfattributeoutput.cxx
+++ b/sw/source/filter/ww8/rtfattributeoutput.cxx
@@ -2834,7 +2834,7 @@ void RtfAttributeOutput::ParaNumRule_Impl(const SwTextNode* pTextNd, sal_Int32 n
SvxLRSpaceItem aLR(rNdSet.Get(RES_LR_SPACE));
aLR.SetTextLeft(aLR.GetTextLeft() + pFormat->GetIndentAt());
- aLR.SetTextFirstLineOfst(pFormat->GetFirstLineOffset());
+ aLR.SetTextFirstLineOfst(pFormat->GetFirstLineOffset()); //TODO: overflow
sal_uInt16 nStyle = m_rExport.GetId(pFormat->GetCharFormat());
OString* pString = m_rExport.GetStyle(nStyle);
diff --git a/sw/source/filter/ww8/wrtw8num.cxx b/sw/source/filter/ww8/wrtw8num.cxx
index 120a3b97be68..62ce13405c52 100644
--- a/sw/source/filter/ww8/wrtw8num.cxx
+++ b/sw/source/filter/ww8/wrtw8num.cxx
@@ -127,7 +127,7 @@ sal_Int16 GetWordFirstLineOffset(const SwNumFormat &rFormat)
if (rFormat.GetNumAdjust() == SvxAdjust::Right)
nFirstLineOffset = -rFormat.GetCharTextDistance();
else
- nFirstLineOffset = rFormat.GetFirstLineOffset();
+ nFirstLineOffset = rFormat.GetFirstLineOffset(); //TODO: overflow
return nFirstLineOffset;
}
diff --git a/sw/source/ui/misc/num.cxx b/sw/source/ui/misc/num.cxx
index 1fe4198aee8a..c3eaedb5b7e9 100644
--- a/sw/source/ui/misc/num.cxx
+++ b/sw/source/ui/misc/num.cxx
@@ -623,7 +623,7 @@ IMPL_LINK(SwNumPositionTabPage, DistanceHdl, weld::MetricSpinButton&, rField, vo
{
if(0 == i)
{
- long nTmp = aNumFormat.GetFirstLineOffset();
+ auto const nTmp = aNumFormat.GetFirstLineOffset();
aNumFormat.SetAbsLSpace( nValue - nTmp );
}
else