summaryrefslogtreecommitdiff
path: root/oox/source
AgeCommit message (Collapse)Author
26 hourstdf#165742 Step 4.2: Establish a narrow export path for chartexknordback
This is a subtask of tdf#165742: Chartex charts are lost on input from OOXML and re-export. Fix some incorrect URLs and ordering of elements in a <xsd:sequence>. Change-Id: I4092e91851e80114d3cb8e22f602c33faf146969 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/183736 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
40 hoursoox: read embedTrueTypeFonts and set doc. setting "EmbedFonts"Tomaž Vajngerl
Embed fonts depending if the attribute "embedTrueTypeFonts "on "presentation" element is set to true. If true, set the doc. setting "EmbedFonts" and start proceed with font embedding code path. Change-Id: Iba2552ab58c07cfa41afca4e1883ae706eb8c678 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/184403 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
40 hoursoox: import embedded font if it exists in impressTomaž Vajngerl
The fonts are usually EOT fonts so this needs libEOT to work. The EmbeddedFontHelper takes care the conversion and make the font available in LibreOffice (which is then used automatically in the document). Change-Id: I96a9b968aaba4b8ee08fe67fb8551d34d55dd9d3 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/184287 Reviewed-by: Tomaž Vajngerl <quikee@gmail.com> Tested-by: Jenkins
40 hourstdf#165742 Step 4.1: Establish a narrow export path for chartexknordback
This is a subtask of tdf#165742: Chartex charts are lost on input from OOXML and re-export. Build out the some of the export structure for chartex charts. This now produces an output chartEx*.xml file with no c-namespace content, for funnel charts only, and what appears to be fully well-formed OOXML per the office/drawing/2014/chartex schema. However, MSO doesn't load the result successfully, so I'm calling it step 4.1. For the bulk of the output code in chartexport.cxx, there was a design decision whether to (1) have a single 'if (chartex) ... else ...' branch point high up, or to (2) branch much more granularly within the code. (1) has the benefit of cleaner reading, without so many ifs, at the expense of a lot of duplicated code. (2) allows for much less code overall but with lots of ifs. For the time being I've taken approach (2), not necessarily because it's the right one, but mostly because it is much easier to move from (2) to (1) (largely by just duplicating the code and in each large branch deleting the local branches that don't apply), than from (1) to (2) (which would require examining the differences between the two large branches in detail, in order to re- integrate the code). Change-Id: I78de1484359c358b99320b417ab68cd90dab3e55 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/183561 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
6 daystdf#166249 - ooxml export: fix incorrect color exports in chartexportBalazs Varga
The colors and alpha values need to be exported individually. Also simplify leaderlines export by exporting all kind of line properties. follow-up of commit: ada05b8874aa2c5161550dbc87d79b47f40f0df8 regression from: 1916957d0750b5471f23f17b2867a907e0e9e0e2 (tdf#164936 oox: modify getColor method to include alpha) Change-Id: If0310b78382b384d022559b8411fd315c014612c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/184525 Tested-by: Jenkins Reviewed-by: Balazs Varga <balazs.varga.extern@allotropia.de>
7 daystdf#166241: add AES_192_CBC/AES_192_EBCJulien Nabet
+ improve SALT management by taking the max between encryptedHashInput.size() and comphelper::roundUp(mInfo.saltSize, mInfo.blockSize) + add QA tests Change-Id: I90dce73928e0b204500ac659eb80cd1499a4f065 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/184407 Tested-by: Jenkins Reviewed-by: Julien Nabet <serval2412@yahoo.fr> Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
7 daysRemove obsolete fw declarations from oox/Gabor Kelemen
found with bin/find-unneeded-includes --fwdecl Change-Id: I5fd8af2e2e14fa6f0a9c94038fa0b3dcc2b08221 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/183894 Tested-by: Jenkins Reviewed-by: Gabor Kelemen <gabor.kelemen.extern@allotropia.de>
8 daystdf#165742 Step 3: Establish a narrow input path for chartexknordback
This is a subtask of tdf#165742: Chartex charts are lost on input from OOXML and re-export. Build out the narrowest parsing path down to ChartType for funnel charts. No other data or parameters are supported at this point other than the chart type. This is a step towards more extensive support for I/O of chartex charts to/from OOXML. Change-Id: If33f4320c373262de19a7b0b31d28ce8f1de29e8 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/183463 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
13 daystdf#165742 Step 2: Create a ChartType derived class for chartex funnel chart.knordback
This is a subtask of tdf#165742: Chartex charts are lost on input from OOXML and re-export. Create ChartType and ChartTypeTemplate derived classes for funnel chart. Change-Id: I6019412c59e0228bf37a893ced7617a4e3056add Reviewed-on: https://gerrit.libreoffice.org/c/core/+/183461 Reviewed-by: Tomaž Vajngerl <quikee@gmail.com> Tested-by: Jenkins
2025-04-14tdf#154858 radial gradient import remove obsolete partRegina Henschel
LO has imported radial gradients as rotated linear gradient in case of gradient center in shape corner. That was changed in commit 65439ab2c4fc87e7cc115710a605e9f35dfb39d8 to always using radial gradient. So the comment about linear gradient is no longer valid and the gradient rotation is useless. Change-Id: I679f8afc347845eb012e3377e03877c3a7c7d6c1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/184117 Reviewed-by: Balazs Varga <balazs.varga.extern@allotropia.de> Reviewed-by: Regina Henschel <rb.henschel@t-online.de> Tested-by: Jenkins
2025-04-11crashtesting: out of bounds in export of forum-mso-en4-596154.xlsx to xlsxCaolán McNamara
and others, e.g. forum-mso-en4-596019.xlsx forum-mso-en4-596112.xlsx probably a problem since: commit 612891865a74777950ab7355a4d794fa5577c5fc CommitDate: Thu Mar 20 16:49:11 2025 +0100 tdf#165670 PPTX export: fix glue points export regression Change-Id: I12af1095115eeca8a8483d5895b716e1a8cc64fb Reviewed-on: https://gerrit.libreoffice.org/c/core/+/184013 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2025-04-10tdf#154858 - FILEOPEN PPTX: fix Radial gradient in shape imported asBalazs Varga
a Linear gradient XML_circle gradients should be always imported as GradientStyle_RADIAL. Regression from: 898e4ae1364e76af8be22183ac64d73b6a6d8d90 Change-Id: I8166a2afd3dadce61c742eeb0a55a0c8a8b9ada6 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/183836 Tested-by: Gabor Kelemen <gabor.kelemen.extern@allotropia.de> Tested-by: Jenkins Reviewed-by: Balazs Varga <balazs.varga.extern@allotropia.de>
2025-04-06crashtesting: out of bounds in export of tdf128404-1.ppt to pptxCaolán McNamara
and others, e.g. bugtrackers/pptx/ooo119584-1.pptx bugtrackers/pptx/novell499654-1.pptx bugtrackers/pptx/tdf112868-1.pptx bugtrackers/pptx/tdf104787-1.pptx bugtrackers/pptx/ooo96911-2.pptx bugtrackers/pptx/rhbz615970-1.pptx bugtrackers/pptx/tdf136754-2.pptx bugtrackers/pptx/tdf65724-6.pptx bugtrackers/pptx/tdf128404-1.pptx bugtrackers/docx/fdo51321-2.docx bugtrackers/docx/tdf103964-2.docx bugtrackers/ppt/tdf128404-1.pptx Change-Id: I73d75d714f2cecca9e728b3ba99e8c152e0f7685 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/183760 Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com> Tested-by: Jenkins
2025-04-02tdf#165742 Step 1: Introduce chartex namespace in parser and exportknordback
This is a subtask of tdf#165742: Chartex charts are lost on input from OOXML and re-export. Add the chartex namespace to the list of supported schemas Change-Id: Ie98d316c6c8b15053ae58c474d7552352af1b0d2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/183457 Reviewed-by: Tomaž Vajngerl <quikee@gmail.com> Tested-by: Jenkins
2025-04-01tdf#165995 pptx export: table cell margins weren't exportedJustin Luth
Although some left/right margins have been exported since 5.0 commit 636c5a63d67b52b0d2f9f21a863c45eca6ac9ff7 Author: yogesh.bharate001 on Thu Mar 26 10:48:15 2015 +0530 tdf#90223:PPTX table cell left and right margin is not exported. zero left/right margins weren't exported, and nothing was done for top/bottom border padding from table cells. (That's a bit weird, because I am using Yogesh's unit test to test for a round-tripped zero bottom border. It was the only existing unit test with non-default border spacing.) [The default (if not specified during import) L/R margins are 0.25cm (so definitely a zero margin needs to be exported and not ignored), and the import default for T/B margins is 0.127cm. However, none of that is documented of course.] make CppunitTest_sd_export_tests-ooxml1 \ CPPUNIT_TEST_NAME=testCellLeftAndRightMargin Change-Id: I12a8a785ddb784cacd4abf10e8e19df7cd50ec64 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/183564 Tested-by: Jenkins Reviewed-by: Justin Luth <jluth@mail.com>
2025-03-31tdf#165655 oox: don't export incomplete shape data coming from VMLAron Budea
Some export was added in fd238380ae7820f12ac1f7c52d0f7180a93f3ba3. This can result in only anchor pointers and no other data saved for certain shapes having no export code, making it an invalid file. Change-Id: I81bf513b6ebaa9f6456a26ccbc3276e019551eca Reviewed-on: https://gerrit.libreoffice.org/c/core/+/182699 Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com> Tested-by: Jenkins
2025-03-31tdf#165521 pptx layout: don't use font's leading for cells tooJustin Luth
This patch also fixes tdf#119951 and perhaps tdf#148039. WARNING: This patch will likely resize the text line height in every table imported from PPTX. Someone must have figured out that Microsoft just ignores the font metrics, and simply adds 20% to the font height to achieve a "single spacing" line height. In LO, that is either termed FontIndependentLineSpacing (a misnomer because it DOES depend on the font ascent/descent) or FixedCellHeight (also a misnomer because it so far hasn't applied to cells/tables and certainly is not restricted to cells/tables since it was implemented for customShapes). With this patch, my particular document now has the right "text/table height" according to a PDF overlay. The theory is that this change is needed for every document. The reason this patch is needed is because svx/source/table/viewcontactoftableobj.cxx's createPrimitive2DSequenceImpl passes rCellItemSet as the ItemSet that will eventually be checked for rSet.Get(SDRATTR_TEXT_USEFIXEDCELLHEIGHT), which creates attribute::SdrTextAttribute(bFixedCellHeight) which is used by SdrTextObj::impDecomposeBlockTextPrimitive to set SdrOutliner (and thus EditDoc) with SetFixedCellHeight(rSdrBlockTextPrimitive.isFixedCellHeight()); With FixedCellHeight, impedit3.cxx calculates text/line height using ImplCalculateFontIndependentLineSpacing. make CppunitTest_svx_unit \ CPPUNIT_TEST_NAME=testTdf165521_fixedCellHeight I modified testTdf144092TableHeight, and attached PDF overlay images to tdf#144092 as proof the the table should be taller than originally stated. Change-Id: Ibb4af395b77a3f4d30b5c2e8a08429b701f1ae95 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/183130 Tested-by: Jenkins Reviewed-by: Justin Luth <jluth@mail.com>
2025-03-20tdf#165670 PPTX export: fix glue points export regressionTibor Nagy
In some cases, we exported non-integer values for the glue points, and their positions were also incorrect. this regression is caused by commit Id4a127e7ef462611bf63da791717f8260ec51be0 (tdf165262 PPTX export: fix shape export regression). Change-Id: I978fa180ef181391651abad5c2b748e0b606b320 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/183165 Reviewed-by: Nagy Tibor <tibor.nagy.extern@allotropia.de> Tested-by: Jenkins
2025-03-20loplugin:constparam in ooxNoel Grandin
Change-Id: Iadec18cc82fd3fa8fb129698be92fed4ec2fbb1f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/183144 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Jenkins
2025-03-12tdf#165636 - FILESAVE PPTX: fix extra table border lines shownBalazs Varga
Export correctly the transparency value of table borders. Change-Id: I22ee5e29d1846295645ce5934149cf864a178bb5 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/182741 Tested-by: Gabor Kelemen <gabor.kelemen.extern@allotropia.de> Tested-by: Jenkins Reviewed-by: Balazs Varga <balazs.varga.extern@allotropia.de>
2025-03-07tdf#165341 - FILEOPEN PPTX: fix paragraph alignment for text wrapped shapesBalazs Varga
In case of word wrapped text objects no need to set TextHorizontalAdjust based on text alignment. regression from: 1d9ce0a67a71e51569cd33c26270eeece587a354 (tdf#162571 - sd: Text box expands or shrinks on left or right or) Change-Id: I9455e30a58cc3853bc2a1c2030ab7cc62314106c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/182616 Tested-by: Jenkins Tested-by: Gabor Kelemen <gabor.kelemen.extern@allotropia.de> Reviewed-by: Gabor Kelemen <gabor.kelemen.extern@allotropia.de>
2025-03-07tdf#165321 - sd ooxml import fix missing shapes or shapes with nearBalazs Varga
zero height Use the calculated shapes size (before we calculate the shape size with NbcAdjustTextFrameWidthAndHeight if the autoTextGrowHeight is true) instead of the shape size directly from the xml, which need to be transformed in some cases. Regression from commit: ebf13e890766f4cadbba81444784cfe3c8e1bbc3 (tdf#156857: sd ooxml import: fix shape size if spAutofit is set) Change-Id: Icddaf22d10a89b172a3f1ca3e55150162e51a877 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/182581 Tested-by: Gabor Kelemen <gabor.kelemen.extern@allotropia.de> Tested-by: Jenkins Reviewed-by: Gabor Kelemen <gabor.kelemen.extern@allotropia.de>
2025-03-03tdf#165503 oox: save numerical date categories into numerical cacheAron Budea
f547cf17a179ebd7de5c2b4dd2d00d0027a25429 switched saving date categories from text to numeric, but the values were still formatted text. Excel considered these files corrupted. Switch to saving actual numeric values. Change-Id: I1f77a87fd66d6f8fde4987f110e37ed55711bdf3 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/182364 Tested-by: Jenkins Reviewed-by: Dennis Francis <dennis.francis@collabora.com>
2025-02-28convert oox::drawingml::Color::ColorMode to scoped enumNoel Grandin
Change-Id: Ieb9a3cd02ca135e451f38cfca2c625923f9edeb3 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/182352 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2025-02-28tdf#134864 speedup load of pathological conditional formats in XLSNoel Grandin
This associated file had 300k conditional formatting entries, which reduced to about 10 when de-duplicated. Rework the logic so instead of deduplicating rule model entries, we dedplicate at a slightly higher level, and make the comparison check more thoroughly, which greatly increases the number of duplicates we find. Takes the load time from 38sec to 6sec on my machine. Tweak one of the unit tests, because we now consolidate some of the conditional formatting entries in that test file. Change-Id: Iff2c6afb1c9959576aa00a38d0a8e5d4a48b0fd5 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/182356 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Jenkins
2025-02-26tdf#165132 DOCX import: fix unexpected rotation on entirely vertical lineMiklos Vajna
Open the bugdoc, it should have a fake left paragraph border (a vertical line), it shows up as horizontal. This went wrong in commit 6c09c85ec384e88c89bff0817e7fe9889d7ed68e (tdf#161779 DOCX import, drawingML: fix handling of translation for lines, 2024-06-26) where it tried to model the ODF import, but there the PolyPolygon and Transformation properties are set separately (in this order) on the line shape, while oox/ code sets it via SvxShape::setPropertyValues() and that leads to a wrong result. Fix the problem by switching to set the two properties one by one (and not in one go) at least for vertical line shapes, which leads to the correct result. Note that this is a minimal regression fix, a better (but more risky) fix would be to improve SvxShape so setting all properties in one go would lead to the same result. Tests which were failing while working on this change: - CppunitTest_oox_drawingml's testToplevelLineHorOffsetDOCX: manual testing shows this is still OK. - CppunitTest_sw_ooxmlexport3's testArrowPosition and CppunitTest_svx_unit's testPageViewDrawLayerClip: restrict this to entirely vertical lines for now. Change-Id: Ia0e113d476d785d9320a142bdb449843f61d5dfe Reviewed-on: https://gerrit.libreoffice.org/c/core/+/182207 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins
2025-02-24tdf165262 PPTX export: fix shape export regressionTibor Nagy
When exporting a shape from PPT to PPTX, the preset shape export is sometimes incorrect. In such cases, we export the shapes as custom shapes. The export of glue points is also important, so it has been added to the fix. this regression is caused by commit I378ffffc2ba09fcffcaa4e5dcf74bfd19e9f704d (tdf#149126 fix export of PPTX preset shapes). Change-Id: Id4a127e7ef462611bf63da791717f8260ec51be0 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/182068 Tested-by: Jenkins Reviewed-by: Nagy Tibor <tibor.nagy.extern@allotropia.de>
2025-02-23tdf#164936 oox: modify getColor method to include alphaMohit Marathe
Change-Id: I141be9568b54334a17f5f781f1612423bec19999 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181861 Tested-by: Jenkins Reviewed-by: Sarper Akdemir <sarper.akdemir@allotropia.de>
2025-02-22tdf#165207 tdf#164201 docx: always use errata uri in docProps/core.xmlJustin Luth
This patch effectively replaces (and thus contains a revert of) 25.8 commit d97085cc6cd2bdc3b6723d1960d0ec5fa0a48165. This fixes a longstanding bug that became more prominent in 7.6 when mstahl renamed docx filters to promote Word 2010, and then again in 25.2 when my bug 164201 patches told command-line convert-to to export using Word 2010 filter, and finally in 25.8 for interactive round-tripping of existing files. So what does this patch fix? Basically, all of the meta-data was not being read by MS Word, which primarily means no create/modify dates, subject, title etc. Every time we saved to DOCX format (except DOCX 2007), we caused Word to be incapable of understanding anything in docProps/core.xml. Telltale sign: when MS Word round-trips with added docProps/core0.xml. The spec says that DOCX 2010 should be using officedocuments/2006/relationships/metadata/core-properties and thus our untouched 2010-era coding specified all of that for import and export. But reality seems to be much different than the spec, (and some errata-sounding documentation agrees), so throw the spec out the window and always write package/2006/relationships/metadata/core-properties (but only for DOCX - Excel and Powerpoint follow the spec...) That meant that I also had to rewrite our import logic, but that was already suggested by mstahl in https://gerrit.libreoffice.org/c/core/+/178048 Bug 165207 doesn't affect LO in any way. If there was already a unit test writing out to _rels/.rels I would have added a test for this, but since there isn't I won't bother since I don't see any value in doing so. Plus, we already have validity checks to cover this kind of stuff. The retained the unit test ensures import logic is still correct: make CppunitTest_sw_ooxmlexport20 CPPUNIT_TEST_NAME=testTdf158855 A uiwriter4 test depends on the previous patch in this bug report. (See earlier versions of my patchset for details) officeotron sounds like they WANT to report invalidation errors based only on spec, so no point in trying to "submit a patch". Change-Id: Ib76803bf0c9f3791f9078846f00c118099ef67cd Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181463 Tested-by: Jenkins Reviewed-by: Justin Luth <jluth@mail.com>
2025-02-20return concrete UNO class in oox::AttributeList::getFastAttributeListNoel Grandin
Change-Id: I9d149b15f495080f25c1ace7fa29c4c9bb20ce10 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181929 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2025-02-18tdf#165261 - PPTX import: fix text in shape is left-alignedBalazs Varga
instead of being centered regression from: 1d9ce0a67a71e51569cd33c26270eeece587a354 (tdf#162571 - sd: Text box expands or shrinks on left or right or...) Change-Id: Ieed39426dc5aec7a34d15bbb0a4faaeba04ba50f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181822 Tested-by: Jenkins Reviewed-by: Balazs Varga <balazs.varga.extern@allotropia.de>
2025-02-09tdf#164775 PPTX export: fix connector shape regressionTibor Nagy
A connector shape can be connected to a shape, if the end of connector shape is released inside the target shape, it will automatically attach to the best possible connection point. It takes into account the shape type, geometric properties, and user-defined glue points. In this case, if we export the ODP file to PPTX, we need to use the GetConnectorRule() method to get the correct connection index(idx). this regression is caused by commit 4d153517183193f468dee9148c94fe9d874bacb3 (tdf#149697 PPTX export: fix changing place of connection points). Change-Id: I8eda059e72f595edc62fd5bc7f3e6466988af5bb Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181226 Tested-by: Jenkins Reviewed-by: Nagy Tibor <tibor.nagy.extern@allotropia.de>
2025-01-23fix(ooxmlexport): Prevent unknown media type crashSkyler Grey
To determine the extension of a media file, we just take whatever parts of the URL were left after the final dot. Normally this is something normal such as `mp4`, `mp3` or suchlike Unfortunately, sometimes (such as when in Collabora Online) this URL would is actually be something Uno-y, leaving an extension like Package:Media That's no good, because in Zip files we can't have colons in our names, at least according to our Zip file name checker, which looks through and denies access to any file names that have colons in bool OStorageHelper::IsValidZipEntryFileName( std::u16string_view aName, bool bSlashAllowed ) { long nDots{0}; for ( size_t i = 0; i < aName.size(); i++ ) { switch ( aName[i] ) { // ------------------ 8< cut ------------------ case ':': return false; Promptly causing us not to open a file output stream... if ( aElementName.isEmpty() || !::comphelper::OStorageHelper::IsValidZipEntryFileName( aElementName, false ) ) throw lang::IllegalArgumentException( THROW_WHERE "Unexpected entry name syntax.", uno::Reference< uno::XInterface >(), 1 ); -> leading to implOpenSubStorage failing to set xSubXStorage... if( mxStorage.is() ) try { // XStorage::isStorageElement may throw various exceptions... if( mxStorage->isStorageElement( rElementName ) ) xSubXStorage = mxStorage->openStorageElement( rElementName, css::embed::ElementModes::READ ); } catch ... { ... } ...and eventually to us never having an output stream in the first place... Reference<XOutputStream> xOutStream = mpFB->openFragmentStream(sFileName, aMimeType); gdb$ print xOutStream $1 = empty uno::Reference ...and crashing the code that tries to copy to that stream. The upshot of this bug is that any videos inserted with Collabora Online (or presumably similar .uno command use) crash LO when you later try to save your .pptx The quick fix here is to replace colons with another character, which is what I've done here. Future followup patches could do other sensible things like stopping crashes if we can't open an output stream for whatever reason or figuring out what to do with names that aren't permitted for reasons other than colon use. Change-Id: I9113b272d29f74882dc25bf6e74306bd9ecd58a2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/180635 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2025-01-20remove code duplication - conversion hex char to valueTomaž Vajngerl
We use the same funciton all over the place, so create a common function in o3tl and use that in all instances where we duplicated the code. Change-Id: I74091fbbde8c2ba8c7e4ab30194ab53e2a338e52 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/180372 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2025-01-06tdf#163852 ooxml: fix import of cropped vector graphic objectsBalazs Varga
We need to store the vector graphic objects size, so later we can calculate with that for the cropping. follow-up commit of: 1db193c6c744289139b1df2af0b8defcf974b238 (tdf#126084 import svg image from ooxml document that use svgBlip elem) Change-Id: Iffa98cc6a03063544bdf2b8ec3012415868e7c65 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/179626 Tested-by: Jenkins Reviewed-by: Balazs Varga <balazs.varga.extern@allotropia.de> Tested-by: Gabor Kelemen <gabor.kelemen.extern@allotropia.de>
2025-01-03Drop unneeded forward declarations from include/Gabor Kelemen
test drive the new bin/find-unneeded-includes --fwdecl mode Change-Id: I507fa2b172ec9e348d1d91066ea241f02187b5ed Reviewed-on: https://gerrit.libreoffice.org/c/core/+/179321 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2024-12-13tdf#150789 - FILEOPEN PPTX: fix text in SmartArt vertically offBalazs Varga
Calculate correctly the textbox area of upArrowCallout and downArrowCallout shapes in group shapes. In grouped list text area does not cover the whole shape but just a part of it at the top. In case of upArrowCallout and downArrowCallout the arrow size of the shape is not included in the textbox area of the full shape. Change-Id: If732305747c20da55bbd2896522c0b9c05cc4b4b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178343 Tested-by: Gabor Kelemen <gabor.kelemen.extern@allotropia.de> Reviewed-by: Balazs Varga <balazs.varga.extern@allotropia.de> Tested-by: Jenkins
2024-12-10tdf#164065 load vml textbox in a group shapeOliver Specht
Store (vml) textbox elements to determine whether to load shape text or Writer frame. Replay elements in second step and process depending on the outcome. - result flag not yet available while processing - The text shape in docx bugdoc of tdf#152878 can now be loaded as Writer frame but with wrong size/position. - should also be applied to drawing ml shapes currently always loaded as Writer frame Change-Id: I0778057f9985f5523d91a9d757e00f2968aba350 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/174902 Tested-by: Jenkins Reviewed-by: Thorsten Behrens <thorsten.behrens@allotropia.de> Tested-by: Gabor Kelemen <gabor.kelemen.extern@allotropia.de>
2024-12-09tdf#158512: PPTX import: reset useBgFill flag when it is unusedVasily Melenchuk
Even if current fill is not "use background" we should reset useBgFill explicitly, since this value could be set from master slide and was nested in current shape. It is somewhat confusing to have fillStyle as none and using slide background at the same time. So better to clean it explicitly. Change-Id: I0d817dc295785be7a6cb8f884d5023d316cd2ebf Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165994 Reviewed-by: Gabor Kelemen <gabor.kelemen.extern@allotropia.de> Tested-by: Jenkins Tested-by: Gabor Kelemen <gabor.kelemen.extern@allotropia.de>
2024-12-09crashtesting: reimport of fdo61125-1.docx has negative image widthCaolán McNamara
we probably shouldn't do that anyway, but the assumption at this import check appears to be for >= 0 Change-Id: Ibf98b1b0802a15bc283b3d1e3db7e4e8163837dd Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178132 Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com> Tested-by: Jenkins
2024-12-05tdf#160487 - PPTX export: fix "Fit height to text"Balazs Varga
attribute of drawing objects (placeholders) Export spAutoFit attribute correctly to ooxml. Change-Id: I57e5b21bd6c407bdb5d1b36b3c3674249fbd2f59 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177798 Tested-by: Jenkins Reviewed-by: Balazs Varga <balazs.varga.extern@allotropia.de>
2024-12-04loplugin:unusedfieldsNoel Grandin
Change-Id: Iac4a64af74c92cbd76335faa62e51fa80ef21789 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177718 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2024-12-02crashtesting: further failure to reload forum-de3-6592.docxCaolán McNamara
git show -w Change-Id: I2963833726779d784bcdfa772e152e65dfde3af5 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177674 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-12-02crashtesting: failure to reload conversion of forum-de3-6592.odt to docxCaolán McNamara
Change-Id: Ic2781bbd25e794992a181b2f4807fc0ca08ef33b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177673 Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com> Tested-by: Jenkins
2024-11-30cid#1607542 COPY_INSTEAD_OF_MOVECaolán McNamara
and cid#1606986 COPY_INSTEAD_OF_MOVE cid#1557969 COPY_INSTEAD_OF_MOVE cid#1557837 COPY_INSTEAD_OF_MOVE cid#1557772 COPY_INSTEAD_OF_MOVE cid#1557735 COPY_INSTEAD_OF_MOVE cid#1557672 COPY_INSTEAD_OF_MOVE cid#1557664 COPY_INSTEAD_OF_MOVE cid#1557650 COPY_INSTEAD_OF_MOVE cid#1557642 COPY_INSTEAD_OF_MOVE cid#1557639 COPY_INSTEAD_OF_MOVE cid#1557628 COPY_INSTEAD_OF_MOVE cid#1557623 COPY_INSTEAD_OF_MOVE cid#1557581 COPY_INSTEAD_OF_MOVE cid#1557489 COPY_INSTEAD_OF_MOVE cid#1557473 COPY_INSTEAD_OF_MOVE cid#1557317 COPY_INSTEAD_OF_MOVE cid#1557261 COPY_INSTEAD_OF_MOVE cid#1557146 COPY_INSTEAD_OF_MOVE cid#1557135 COPY_INSTEAD_OF_MOVE cid#1557134 COPY_INSTEAD_OF_MOVE cid#1557079 COPY_INSTEAD_OF_MOVE cid#1557063 COPY_INSTEAD_OF_MOVE cid#1557052 COPY_INSTEAD_OF_MOVE cid#1556982 COPY_INSTEAD_OF_MOVE cid#1556977 COPY_INSTEAD_OF_MOVE cid#1556950 COPY_INSTEAD_OF_MOVE cid#1556943 COPY_INSTEAD_OF_MOVE cid#1556804 COPY_INSTEAD_OF_MOVE cid#1556736 COPY_INSTEAD_OF_MOVE cid#1556658 COPY_INSTEAD_OF_MOVE cid#1556621 COPY_INSTEAD_OF_MOVE cid#1556590 COPY_INSTEAD_OF_MOVE cid#1556579 COPY_INSTEAD_OF_MOVE cid#1556534 COPY_INSTEAD_OF_MOVE cid#1556524 COPY_INSTEAD_OF_MOVE cid#1556478 COPY_INSTEAD_OF_MOVE cid#1556467 COPY_INSTEAD_OF_MOVE cid#1556422 COPY_INSTEAD_OF_MOVE cid#1556314 COPY_INSTEAD_OF_MOVE cid#1556309 COPY_INSTEAD_OF_MOVE cid#1556258 COPY_INSTEAD_OF_MOVE cid#1556143 COPY_INSTEAD_OF_MOVE cid#1556119 COPY_INSTEAD_OF_MOVE cid#1556101 COPY_INSTEAD_OF_MOVE cid#1556097 COPY_INSTEAD_OF_MOVE cid#1556039 COPY_INSTEAD_OF_MOVE cid#1555966 COPY_INSTEAD_OF_MOVE cid#1555948 COPY_INSTEAD_OF_MOVE cid#1555915 COPY_INSTEAD_OF_MOVE cid#1555836 COPY_INSTEAD_OF_MOVE cid#1555748 COPY_INSTEAD_OF_MOVE cid#1555644 COPY_INSTEAD_OF_MOVE cid#1555582 COPY_INSTEAD_OF_MOVE cid#1555478 COPY_INSTEAD_OF_MOVE cid#1555475 COPY_INSTEAD_OF_MOVE cid#1555409 COPY_INSTEAD_OF_MOVE cid#1555372 COPY_INSTEAD_OF_MOVE cid#1555334 COPY_INSTEAD_OF_MOVE cid#1555330 COPY_INSTEAD_OF_MOVE cid#1555310 COPY_INSTEAD_OF_MOVE cid#1555257 COPY_INSTEAD_OF_MOVE cid#1555247 COPY_INSTEAD_OF_MOVE cid#1555147 COPY_INSTEAD_OF_MOVE cid#1555120 COPY_INSTEAD_OF_MOVE cid#1555059 COPY_INSTEAD_OF_MOVE cid#1555016 COPY_INSTEAD_OF_MOVE cid#1554880 COPY_INSTEAD_OF_MOVE cid#1554824 COPY_INSTEAD_OF_MOVE cid#1554808 COPY_INSTEAD_OF_MOVE cid#1546189 COPY_INSTEAD_OF_MOVE Change-Id: I2d2f33c603f1596228c9ecb169472ba6751e7826 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177593 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-11-30tdf#163483: implement export of Math formula's fallback image to PPTXMike Kaganski
This was left as a TODO in commit cb890ae43bacd2be24bc74fad2e2e5cce8910995 (oox: export Math objects to PPTX files, 2016-01-15). Now after commit 7cfff4751befd678b3db4b6f16b020d38f4e9c32 (Related: tdf#129061 Avoid formula import and use fallback for now, 2024-09-11), that relied on the fallback being present, our exported documents lost the formulas completely on load. So the fallback export became a necessity. Change-Id: I52d4ef0400ce72ee10fda10a1131b4ba29ea56be Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177564 Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com> Tested-by: Jenkins
2024-11-26tdf#161800 - I/O of '# of values in second plot' parameter not supportedKurt Nordback
Add support for input and output of 'split position' parameter (number of entries in second plot) for of-pie charts. In OOXML this uses the supported split-pos tag. For ODF I added an extension in loext namespace for this parameter. This commit also includes simple tests for the I/O functionality in OOXML and ODF. Change-Id: I00ff59db721867fa836eb99b6677350040d005dd Reviewed-on: https://gerrit.libreoffice.org/c/core/+/170666 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2024-11-25cid#1607224 Overflowed return valueCaolán McNamara
Change-Id: I297159aec76a497c5082c70adc0c2e45878322a5 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177240 Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com> Tested-by: Jenkins
2024-11-24cid#1607832 Overflowed constantCaolán McNamara
Change-Id: Ie0d14ef985bebf4acdb08c460675ebba75f88a8d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177166 Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com> Tested-by: Jenkins
2024-11-20use TOOLS_WARN_EXCEPTION to get exception detailsCaolán McNamara
Change-Id: I68f45585878b323e44ce9ca2d660c72ebb7be174 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176791 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>