diff options
author | Stephan Bergmann <sbergman@redhat.com> | 2017-09-26 11:25:06 +0200 |
---|---|---|
committer | Stephan Bergmann <sbergman@redhat.com> | 2017-09-26 20:28:56 +0200 |
commit | 043bf2295a073ccc41459ef8cd1e134ba15d3718 (patch) | |
tree | b833e958469d10dad8fd3685eeb1a519764bb693 /sc | |
parent | 5e54cd8702e15fe3869375893fa423def12b1edb (diff) |
Don't use RTL_TEXTENCODING_DONTKNOW in OUStringToOString
CppunitTest_sc_subsequent_export_test would run into that as below, so better
find a more suitable encoding here (similar to what RTFDocumentImpl::getEncoding
in writerfilter/source/rtftok/rtfdocumentimpl.cxx does to "Guess based on
locale").
> rtl::OUStringToOString(rtl::OUString const&, unsigned short, unsigned int) at include/rtl/ustring.hxx:3662
> XclExpHyperlink::XclExpHyperlink(XclExpRoot const&, SvxURLField const&, ScAddress const&) at sc/source/filter/excel/xecontent.cxx:370
> XclExpHyperlinkHelper::ProcessUrlField(SvxURLField const&) at sc/source/filter/excel/xehelper.cxx:307
> (anonymous namespace)::lclCreateFormattedString(XclExpRoot const&, EditEngine&, XclExpHyperlinkHelper*, unsigned short, unsigned short) at sc/source/filter/excel/xehelper.cxx:471
> XclExpStringHelper::CreateCellString(XclExpRoot const&, EditTextObject const&, ScPatternAttr const*, XclExpHyperlinkHelper&, unsigned short, unsigned short) at sc/source/filter/excel/xehelper.cxx:583
> XclExpLabelCell::XclExpLabelCell(XclExpRoot const&, XclAddress const&, ScPatternAttr const*, unsigned int, EditTextObject const*, XclExpHyperlinkHelper&) at sc/source/filter/excel/xetable.cxx:708
> XclExpCellTable::XclExpCellTable(XclExpRoot const&) at sc/source/filter/excel/xetable.cxx:2569
> ExcTable::FillAsTableXml() at sc/source/filter/excel/excdoc.cxx:589
> ExcDocument::ReadDoc() at sc/source/filter/excel/excdoc.cxx:771
> XclExpXmlStream::exportDocument() at sc/source/filter/excel/xestream.cxx:1113
> oox::core::FilterBase::filter(com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) at oox/source/core/filterbase.cxx:495
> oox::xls::ExcelFilter::filter(com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) at sc/source/filter/oox/excelfilter.cxx:169
> SfxObjectShell::ExportTo(SfxMedium&) at sfx2/source/doc/objstor.cxx:2380
> SfxObjectShell::SaveTo_Impl(SfxMedium&, SfxItemSet const*) at sfx2/source/doc/objstor.cxx:1500
> SfxObjectShell::DoSaveAs(SfxMedium&) at sfx2/source/doc/objstor.cxx:1889
> ScBootstrapFixture::saveAndReload(ScDocShell*, rtl::OUString const&, rtl::OUString const&, rtl::OUString const&, SfxFilterFlags) at sc/qa/unit/helper/qahelper.cxx:669
> ScBootstrapFixture::saveAndReload(ScDocShell*, int) at sc/qa/unit/helper/qahelper.cxx:691
> ScExportTest::testTdf111876() at sc/qa/unit/subsequent_export-test.cxx:438
[...]
Change-Id: Ia8a07336bc6fc39573676c227a551fbfe50a519e
Reviewed-on: https://gerrit.libreoffice.org/42789
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
Diffstat (limited to 'sc')
-rw-r--r-- | sc/source/filter/excel/xestream.cxx | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/sc/source/filter/excel/xestream.cxx b/sc/source/filter/excel/xestream.cxx index c4259dff9c4b..c1e0688731c0 100644 --- a/sc/source/filter/excel/xestream.cxx +++ b/sc/source/filter/excel/xestream.cxx @@ -22,6 +22,7 @@ #include <string.h> #include <utility> +#include <filter/msfilter/util.hxx> #include <rtl/ustring.hxx> #include <rtl/ustrbuf.hxx> #include <rtl/random.h> @@ -1053,7 +1054,10 @@ bool XclExpXmlStream::exportDocument() tools::SvRef<SotStorage> rStorage = static_cast<SotStorage*>(nullptr); XclExpObjList::ResetCounters(); - XclExpRootData aData( EXC_BIFF8, *pShell->GetMedium (), rStorage, rDoc, RTL_TEXTENCODING_DONTKNOW ); + XclExpRootData aData( + EXC_BIFF8, *pShell->GetMedium (), rStorage, rDoc, + msfilter::util::getBestTextEncodingFromLocale( + Application::GetSettings().GetLanguageTag().getLocale())); aData.meOutput = EXC_OUTPUT_XML_2007; aData.maXclMaxPos.Set( EXC_MAXCOL_XML_2007, EXC_MAXROW_XML_2007, EXC_MAXTAB_XML_2007 ); aData.maMaxPos.SetCol( ::std::min( aData.maScMaxPos.Col(), aData.maXclMaxPos.Col() ) ); |