[Libreoffice-commits] core.git: Branch 'distro/collabora/cp-4.1' - 10 commits - cppuhelper/source cui/source extras/source filter/source fpicker/source sd/source sw/qa sw/source unotools/source vcl/qa vcl/source writerfilter/source
Andras Timar
andras.timar at collabora.com
Thu Nov 14 08:25:10 PST 2013
cppuhelper/source/typemanager.cxx | 4 -
cui/source/options/optgdlg.cxx | 7 ++
extras/source/templates/layout/LushGreen.otp |binary
filter/source/flash/swffilter.cxx | 10 ++-
fpicker/source/office/PlacesListBox.cxx | 4 -
sd/source/ui/inc/slideshow.hxx | 5 +
sd/source/ui/slideshow/slideshowimpl.cxx | 6 +-
sd/source/ui/slideshow/slideshowimpl.hxx | 2
sd/source/ui/slidesorter/controller/SlsSlotManager.cxx | 29 ----------
sd/source/ui/view/drviewse.cxx | 40 +++++++++-----
sd/source/ui/view/outlnvs2.cxx | 30 ----------
sw/qa/extras/ooxmlexport/data/fdo70812.docx |binary
sw/qa/extras/ooxmlexport/ooxmlexport.cxx | 8 ++
sw/source/core/edit/edtox.cxx | 3 -
unotools/source/config/securityoptions.cxx | 2
vcl/qa/cppunit/graphicfilter/data/emf/fail/fdo71307-2.emf |binary
vcl/source/filter/wmf/enhwmf.cxx | 5 +
writerfilter/source/dmapper/DomainMapper.cxx | 9 ++-
18 files changed, 76 insertions(+), 88 deletions(-)
New commits:
commit 42e77abe82f0e293da93e9ee1b707cf77b2c9153
Author: Andras Timar <andras.timar at collabora.com>
Date: Tue Nov 12 20:55:23 2013 +0100
fdo#46410 fix FindRange
Change-Id: I7aada76bc2e8e767f36016eee5e57267b3718b13
Reviewed-on: https://gerrit.libreoffice.org/6657
Reviewed-by: Miklos Vajna <vmiklos at collabora.co.uk>
Tested-by: Miklos Vajna <vmiklos at collabora.co.uk>
diff --git a/sw/source/core/edit/edtox.cxx b/sw/source/core/edit/edtox.cxx
index d4f8781..9cc5502 100644
--- a/sw/source/core/edit/edtox.cxx
+++ b/sw/source/core/edit/edtox.cxx
@@ -419,8 +419,7 @@ void SwEditShell::ApplyAutoMark()
// todo/mba: assuming that notes shouldn't be searched
sal_Bool bSearchInNotes = sal_False;
sal_uLong nRet = Find( aSearchOpt, bSearchInNotes, DOCPOS_START, DOCPOS_END, bCancel,
- (FindRanges)(FND_IN_SELALL|FND_IN_BODYONLY|FND_IN_OTHER),
- sal_False );
+ (FindRanges)(FND_IN_SELALL), sal_False );
if(nRet)
{
commit bce409d06c0061caacc99f0033e752e4ebf39217
Author: Caolán McNamara <caolanm at redhat.com>
Date: Tue Nov 12 14:56:43 2013 +0000
Resolves: fdo#71307 out polygons are limited to 16bit point count
Change-Id: I4dbe9145466d6d93ebd3dea7f4fe434c9ee3de19
(cherry picked from commit cdd351b1487a8a97f481a9165d9cd361aaee2ca4)
Reviewed-on: https://gerrit.libreoffice.org/6655
Reviewed-by: David Tardon <dtardon at redhat.com>
Tested-by: David Tardon <dtardon at redhat.com>
diff --git a/vcl/qa/cppunit/graphicfilter/data/emf/fail/fdo71307-2.emf b/vcl/qa/cppunit/graphicfilter/data/emf/fail/fdo71307-2.emf
new file mode 100644
index 0000000..b89db21
Binary files /dev/null and b/vcl/qa/cppunit/graphicfilter/data/emf/fail/fdo71307-2.emf differ
diff --git a/vcl/source/filter/wmf/enhwmf.cxx b/vcl/source/filter/wmf/enhwmf.cxx
index ad2a3a6..de8b780 100644
--- a/vcl/source/filter/wmf/enhwmf.cxx
+++ b/vcl/source/filter/wmf/enhwmf.cxx
@@ -344,6 +344,11 @@ void EnhWMFReader::ReadAndDrawPolygon(Drawer drawer, const sal_Bool skipFirst)
template <class T>
Polygon EnhWMFReader::ReadPolygon(sal_uInt32 nStartIndex, sal_uInt32 nPoints)
{
+ bool bRecordOk = nPoints <= SAL_MAX_UINT16;
+ SAL_WARN_IF(!bRecordOk, "svtools.filter", "polygon record has more polygons than we can handle");
+ if (!bRecordOk)
+ return Polygon();
+
Polygon aPolygon(nPoints);
for (sal_uInt16 i = nStartIndex ; i < nPoints && pWMF->good(); i++ )
{
commit 5974f69b72d6c872b79c4f3b43562cd7aa04c3e3
Author: Caolán McNamara <caolanm at redhat.com>
Date: Tue Oct 22 12:20:16 2013 +0100
Resolves: fdo#69975 honour custom show settings
if a custom show is set, then don't override it with
current/first page, just accept it
Change-Id: Icd04711028b3e11a576df6cd325ddb0db8974111
(cherry picked from commit 438f5cf4229dafe2100e36d818b05535091054d7)
merge all three ShowSlideShow impls together
Change-Id: If82f6313b258a79d59fbe34ab7846db5f9f45f76
(cherry picked from commit 368e94ce33bb4de1d2c0348082a349331a17f332)
bStartWithActualSlide is always false
(cherry picked from commit a1b0b68c0f1fe2467cddf021e09123085d043de2)
Conflicts:
sd/source/ui/slideshow/slideshowimpl.cxx
sd/source/ui/slideshow/slideshowimpl.hxx
Change-Id: Icf61858730e2576439fdc7bdd1c8a911f2b34bd7
Reviewed-on: https://gerrit.libreoffice.org/6374
Reviewed-by: David Tardon <dtardon at redhat.com>
Tested-by: David Tardon <dtardon at redhat.com>
diff --git a/sd/source/ui/inc/slideshow.hxx b/sd/source/ui/inc/slideshow.hxx
index a309c82..be44a51 100644
--- a/sd/source/ui/inc/slideshow.hxx
+++ b/sd/source/ui/inc/slideshow.hxx
@@ -214,6 +214,11 @@ private:
sal_Int32 mnInPlaceConfigEvent;
};
+namespace slideshowhelp
+{
+ void ShowSlideShow(SfxRequest& rReq, SdDrawDocument &rDoc);
+}
+
}
#endif /* _SD_SLIDESHOW_HXX */
diff --git a/sd/source/ui/slideshow/slideshowimpl.cxx b/sd/source/ui/slideshow/slideshowimpl.cxx
index b096dc4..6fbd862 100644
--- a/sd/source/ui/slideshow/slideshowimpl.cxx
+++ b/sd/source/ui/slideshow/slideshowimpl.cxx
@@ -974,7 +974,7 @@ bool SlideshowImpl::startShow( PresentationSettingsEx* pPresSettings )
}
// build page list
- createSlideList( maPresSettings.mbAll, false, aPresSlide );
+ createSlideList( maPresSettings.mbAll, aPresSlide );
// remember Slide number from where the show was started
if( pStartPage )
@@ -2449,7 +2449,7 @@ Reference< XSlideShow > SlideshowImpl::createSlideShow() const
// ---------------------------------------------------------
-void SlideshowImpl::createSlideList( bool bAll, bool bStartWithActualSlide, const String& rPresSlide )
+void SlideshowImpl::createSlideList( bool bAll, const String& rPresSlide )
{
const long nSlideCount = mpDoc->GetSdPageCount( PK_STANDARD );
@@ -2457,7 +2457,7 @@ void SlideshowImpl::createSlideList( bool bAll, bool bStartWithActualSlide, cons
{
SdCustomShow* pCustomShow;
- if( !bStartWithActualSlide && mpDoc->GetCustomShowList() && maPresSettings.mbCustomShow )
+ if( mpDoc->GetCustomShowList() && maPresSettings.mbCustomShow )
pCustomShow = mpDoc->GetCustomShowList()->GetCurObject();
else
pCustomShow = NULL;
diff --git a/sd/source/ui/slideshow/slideshowimpl.hxx b/sd/source/ui/slideshow/slideshowimpl.hxx
index 8be006b..89db0b2 100644
--- a/sd/source/ui/slideshow/slideshowimpl.hxx
+++ b/sd/source/ui/slideshow/slideshowimpl.hxx
@@ -265,7 +265,7 @@ private:
double update();
- void createSlideList( bool bAll, bool bStartWithActualSlide, const String& rPresSlide );
+ void createSlideList( bool bAll, const String& rPresSlide );
void displayCurrentSlide (const bool bSkipAllMainSequenceEffects = false);
diff --git a/sd/source/ui/slidesorter/controller/SlsSlotManager.cxx b/sd/source/ui/slidesorter/controller/SlsSlotManager.cxx
index 6b9c690..ecb7761 100644
--- a/sd/source/ui/slidesorter/controller/SlsSlotManager.cxx
+++ b/sd/source/ui/slidesorter/controller/SlsSlotManager.cxx
@@ -883,34 +883,7 @@ void SlotManager::GetStatusBarState (SfxItemSet& rSet)
void SlotManager::ShowSlideShow( SfxRequest& rReq)
{
- Reference< XPresentation2 > xPresentation( mrSlideSorter.GetModel().GetDocument()->getPresentation() );
- if( xPresentation.is() )
- {
- if( ( SID_REHEARSE_TIMINGS != rReq.GetSlot() ) )
- {
- if( (SID_PRESENTATION == rReq.GetSlot() ) )
- {
- Sequence< PropertyValue > aArguments(1);
- PropertyValue aPage;
- OUString sValue("0");
-
- aPage.Name = "FirstPage";
- aPage.Value <<= sValue;
-
- aArguments[0] = aPage;
-
- xPresentation->startWithArguments( aArguments );
- }
- else
- {
- xPresentation->start();
- }
- }
- else
- {
- xPresentation->rehearseTimings();
- }
- }
+ slideshowhelp::ShowSlideShow(rReq, *mrSlideSorter.GetModel().GetDocument());
}
void SlotManager::RenameSlide (void)
diff --git a/sd/source/ui/view/drviewse.cxx b/sd/source/ui/view/drviewse.cxx
index 36d8f78..408a090 100644
--- a/sd/source/ui/view/drviewse.cxx
+++ b/sd/source/ui/view/drviewse.cxx
@@ -1646,15 +1646,32 @@ void DrawViewShell::ShowUIControls (bool bVisible)
maTabControl.Show (bVisible);
}
-void DrawViewShell::ShowSlideShow(SfxRequest& rReq)
+namespace slideshowhelp
{
- Reference< XPresentation2 > xPresentation( GetDoc()->getPresentation() );
- if( xPresentation.is() )
+ void ShowSlideShow(SfxRequest& rReq, SdDrawDocument &rDoc)
{
- if( ( SID_REHEARSE_TIMINGS != rReq.GetSlot() ) )
+ Reference< XPresentation2 > xPresentation( rDoc.getPresentation() );
+ if( xPresentation.is() )
{
- if( (SID_PRESENTATION == rReq.GetSlot() ) )
+ if (SID_REHEARSE_TIMINGS == rReq.GetSlot())
+ xPresentation->rehearseTimings();
+ else if (rDoc.getPresentationSettings().mbCustomShow)
+ {
+ //fdo#69975 if a custom show has been set, then
+ //use it whether or not we've been asked to
+ //start from the current or first slide
+ xPresentation->start();
+ }
+ else if (SID_PRESENTATION_CURRENT_SLIDE == rReq.GetSlot())
{
+ //If there is no custom show set, start will automatically
+ //start at the current page
+ xPresentation->start();
+ }
+ else
+ {
+ //Start at page 0, this would blow away any custom
+ //show settings if any were set
Sequence< PropertyValue > aArguments(1);
PropertyValue aPage;
OUString sValue("0");
@@ -1666,18 +1683,15 @@ void DrawViewShell::ShowSlideShow(SfxRequest& rReq)
xPresentation->startWithArguments( aArguments );
}
- else
- {
- xPresentation->start();
- }
- }
- else
- {
- xPresentation->rehearseTimings();
}
}
}
+void DrawViewShell::ShowSlideShow(SfxRequest& rReq)
+{
+ slideshowhelp::ShowSlideShow(rReq, *GetDoc());
+}
+
void DrawViewShell::StopSlideShow (bool /*bCloseFrame*/)
{
Reference< XPresentation2 > xPresentation( GetDoc()->getPresentation() );
diff --git a/sd/source/ui/view/outlnvs2.cxx b/sd/source/ui/view/outlnvs2.cxx
index 87086ac..c3aa7d7 100644
--- a/sd/source/ui/view/outlnvs2.cxx
+++ b/sd/source/ui/view/outlnvs2.cxx
@@ -63,6 +63,7 @@
#include "sdabstdlg.hxx"
#include "framework/FrameworkHelper.hxx"
#include "DrawViewShell.hxx"
+#include "slideshow.hxx"
#include <boost/scoped_ptr.hpp>
using namespace ::com::sun::star::uno;
@@ -334,34 +335,7 @@ void OutlineViewShell::FuTemporary(SfxRequest &rReq)
void OutlineViewShell::ShowSlideShow(SfxRequest& rReq)
{
- Reference< XPresentation2 > xPresentation( GetDoc()->getPresentation() );
- if( xPresentation.is() )
- {
- if( ( SID_REHEARSE_TIMINGS != rReq.GetSlot() ) )
- {
- if( (SID_PRESENTATION == rReq.GetSlot() ) )
- {
- Sequence< PropertyValue > aArguments(1);
- PropertyValue aPage;
- OUString sValue("0");
-
- aPage.Name = "FirstPage";
- aPage.Value <<= sValue;
-
- aArguments[0] = aPage;
-
- xPresentation->startWithArguments( aArguments );
- }
- else
- {
- xPresentation->start();
- }
- }
- else
- {
- xPresentation->rehearseTimings();
- }
- }
+ slideshowhelp::ShowSlideShow(rReq, *GetDoc());
}
void OutlineViewShell::FuTemporaryModify(SfxRequest &rReq)
commit de9f4fc5ca9370391e6c94c407c992ec138b8c29
Author: Andras Timar <andras.timar at collabora.com>
Date: Wed Nov 13 10:23:59 2013 +0100
fdo#59256 hide this option when experimental features are disabled
GTK print dialog is experimental, the checkbox has no effect, if
experimental features are disabled.
On Mac OS X LibreOffice cannot use native print dialog at all.
Change-Id: I7497f1da0ec74b9067675e34eb4314b7a4616f06
Reviewed-on: https://gerrit.libreoffice.org/6664
Reviewed-by: Caolán McNamara <caolanm at redhat.com>
Tested-by: Caolán McNamara <caolanm at redhat.com>
diff --git a/cui/source/options/optgdlg.cxx b/cui/source/options/optgdlg.cxx
index 1ae32e1..fbb1cf7 100644
--- a/cui/source/options/optgdlg.cxx
+++ b/cui/source/options/optgdlg.cxx
@@ -187,8 +187,13 @@ OfaMiscTabPage::OfaMiscTabPage(Window* pParent, const SfxItemSet& rSet)
get(m_pExtHelpCB, "exthelp");
if (!lcl_HasSystemFilePicker())
get<VclContainer>("filedlgframe")->Hide();
-#if !defined(MACOSX) && ! ENABLE_GTK
+#if ! ENABLE_GTK
get<VclContainer>("printdlgframe")->Hide();
+#else
+ if (!SvtMiscOptions().IsExperimentalMode())
+ {
+ get<VclContainer>("printdlgframe")->Hide();
+ }
#endif
get(m_pFileDlgCB, "filedlg");
get(m_pPrintDlgCB, "printdlg");
commit c555fe6978a1a4300d13da7661f5b4f7c67efeb7
Author: Andras Timar <andras.timar at collabora.com>
Date: Wed Nov 13 11:26:47 2013 +0100
fdo#69046 fix discolored thumbnail and background image of LushGreen template
Change-Id: I71307b9f5d973b8282b793df1d71816fe002b541
Reviewed-on: https://gerrit.libreoffice.org/6667
Reviewed-by: Caolán McNamara <caolanm at redhat.com>
Tested-by: Caolán McNamara <caolanm at redhat.com>
diff --git a/extras/source/templates/layout/LushGreen.otp b/extras/source/templates/layout/LushGreen.otp
index 991bad9..936ae04 100644
Binary files a/extras/source/templates/layout/LushGreen.otp and b/extras/source/templates/layout/LushGreen.otp differ
commit 27a9a76d0a54d5cdd4737363b4b64452cb14615d
Author: Andras Timar <andras.timar at collabora.com>
Date: Wed Nov 13 12:58:09 2013 +0100
fdo#59542 smaller +/- buttons will not be truncated at the bottom
Change-Id: If937d72e5b10bfbf055cf5b9909d50bbf5ddac81
Reviewed-on: https://gerrit.libreoffice.org/6668
Reviewed-by: Caolán McNamara <caolanm at redhat.com>
Tested-by: Caolán McNamara <caolanm at redhat.com>
diff --git a/fpicker/source/office/PlacesListBox.cxx b/fpicker/source/office/PlacesListBox.cxx
index 99bb9e1..c3b3818 100644
--- a/fpicker/source/office/PlacesListBox.cxx
+++ b/fpicker/source/office/PlacesListBox.cxx
@@ -71,12 +71,12 @@ PlacesListBox::PlacesListBox( SvtFileDialog* pFileDlg, const OUString& rTitle, c
mpAddBtn = new ImageButton( this, 0 );
mpAddBtn->SetText( OUString( "+" ) );
- mpAddBtn->SetPosSizePixel( Point( 0, 0 ), Size( 24, 24 ) );
+ mpAddBtn->SetPosSizePixel( Point( 0, 0 ), Size( 22, 22 ) );
mpAddBtn->Show();
mpDelBtn = new ImageButton( this, 0 );
mpDelBtn->SetText( OUString( "-" ) );
- mpDelBtn->SetPosSizePixel( Point( 0, 0 ), Size( 24, 24 ) );
+ mpDelBtn->SetPosSizePixel( Point( 0, 0 ), Size( 22, 22 ) );
mpDelBtn->Show();
}
commit 6c1ce2b33ba2c279542fe54b453bebbf287faf20
Author: Laurent Balland-Poirier <laurent.balland-poirier at laposte.net>
Date: Wed Nov 6 17:57:09 2013 +0100
Resolves: fdo#71309 Export SWF with Multiple files crashes
In case of unamed file, creation of sPresentationName crash.
This patch forces creation of empty name
Change-Id: I1b5319eb945f1959f2ad3c703365539508521861
Reviewed-on: https://gerrit.libreoffice.org/6598
Tested-by: Caolán McNamara <caolanm at redhat.com>
Reviewed-by: Caolán McNamara <caolanm at redhat.com>
(cherry picked from commit 2cf96ae334491733a2bdbeb003da6e49df19cc9f)
diff --git a/filter/source/flash/swffilter.cxx b/filter/source/flash/swffilter.cxx
index e08667e..4d0ace8 100644
--- a/filter/source/flash/swffilter.cxx
+++ b/filter/source/flash/swffilter.cxx
@@ -285,16 +285,20 @@ sal_Bool FlashExportFilter::ExportAsMultipleFiles(const Sequence< PropertyValue
// AS: sPath is the parent directory, where everything else exists (like the sxi,
// the -swf-files folder, the -audio files, etc.
- int lastslash = sOriginalPath.lastIndexOf('/');
+ sal_Int32 lastslash = sOriginalPath.lastIndexOf('/');
OUString sPath( sOriginalPath.copy(0, lastslash) );
OUString sPresentation(xStorable->getLocation());
lastslash = sPresentation.lastIndexOf('/') + 1;
- int lastdot = sPresentation.lastIndexOf('.');
+ sal_Int32 lastdot = sPresentation.lastIndexOf('.');
// AS: The name of the presentation, without 3 character extension.
- OUString sPresentationName = sPresentation.copy(lastslash, lastdot - lastslash);
+ OUString sPresentationName;
+ if (lastdot < 0) // fdo#71309 in case file has no name
+ sPresentationName = sPresentation.copy(lastslash);
+ else
+ sPresentationName = sPresentation.copy(lastslash, lastdot - lastslash);
OUString fullpath, swfdirpath, backgroundfilename, objectsfilename;
commit 9726003f77361bd5b14d05018d287d408d857b26
Author: Stephan Bergmann <sbergman at redhat.com>
Date: Mon Nov 11 13:18:49 2013 +0100
Don't call Manager::addProvider(null) upon optional NoSuchFileException
Change-Id: I62e953c886886158f227362fef7048459192217b
(cherry picked from commit 49fa300703643a2e49df01944f1b1299138010c7)
Reviewed-on: https://gerrit.libreoffice.org/6637
Reviewed-by: Caolán McNamara <caolanm at redhat.com>
Tested-by: Caolán McNamara <caolanm at redhat.com>
diff --git a/cppuhelper/source/typemanager.cxx b/cppuhelper/source/typemanager.cxx
index 672e377..08c6fb9 100644
--- a/cppuhelper/source/typemanager.cxx
+++ b/cppuhelper/source/typemanager.cxx
@@ -2141,9 +2141,8 @@ void cppuhelper::TypeManager::readRdbDirectory(
void cppuhelper::TypeManager::readRdbFile(
rtl::OUString const & uri, bool optional)
{
- rtl::Reference< unoidl::Provider > prov;
try {
- prov = unoidl::loadProvider(manager_, uri);
+ manager_->addProvider(unoidl::loadProvider(manager_, uri));
} catch (unoidl::NoSuchFileException &) {
if (!optional) {
throw css::uno::DeploymentException(
@@ -2157,7 +2156,6 @@ void cppuhelper::TypeManager::readRdbFile(
+ e.getDetail()),
static_cast< cppu::OWeakObject * >(this));
}
- manager_->addProvider(prov);
}
css::uno::Any cppuhelper::TypeManager::getSequenceType(
commit 70de64599515cecd87a2bd8df55957c7e8c6cf9e
Author: Stephan Bergmann <sbergman at redhat.com>
Date: Mon Nov 11 10:31:33 2013 +0100
Fix CompareIgnoreCaseToAscii -> matchIgnoreAsciiCaseAsciiL regression
...introduced with 19ebc215d19ed9c7c5c6fdabf2f4acd5af02cbc4 "INTEGRATION: CWS
ineturl1: #i34006# modify INetURLObject to use rtl::OUString and
rtl::OUStringBuffer," where String::CompareIgnoreCaseToAscii returns
StringCompare but rtl::OUString::matchIgnoreAsciiCaseAsciiL return sal_Bool.
Change-Id: I009bd6f606850f4e971fda4a1b468e7b0d102685
Reviewed-on: https://gerrit.libreoffice.org/6635
Reviewed-by: Caolán McNamara <caolanm at redhat.com>
Tested-by: Caolán McNamara <caolanm at redhat.com>
diff --git a/unotools/source/config/securityoptions.cxx b/unotools/source/config/securityoptions.cxx
index cd0e6c7..153004f 100644
--- a/unotools/source/config/securityoptions.cxx
+++ b/unotools/source/config/securityoptions.cxx
@@ -880,7 +880,7 @@ sal_Bool SvtSecurityOptions_Impl::IsSecureURL( const OUString& sURL ,
// All other URLs must checked in combination with referer and internal information about security
if ( (aProtocol != INET_PROT_MACRO && aProtocol != INET_PROT_SLOT) ||
- aURL.GetMainURL( INetURLObject::NO_DECODE ).matchIgnoreAsciiCaseAsciiL( "macro:///", 9 ) == 0)
+ aURL.GetMainURL( INetURLObject::NO_DECODE ).matchIgnoreAsciiCaseAsciiL( "macro:///", 9 ) )
{
// security check only for "macro" ( without app basic ) or "slot" protocols
bState = sal_True;
commit 802caf4030f893cf4f8a7dda29236a1491800f6a
Author: Miklos Vajna <vmiklos at collabora.co.uk>
Date: Thu Nov 7 16:01:25 2013 +0100
fdo#70812 writerfilter: check for nullptr after dynamic_cast
Happens when we set "no number" in the default para style, which is
already the case for Writer anyway.
(cherry picked from commit 660d761bfeea81c0b76cf08b4c961a2ad8d09a06)
Conflicts:
sw/qa/extras/ooxmlexport/ooxmlexport.cxx
Change-Id: I3b262e633e52e4aae039c55d6edb744e36f0f354
Reviewed-on: https://gerrit.libreoffice.org/6636
Reviewed-by: Jan Holesovsky <kendy at collabora.com>
Tested-by: Jan Holesovsky <kendy at collabora.com>
diff --git a/sw/qa/extras/ooxmlexport/data/fdo70812.docx b/sw/qa/extras/ooxmlexport/data/fdo70812.docx
new file mode 100644
index 0000000..b9b5d52
Binary files /dev/null and b/sw/qa/extras/ooxmlexport/data/fdo70812.docx differ
diff --git a/sw/qa/extras/ooxmlexport/ooxmlexport.cxx b/sw/qa/extras/ooxmlexport/ooxmlexport.cxx
index 7983360..c1bb45e 100644
--- a/sw/qa/extras/ooxmlexport/ooxmlexport.cxx
+++ b/sw/qa/extras/ooxmlexport/ooxmlexport.cxx
@@ -76,6 +76,7 @@ public:
void testFdo60990();
void testBnc834035();
void testCp1000015();
+ void testFdo70812();
CPPUNIT_TEST_SUITE(Test);
#if !defined(MACOSX) && !defined(WNT)
@@ -136,6 +137,7 @@ void Test::run()
{"fdo60990.odt", &Test::testFdo60990},
{"bnc834035.odt", &Test::testBnc834035},
{"cp1000015.odt", &Test::testCp1000015},
+ {"fdo70812.docx", &Test::testFdo70812},
};
// Don't test the first import of these, for some reason those tests fail
const char* aBlacklist[] = {
@@ -781,6 +783,12 @@ void Test::testCp1000015()
getParagraph(2, "http://www.google.com/");
}
+void Test::testFdo70812()
+{
+ // Import just crashed.
+ getParagraph(1, "Sample pages document.");
+}
+
CPPUNIT_TEST_SUITE_REGISTRATION(Test);
CPPUNIT_PLUGIN_IMPLEMENT();
diff --git a/writerfilter/source/dmapper/DomainMapper.cxx b/writerfilter/source/dmapper/DomainMapper.cxx
index 46ceef3..33c1ad1 100644
--- a/writerfilter/source/dmapper/DomainMapper.cxx
+++ b/writerfilter/source/dmapper/DomainMapper.cxx
@@ -1564,7 +1564,8 @@ void DomainMapper::sprmWithProps( Sprm& rSprm, PropertyMapPtr rContext, SprmType
{
//style sheets cannot have a numbering rule attached
StyleSheetPropertyMap* pStyleSheetPropertyMap = dynamic_cast< StyleSheetPropertyMap* >( rContext.get() );
- pStyleSheetPropertyMap->SetListLevel( (sal_Int16)nIntValue );
+ if (pStyleSheetPropertyMap)
+ pStyleSheetPropertyMap->SetListLevel( (sal_Int16)nIntValue );
}
else
rContext->Insert( PROP_NUMBERING_LEVEL, true, uno::makeAny( (sal_Int16)nIntValue ));
@@ -1578,7 +1579,8 @@ void DomainMapper::sprmWithProps( Sprm& rSprm, PropertyMapPtr rContext, SprmType
{
//style sheets cannot have a numbering rule attached
StyleSheetPropertyMap* pStyleSheetPropertyMap = dynamic_cast< StyleSheetPropertyMap* >( rContext.get() );
- pStyleSheetPropertyMap->SetListId( nIntValue );
+ if (pStyleSheetPropertyMap)
+ pStyleSheetPropertyMap->SetListId( nIntValue );
}
if( pList.get( ) )
{
@@ -1596,7 +1598,8 @@ void DomainMapper::sprmWithProps( Sprm& rSprm, PropertyMapPtr rContext, SprmType
{
// set the number id for AbstractNum references
StyleSheetPropertyMap* pStyleSheetPropertyMap = dynamic_cast< StyleSheetPropertyMap* >( rContext.get() );
- pStyleSheetPropertyMap->SetNumId( nIntValue );
+ if (pStyleSheetPropertyMap)
+ pStyleSheetPropertyMap->SetNumId( nIntValue );
}
else
{
More information about the Libreoffice-commits
mailing list