summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2024-03-15tdf#160192: avoid hang when trying to overwrite doc/lockfile in RO dirJustin Luth1-1/+1
Bug exposed with 6.1 5259ab8104cfba60c40748ed0cd59d93df038c5b sfx2 store: create temp files next to local files tested on .doc format, code-read suggests it affects xls/ppt too, but they throw exceptions, apparently before hitting this section. I was seeing an infinite loop on SfxOleSection::SaveProperty's while((rStrm.Tell() & 3)) rStrm.WriteUChar( 0 ); because nothing checks to confirm that the tempfile is actually created/useable. Now, instead of an infinite loop, we get a crash... Change-Id: I9e093432361a8ad6f928ec9b47290274b3d4ef06 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164840 Reviewed-by: Julien Nabet <serval2412@yahoo.fr> Tested-by: Jenkins Reviewed-by: Justin Luth <jluth@mail.com>
2023-12-23Related: tdf#158807 mutex must be locked when disposing a VirtualDevicePatrick Luby1-0/+18
If the following .ppt document is opened in a debug build and the document is left open for a minute or two without changing any content, this destructor will be called on a non-main thread with the mutex unlocked: https://bugs.documentfoundation.org/attachment.cgi?id=46801 This hits an assert in VirtualDevice::ReleaseGraphics() so explicitly lock the mutex and explicitly dispose and clear the VirtualDevice instances variables. Change-Id: I5d371a4e99fca4aae2b6edc8b53eca10cb143aef Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161243 Tested-by: Jenkins Reviewed-by: Patrick Luby <plubius@libreoffice.org>
2022-11-29sd: test exporting to odp/pptx with password protectionXisco Fauli2-1/+16
exporting to ppt with password protection is not supported Change-Id: Ic04c0046b91b76688c947bb4ae3b3cf90046080c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/143459 Tested-by: Jenkins Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2022-11-05lok: properly treat zoom in LokStarMathHelper::postMouseEventMike Kaganski2-2/+13
Previous naive implementation was dropped in commit 033a342a630dbb6329962156727e621866b77b48 (lok: use twips in Math, Wed Nov 02 11:03:08 2022 +0300). Unlike chart, Math expects twips, so PPT (pixel per twip) factor must be converted into percentage. Change-Id: Icd936e004d961c0abc25c241391d4e24c44e8c14 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/142319 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2022-09-14no need to load ImportPPT symbol at runtimeNoel Grandin5-21/+5
Change-Id: I4b50822183d9752d6a413b0308e1d661785fb10e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/139937 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-09-14no need to load ExportPPT symbol at runtimeNoel Grandin4-126/+117
Change-Id: I01e06fe89f95141a177298e400ccd0f54c2a05db Reviewed-on: https://gerrit.libreoffice.org/c/core/+/139936 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-07-29tdf#148810 ppt import: Depth set by EE_PARA_OUTLLEVELJustin Luth1-0/+2
It isn't enough to set Paragraph->SetDepth. It must match the property set. Change-Id: I96a22057c57ae869542b4ffbc069a7cd89bb06c4 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/137543 Tested-by: Jenkins Reviewed-by: Justin Luth <jluth@mail.com>
2022-05-30CppunitTest_sd_filter_eppt also needs the ASan hackStephan Bergmann1-0/+4
...from e854abe076155fc085b56549ced50b3ee9a095d2 "Avoid external processes picking up instdir/program/libnspr4.so", to avoid > Test name: (anonymous namespace)::testThemeExport::TestBody > equality assertion failed > - Expected: 0 > - Actual : 32512 > - failed to execute: sh .../bin/officeotron.sh .../tmp/_anonymous_namespace___testThemeExport__TestBody_w8epm.tmp > .../tmp/_anonymous_namespace___testThemeExport__TestBody_w8epo.tmp 2>&1 > java: symbol lookup error: .../instdir/program/libnspr4.so: undefined symbol: __asan_init Change-Id: Id6f49c08a8bcd0ad9b5600de147624d5cfc6019b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135122 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2022-02-15tdf#132557: PPTX import: Workaround for slide footer shape presetsSarper Akdemir6-3/+59
It appears that placeholder shapes with service names: - com.sun.star.presentation.TitleTextShape - com.sun.star.presentation.DateTimeShape - com.sun.star.presentation.FooterShape - com.sun.star.presentation.SlideNumberShape ... Are unable to have custom shapes in Impress. (i.e. can't be ellipse, triangle etc.). These presets get specified in OOXML with <a:prstGeom prst="ellipse"/> inside spPr (shape properties). Therefore with similar results to the PPT import, a workaround is applied where slide footers which have non default shapes are imported with com.sun.star.drawing.CustomShapes service. The layout/master footers are left as is since if they were to be imported as CustomShapes they would appear on each slide even if the slide had those footers enabled or not. Change-Id: Ic8a8ab3f6dfb7367ecd2c619ce888bf77abef460 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/129889 Tested-by: Jenkins Reviewed-by: Jan Holesovsky <kendy@collabora.com>
2021-12-14ofz#42338 avoid timeout in autogrow frames during ppt importCaolán McNamara1-1/+11
Change-Id: I4bcd8b5ee59609016451ddce5eaeb445f7c793c3 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126827 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-09-14tdf#143854: Revert "tdf#57585 Add new bullet behaviour to impress"Xisco Fauli2-16/+0
This reverts commit 070a5b039b181c380b1b9724a015314ff78c30ed. Reason for revert: Many PPT files are affected when saved to ODP. I waited a while before reverting it but not reaction from the developer Change-Id: Ibfd2f508930e1a3ef56961536454ea1eda55f8c6 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/122061 Tested-by: Jenkins Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2021-03-22tdf#141127 Use ODF default values for draw:extrusion-skewRegina Henschel3-0/+27
The default value for extrusion skew angle is 45 in ODF and -135 in binary MS Office. LO had used -135 in case the draw:extrusion-skew attribute was missing on import. This could be fixed in GetSkew() in EnhancedCustomShape3d.cxx#92. But that would break import of ppt files. So I have decided not to search, were the binary import would need to be tweaked, but I set the default values directly in file open in case the attribute is missing. Change-Id: Ieeffa64099fdbdbe0ba9d4dab7ed2f19d397a6e3 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/112819 Tested-by: Jenkins Reviewed-by: Regina Henschel <rb.henschel@t-online.de>
2020-12-23fix ppt gradient importNoel Grandin1-1/+2
it is this way as far back as 2009 (couldn't see beyond that). Found while doing some work on verifying how degree units are passed around. Change-Id: I6c8839aa390825f2aab38c70d623109543fddf19 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/108237 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-12-02tdf#128501: DOC export: fix lost bitmap fill for OOXML custom shapesXisco Fauli3-8/+46
this fix is based on 7032be2e9edd82dad2d67f1582aaa57676bda4a1 which fixes the same problem for PPT filter Change-Id: Id62c29892dd3fce42d27e2e46a7933154cb973f6 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/107003 Tested-by: Jenkins Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2020-11-26tdf#131269 - fix importing PPT with different notes/presentations ordernd1011-2/+26
Normal PPT has the order of master-presentation-note slides. But for certain PPT document, the order is master-note-presentation. This fix is to change the importing of page list for those documents with different structure. Change-Id: I2d682a30a3550a6182fcfff7f71f4993ca27a5f5 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/90362 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-11-26tdf#136911 fix ppt hyperlink importnd1013-0/+53
If the hyperlink list is not found, try the secondary approach by searching through the record list. Change-Id: I5b3516e1005b102fb3b79f55c2485a7c41b56057 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/103081 Tested-by: Noel Grandin <noel.grandin@collabora.co.uk> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-11-20tdf#127086 PPT export: fix lost bitmap fill for OOXML custom shapesMiklos Vajna5-1/+146
PPT can't store an OOXML custom shape with fill bitmap, PowerPoint generates a fallback bitmap when saving to PPT. We used to keep the bitmap and loose the custom shape geometry, but that was changed with commit f4ba484183a1e7b9824f10580d633466c266828f (ooxml import: supprt cropping to shape, 2019-05-13). Fix the regression by going back to keeping the bitmap, a full fallback bitmap (ala PowerPoint), would be more work, taking e.g. blurry shadows (changing the shape position and size) into account. Change-Id: I7192f912077f2de026573855dbebbdf576e39ebc Reviewed-on: https://gerrit.libreoffice.org/c/core/+/106219 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins
2020-10-06tdf#137023 PPTX import: fix unexpected center alignment of shape text, 2nd tryMiklos Vajna10-131/+160
Regression from commit 10bb02efd8afd42e633e370480104e2575546d8e (tdf#129685 PPTX import: fix unexpected centering of shape text, 2020-09-18), now the problem was that some text should be left aligned, but was centered. Fix the problem by reverting most of the above commit: XML changes, changes to SdImportTest::testTdf113198() (manual testing show that this change is not needed after all) and changes to the TextBodyPropertiesContext ctor in oox/ (but not the testcase itself). Fix tdf#113198 again, this time in Shape::createAndInsert(), which is meant to be closer to what the binary PPT import does. With this, all cases from tdf#104722, tdf#113198, tdf#129685 and tdf#137023 are meant to be handled correctly at the same time. Change-Id: Id785252c26fc407cd74c9cfb55624091798d7773 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/103996 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2020-09-14tdf#49856 Fix level 0 bullet/style on ppt importDr. David Alan Gilbert1-2/+0
Long ago, styles were read in starting in slot 1 and slot 0 was backfilled using the last read rule. That changed in 8a64144fddde61dd050da4cb93b4a7242a495bb2 when stuff started at 0; unfortunately the back filling at 0 code was left in, overwritting level 0. Remove it, fixing cases which used level 0; in particular a shift-tab to go up a level ended up with the wrong style. Fixes: 8a64144fddde61dd050da4cb93b4a7242a495bb2 Change-Id: Ic29f3fca9f1c809de69a1d83fca017bdafdd2447 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/102542 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2020-09-11crashtesting: failed on export of tdf118002-1.potx to pptxCaolán McNamara2-4/+4
because the bg isn't set a master isn't exported, so the endelement XML_sldMasterIdLst isn't exported and the document is broken so don't exit early if the propertyset isn't found and always call ImplWriteSlideMaster Modify the ppt variant PPTWriter::ImplWriteSlideMaster to do nothing on an empty propertyset allowing PowerPointExport:ImplWriteSlideMaster to output its XML_sldMasterIdLst on the last master Change-Id: I512ee10b3b3c80b6566827d708b737c6c502c3b5 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/102451 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2020-05-14tdf#79082 Improve ppt tab import/exportSamuel Mehrbrodt3-10/+12
Import/export the paragraph tabs without any text offset, tabs are relative to the text box anyway. Change-Id: Ife3b762e7581548e65500c16259a4481cc07a88f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/94101 Tested-by: Jenkins Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
2020-05-13Increase max ppt levels to 10Samuel Mehrbrodt1-1/+1
ppt files created with PowerPoint 2013 have that many levels Change-Id: I51fd84c6462b7c8d77417c958469804eb10a0a8d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/94054 Tested-by: Jenkins Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
2020-05-04tdf#79082 Correctly import PPT tabsPiet van Oostrum2-16/+0
Change-Id: I7ac5ccb356501983da645f0a6037b5292ce8b5b4 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/20207 Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de> Tested-by: Jenkins
2020-04-14tdf#131496 vcl image lazy load: speed up vector images with custom pref sizeMiklos Vajna2-13/+39
This speeds up the loading of the bugdoc: - old cost: 6378 ms - new cost: 1891 ms (30% of baseline) Images were initially loaded at import time, but commit acb803b730f2c6bd82e39beab58949ec14f85eb0 (tdf#125591 DOC import: lazy-load metafiles with explicit size, 2019-06-11) changed this, so that they are lazy-loaded. That improved performance, but sometimes gave incorrect results. Then commit d8371cdfd092c6426c01aae130ea4eaa6d627a6f (tdf#127446 vcl image lazy-load: fix custom size handling of metafiles, 2019-09-30) fixed the correctness problem, but the loading was no longer lazy in the tdf#131496 case. This is an attempt to bring back lazy-loading for vector-based images, while maintaining the correct preferred size. The problem was that the PPT import triggered a vector -> bitmap conversion during load: #0 0x00007ffff03c7e36 in ImpGraphic::loadPrepared() (this=this@entry=0x1f88a90) at vcl/source/gdi/impgraph.cxx:1424 #1 0x00007ffff03c72c7 in ImpGraphic::ImplSwapIn() (this=0x1f88a90) at vcl/source/gdi/impgraph.cxx:1444 #2 0x00007ffff03c7535 in ImpGraphic::ensureAvailable() const (this=this@entry=0x1f88a90) at vcl/source/gdi/impgraph.cxx:1402 #3 0x00007ffff03c9481 in ImpGraphic::ImplExportNative(SvStream&) const (this=0x1f88a90, rOStm=...) at vcl/source/gdi/impgraph.cxx:1590 #4 0x00007ffff03bf9a8 in Graphic::ExportNative(SvStream&) const (this=this@entry=0x20534e0, rOStream=...) at vcl/source/gdi/graph.cxx:544 #5 0x00007ffff1c79a28 in svt::EmbeddedObjectRef::SetGraphicToContainer(Graphic const&, comphelper::EmbeddedObjectContainer&, rtl::OUString const&, rtl::OUString const&) (rGraphic=..., aContainer=..., aName="Object 1", aMediaType="") at svtools/source/misc/embedhlp.cxx:773 #6 0x00007ffff1c79b6f in svt::EmbeddedObjectRef::AssignToContainer(comphelper::EmbeddedObjectContainer*, rtl::OUString const&) (this=0x207ae90, pContainer=pContainer@entry=0x1f8de40, rPersistName=...) at svtools/source/misc/embedhlp.cxx:369 #7 0x00007ffff239f736 in SdrOle2Obj::Connect_Impl() (this=this@entry=0x20734f0) at svx/source/svdraw/svdoole2.cxx:984 #8 0x00007ffff23a6310 in SdrOle2Obj::Init() (this=this@entry=0x20734f0) at svx/source/svdraw/svdoole2.cxx:695 Try to defer that conversion by not doing a maVectorGraphicData->getReplacement() in ImpGraphic::ImplSetPrefSize(), rather just store the preferred size and apply it later when getReplacement() is called. This helps, because the above OLE-from-PPT case loads the graphic, but only to export it as SVM, so it doesn't need a vector -> bitmap conversion otherwise. Change-Id: I24790c0a3e298d5fbb3faff35d529e79cc72845a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/92144 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins
2019-11-22tdf#121740 cache font data to speed up PPT loadNoel Grandin3-5/+50
takes the load time from 24s to 21s for me. The cache was determined experimentally for this document. Change-Id: I34c78d1ff99cb8e72b274a201ded61d23e66941a Reviewed-on: https://gerrit.libreoffice.org/83470 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-10-08Add some doc and fix comment in eppt (sd)Julien Nabet1-2/+3
See https://docs.microsoft.com/en-us/openspecs/office_file_formats/ms-ppt/6be79dde-33c1-4c1b-8ccc-4b2301c08662 " 2.6.1: A - fAutoAdvance (1 bit): A bit that specifies whether to automatically advance to the next slide during a slide show based on timing information on the slide. B - fWillSkipBuilds (1 bit): A bit that specifies whether to display animations during a slide show. C - fUseSlideRange (1 bit): A bit that specifies whether to display only the slide range specified by the startSlide and endSlide fields during a slide show. D - fDocUseNamedShow (1 bit): A bit that specifies whether the slides shown during a slide show are from the named show identified by namedShow. It MUST be ignored if fUseSlideRange is TRUE. E - fBrowseMode (1 bit): A bit that specifies whether the slide show is presented in a way optimized for browsing. If fBrowseMode is TRUE, fKioskMode MUST be FALSE. F - fKioskMode (1 bit): A bit that specifies whether the slide show is presented in a way optimized to run at a kiosk. If fKioskMode is TRUE, fBrowseMode MUST be FALSE. G - fWillSkipNarration (1 bit): A bit that specifies whether to play slide audio narrations during a slide show. H - fLoopContinuously (1 bit): A bit that specifies whether to restart the slide show at the beginning after advancing from the last slide. I - fHideScrollBar (1 bit): A bit that specifies whether to display the navigational scroll bar during a slide show. " So yes, "IsEndless" corresponds to "fLoopContinuously" Document "Skip narration" + "show scrollbar" corresponds to Bit 8 (the contrary of "fHideScrollBar") so since this the Bit 8 of nFlags isn't set, it's always to 0, so we always show scrollbar Change-Id: Ifb4f62a9f52cdafac9f788f4d6d1deb0cf1b8efa Reviewed-on: https://gerrit.libreoffice.org/80415 Reviewed-by: Julien Nabet <serval2412@yahoo.fr> Tested-by: Julien Nabet <serval2412@yahoo.fr>
2019-08-21tdf#126761 add missing underline of hyperlink when showing ppt documentnd1013-0/+27
For ppt document opened in Impress, the familiar underline property is missing. This is to fix that. Underline property is added when ppt document is being opened and saved to exported odp document. Change-Id: I8ba02da8ffa1c8e7833645f850cddef84f0fa476 Reviewed-on: https://gerrit.libreoffice.org/77141 Tested-by: Jenkins Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
2019-08-09tdf#126746 Fix exporting closed Polylines to PPTXBartosz Kosiorek5-6/+22
In previous implementation the closed shapes was imported as a polylines without closing joint. As a result the joint style was not applied. This patch fixes that, and allow proper PPTX export. TODO The same issue needs to be fixed for PPT export Change-Id: I557daac1ba02330d8923f7eda3476e67d8711384 Reviewed-on: https://gerrit.libreoffice.org/77179 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com> Reviewed-by: Regina Henschel <rb.henschel@t-online.de>
2019-07-05tdf#121740 improve ppt load time on windows, reduce image swapoutNoel Grandin1-3/+0
Reduces load time of this file by 10%. This logic is here since commit 8ab086b6cc054501bfbf7ef6fa509c393691e860 Date: Mon Sep 18 16:07:07 2000 +0000 initial import and there does not seem to be any good reason to immediately trigger a swapout. Our balancing logic will perform a swapout as necessary. Change-Id: I02592dfd3bde1a00bcca2fcbcd4d38aacc8f3de4 Reviewed-on: https://gerrit.libreoffice.org/75086 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-06-06tdf#125556 URL fragment leaked from one object..Noel Grandin1-1/+1
to another when importing Powerpoint ppt file regression from commit 4245454d0c3d6df2d0e0a75aed6f22f0a26ce3e2 Date: Wed Feb 28 15:50:29 2018 +0200 loplugin:useuniqueptr in SdrPowerPointImport Change-Id: I5f415dfa1f6125629b9f3be1d799cb596c64c605 Reviewed-on: https://gerrit.libreoffice.org/73602 Reviewed-by: Xisco Faulí <xiscofauli@libreoffice.org> Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-08-17Avoid further downstream overflowStephan Bergmann4-11/+11
...after 004304eb2fd1703d22dec0abf0170bb2ce493d0c "try to avoid overflows in some compare functions" had changed the return type of just one function, but not its callers. Found with Clang's new -fsanitize=implicit-conversion during CppunitTest_sd_filters_test: > Testing file:///home/sbergman/lo/core/sd/qa/unit/data/ppt/pass/hang-17.ppt: [...] > sot/source/sdstor/stgdir.cxx:101:19: runtime error: implicit conversion from type 'sal_Int32' (aka 'int') of value -57120 (32-bit, signed) to type 'short' changed the value to 8416 (16-bit, signed) > #0 in StgDirEntry::Compare(StgAvlNode const*) const at sot/source/sdstor/stgdir.cxx:101:19 (instdir/program/libsotlo.so +0x217699) > #1 in StgAvlNode::Find(StgAvlNode const*) at sot/source/sdstor/stgavl.cxx:43:29 (instdir/program/libsotlo.so +0x1db72b) > #2 in StgDirStrm::Find(StgDirEntry&, rtl::OUString const&) at sot/source/sdstor/stgdir.cxx:907:57 (instdir/program/libsotlo.so +0x22f2dc) > #3 in Storage::IsStream(rtl::OUString const&) const at sot/source/sdstor/stg.cxx:773:39 (instdir/program/libsotlo.so +0x1d2cdf) > #4 in SotStorage::IsStream(rtl::OUString const&) const at sot/source/sdstor/storage.cxx:654:27 (instdir/program/libsotlo.so +0x29ebdb) > #5 in PropRead::PropRead(SotStorage&, rtl::OUString const&) at sd/source/filter/ppt/propread.cxx:543:19 (instdir/program/libsdfiltlo.so +0x6b72ee) > #6 in ImplSdPPTImport::Import() at sd/source/filter/ppt/pptin.cxx:262:32 (instdir/program/libsdfiltlo.so +0x5d0dc4) > #7 in SdPPTImport::Import() at sd/source/filter/ppt/pptin.cxx:167:21 (instdir/program/libsdfiltlo.so +0x5cf733) > #8 in ImportPPT at sd/source/filter/ppt/pptin.cxx:2761:26 (instdir/program/libsdfiltlo.so +0x618f64) > #9 in SdPPTFilter::Import() at sd/source/filter/sdpptwrp.cxx:106:32 (instdir/program/libsdlo.so +0x2877ed3) > #10 in sd::DrawDocShell::ConvertFrom(SfxMedium&) at sd/source/ui/docshell/docshel4.cxx:474:46 (instdir/program/libsdlo.so +0x2e1607c) > #11 in SfxObjectShell::DoLoad(SfxMedium*) at sfx2/source/doc/objstor.cxx:786:23 (instdir/program/libsfxlo.so +0x2c8c762) > #12 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) > #13 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) > #14 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) > #15 in SdFiltersTest::testCVEs() at sd/qa/unit/filters-test.cxx:83:5 (workdir/LinkTarget/CppunitTest/libtest_sd_filters_test.so +0x19d6d) Change-Id: Iaffd35d33f0e1109195e3bd56538104d395af01b Reviewed-on: https://gerrit.libreoffice.org/59274 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2018-08-16SvxNumberFormat::nFirstLineOffset should have a larger typeStephan Bergmann16-23/+29
...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>
2018-08-15SvxNumberFormat::nAbsLSpace should have a larger typeStephan Bergmann25-37/+41
...as is seen when executing CppunitTest_sd_filters_test with Clang's new -fsanitize=implicit-conversion (see below). The next larger natural choice after short is sal_Int32, and some of the code calling GetAbsLSpace actually already supported the value to be as wide (but not wider than) sal_Int32; code calling GetAbsLSpace that expected the value to be no wider than short has either been adapted or at least been marked with a TODO. (Other choices could have been sal_Int64 or long.) Some dependent function's parameter types have also been changed accordingly. > Testing file:///home/sbergman/lo/core/sd/qa/unit/data/ppt/pass/hang-10.ppt: [...] > filter/source/msfilter/svdfppt.cxx:3792:33: runtime error: implicit conversion from type 'sal_uInt32' (aka 'unsigned int') of value 144780 (32-bit, unsigned) to type 'short' changed the value to 13708 (16-bit, signed) > #0 in PPTNumberFormatCreator::ImplGetNumberFormat(SdrPowerPointImport const&, SvxNumberFormat&) at filter/source/msfilter/svdfppt.cxx:3792:33 (instdir/program/libmsfilterlo.so +0x7992cc) > #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 +0x797c6d) > #2 in PPTStyleSheet::PPTStyleSheet(DffRecordHeader const&, SvStream&, SdrPowerPointImport&, PPTTextParagraphStyleAtomInterpreter const&, PPTTextSpecInfo const&) at filter/source/msfilter/svdfppt.cxx:4395:13 (instdir/program/libmsfilterlo.so +0x7ac38d) > #3 in SdrPowerPointImport::SdrPowerPointImport(PowerPointImportParam&, rtl::OUString const&) at filter/source/msfilter/svdfppt.cxx:1618:59 (instdir/program/libmsfilterlo.so +0x74762f) > #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 +0x2878413) > #8 in sd::DrawDocShell::ConvertFrom(SfxMedium&) at sd/source/ui/docshell/docshel4.cxx:474:46 (instdir/program/libsdlo.so +0x2e165bc) > #9 in SfxObjectShell::DoLoad(SfxMedium*) at sfx2/source/doc/objstor.cxx:786:23 (instdir/program/libsfxlo.so +0x2c8cb12) > #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: Ifa298a51bb62b7cbee9249b8289963f3427721f5 Reviewed-on: https://gerrit.libreoffice.org/59116 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2018-07-31tdf#118080 fix formula importing of ppt animation.Mark Hung2-28/+6
Change-Id: I5f56e0d70a13418b0bde45c2fc65f56fdb365263 Reviewed-on: https://gerrit.libreoffice.org/58209 Tested-by: Jenkins Reviewed-by: Mark Hung <marklh9@gmail.com>
2018-07-31sd/qa: fix saveAndReload with PPT format.Mark Hung1-5/+5
UIName instead of Type were used as TypeName to initialize SfxFilter, and caused problems in DrawDocShell::ConvertTo() when saving PPT format. Change-Id: Iaffe7025a163c7520442c96921e8540903284ebf Reviewed-on: https://gerrit.libreoffice.org/58208 Tested-by: Jenkins Reviewed-by: Mark Hung <marklh9@gmail.com>
2018-07-16oox: enum MS_AttributeNames -> enum class AnimationAttributeEnumMark Hung4-53/+53
It's the attribute enum for the target animation. Remove MS_ prefix since it is in oox::ppt namespace and prepend Animation to make the purpose more clear. Change-Id: I0b6bbaf30ae4e2cf1cb0f6d5d24ba9f31e0b0773 Reviewed-on: https://gerrit.libreoffice.org/57353 Tested-by: Jenkins Reviewed-by: Mark Hung <marklh9@gmail.com>
2018-07-13Move convertMeasrue and convertAnimationValue from sd to oox.Mark Hung5-367/+299
1. convertAnimationValue convert the attribute value of a animation target from MS ppt to the format that slideshow understand, moving it so that it can be resued in oox. 2. convertMeasure is used by convertAnimationValue, moving it togehter eliminate the duplicated function in oox. Change-Id: I41cd1cf731b6496d7ae96b174a1748326415593f Reviewed-on: https://gerrit.libreoffice.org/57287 Tested-by: Jenkins Reviewed-by: Mark Hung <marklh9@gmail.com>
2018-07-07tdf#112721 sd ppt export: don't adjust first line of tableJustin Luth1-1/+1
Round-tripping ppt files with tables was causing the text content to slowly creep downward as space was being added on each save. No unit test. Something is wrong with saveAndReload for PPT. Plus, I don't know what property contains this padding, or whether it is a cell object or what that contains it. Change-Id: I8918718c4ae2c87856910717c3ca8af1cbd86a6e Reviewed-on: https://gerrit.libreoffice.org/56690 Tested-by: Jenkins Reviewed-by: Justin Luth <justin_luth@sil.org>
2018-06-08tdf#118037 PPT import: fix lost crop of graphicMiklos Vajna3-0/+24
Regression from commit b11188835d3b87cd9d2a8cdb3da204cfda5d3e6e (DOC import: lazy-read images, 2018-04-20). Change-Id: Ie2155c971d94153352a9372a9795cbb9d820dd40 Reviewed-on: https://gerrit.libreoffice.org/55452 Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk> Tested-by: Jenkins <ci@libreoffice.org>
2018-05-17tdf#116899: normalize key times during PPT import if neededAron Budea3-3/+37
If TimeAnimationValueListEntry contains time with -1000, key times have to be distributed evenly between 0 and 1. ([MS-PPT] 2.8.31) Change-Id: I67a3b83f1f1832fade5df7908c58032bcb9b73ce Reviewed-on: https://gerrit.libreoffice.org/53284 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Aron Budea <aron.budea@collabora.com>
2018-05-09Avoid division by zeroStephan Bergmann1-16/+31
...as happens during CppunitTest_sd_export_tests: > sd/source/filter/eppt/epptso.cxx:118:76: runtime error: division by zero > #0 in PPTExBulletProvider::GetId(Graphic const&, Size&) at sd/source/filter/eppt/epptso.cxx:118:76 (instdir/program/libsdfiltlo.so +0x38e7e7) > #1 in ParagraphObj::ImplGetNumberingLevel(PPTExBulletProvider*, short, bool, bool) at sd/source/filter/eppt/pptx-text.cxx:897:46 (instdir/program/libsdfiltlo.so +0x55464d) > #2 in ParagraphObj::ImplGetParagraphValues(PPTExBulletProvider*, bool) at sd/source/filter/eppt/pptx-text.cxx:1114:5 (instdir/program/libsdfiltlo.so +0x54c01d) > #3 in ParagraphObj::ParagraphObj(com::sun::star::uno::Reference<com::sun::star::text::XTextContent> const&, ParaFlags, FontCollection&, PPTExBulletProvider&) at sd/source/filter/eppt/pptx-text.cxx:741:9 (instdir/program/libsdfiltlo.so +0x54e373) > #4 in TextObj::TextObj(com::sun::star::uno::Reference<com::sun::star::text::XSimpleText> const&, int, FontCollection&, PPTExBulletProvider&) at sd/source/filter/eppt/pptx-text.cxx:1313:47 (instdir/program/libsdfiltlo.so +0x5574a4) > #5 in TextObjBinary::TextObjBinary(com::sun::star::uno::Reference<com::sun::star::text::XSimpleText> const&, int, FontCollection&, PPTExBulletProvider&) at sd/source/filter/eppt/eppt.hxx:141:101 (instdir/program/libsdfiltlo.so +0x4068e7) > #6 in PPTWriter::ImplWritePage(PHLayout const&, EscherSolverContainer&, PageType, bool, int) at sd/source/filter/eppt/epptso.cxx:2367:39 (instdir/program/libsdfiltlo.so +0x3dc5bb) > #7 in PPTWriter::ImplWriteSlide(unsigned int, unsigned int, unsigned short, bool, com::sun::star::uno::Reference<com::sun::star::beans::XPropertySet> const&) at sd/source/filter/eppt/eppt.cxx:312:5 (instdir/program/libsdfiltlo.so +0x327239) > #8 in PPTWriterBase::CreateSlide(unsigned int) at sd/source/filter/eppt/pptx-epptbase.cxx:399:5 (instdir/program/libsdfiltlo.so +0x49896a) > #9 in PPTWriterBase::exportPPT(std::__debug::vector<com::sun::star::beans::PropertyValue, std::allocator<com::sun::star::beans::PropertyValue> > const&) at sd/source/filter/eppt/pptx-epptbase.cxx:233:15 (instdir/program/libsdfiltlo.so +0x48ff5e) > #10 in ExportPPT at sd/source/filter/eppt/eppt.cxx:1451:17 (instdir/program/libsdfiltlo.so +0x34dfdc) > #11 in SdPPTFilter::Export() at sd/source/filter/sdpptwrp.cxx:173:24 (instdir/program/libsdlo.so +0x26b070d) > #12 in sd::DrawDocShell::ConvertTo(SfxMedium&) at sd/source/ui/docshell/docshel4.cxx:662:29 (instdir/program/libsdlo.so +0x2c454b7) > #13 in SfxObjectShell::SaveTo_Impl(SfxMedium&, SfxItemSet const*) at sfx2/source/doc/objstor.cxx:1508:19 (instdir/program/libsfxlo.so +0x2baa19d) > #14 in SfxObjectShell::PreDoSaveAs_Impl(rtl::OUString const&, rtl::OUString const&, SfxItemSet const&) at sfx2/source/doc/objstor.cxx:2792:39 (instdir/program/libsfxlo.so +0x2bcdc17) > #15 in SfxObjectShell::CommonSaveAs_Impl(INetURLObject const&, rtl::OUString const&, SfxItemSet&) at sfx2/source/doc/objstor.cxx:2650:9 (instdir/program/libsfxlo.so +0x2bc86cf) > #16 in SfxObjectShell::APISaveAs_Impl(rtl::OUString const&, SfxItemSet&) at sfx2/source/doc/objserv.cxx:302:19 (instdir/program/libsfxlo.so +0x2b69519) > #17 in SfxBaseModel::impl_store(rtl::OUString const&, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&, bool) at sfx2/source/doc/sfxbasemodel.cxx:2959:46 (instdir/program/libsfxlo.so +0x2cbd740) > #18 in SfxBaseModel::storeToURL(rtl::OUString const&, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) at sfx2/source/doc/sfxbasemodel.cxx:1638:13 (instdir/program/libsfxlo.so +0x2cc26b5) > #19 in SdExportTest::testBulletsAsImage() at sd/qa/unit/export-tests.cxx:934:20 (workdir/LinkTarget/CppunitTest/libtest_sd_export_tests.so +0x8988c) Change-Id: I516bb2367d6a7fae23e2d474e63ab50af925208b Reviewed-on: https://gerrit.libreoffice.org/54034 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2018-04-05fix bug in ppt import filter, ignoring initialsNoel Grandin1-0/+1
from somewhere before commit d2000efb31f864e912c6cf52760eea0e602b6893 Date: Sat Oct 31 00:29:04 2009 +0100 #i106421#: move msfilter to filter found by my new unusedvariablesmore plugin Change-Id: If19c3023bff9247608c9d3ddb84a0e91116c7224 Reviewed-on: https://gerrit.libreoffice.org/52390 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-03-28Translate German function namesJohnny_M3-10/+10
Akt -> Current in ppt filter Change-Id: Id32efb885e5e1b04c7fd8f3ce0f21537b2e7576c Reviewed-on: https://gerrit.libreoffice.org/51800 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Bartosz Kosiorek <gang65@poczta.onet.pl>
2018-03-10ppt export: fix use of FillBitmap instead of FillBitmapURLTomaž Vajngerl1-1/+1
Change-Id: Ic6add7910753649efd74e9b69557a5f4389b34dd Reviewed-on: https://gerrit.libreoffice.org/51023 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2018-03-05Translate German variable namesJohnny_M3-74/+74
Akt -> Current in ppt filter Change-Id: I06f140d5f9a60b53d815e73ee0b7a2b283a52d79 Reviewed-on: https://gerrit.libreoffice.org/50684 Reviewed-by: Michael Stahl <mstahl@redhat.com> Tested-by: Jenkins <ci@libreoffice.org>
2018-02-13ofz#3577 speed up ppt fuzzingCaolán McNamara1-2/+2
Change-Id: I4291fa609a063d9fd38a561e2dd96bf93ccfcd55 Reviewed-on: https://gerrit.libreoffice.org/49651 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2018-01-05long->sal_Int32 in BigIntNoel Grandin4-136/+90
And fix an issue discovered in the PPT parsing, where one of the test files has dodgy values that trigger the assert in BigInt::operator long(). Change-Id: Ic324ac38ecef4153cc434376317643ababe0a537 Reviewed-on: https://gerrit.libreoffice.org/47314 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-10-23shrink ppt fuzzerCaolán McNamara2-1/+87
Change-Id: I8873020cb7aad6d067f037d72146a42451977cc3
2017-10-21check ppt property size against max available lenCaolán McNamara1-2/+8
Change-Id: Ie99a68ea34edfb480d41cf832d3044f4bf686585 Reviewed-on: https://gerrit.libreoffice.org/43661 Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2017-10-21Resolves: tdf#113253 graphics change shape after ppt roundtripCaolán McNamara1-1/+1
Change-Id: I8e7520c206e909c016298f76fcd5083c98184dc4 Reviewed-on: https://gerrit.libreoffice.org/43608 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>