summaryrefslogtreecommitdiff
path: root/xmloff
AgeCommit message (Collapse)AuthorFilesLines
2016-05-31prevent out of bounds string accessEike Rathke1-2/+3
Yet another reminiscence of String to OUString conversion.. where the terminating NULL-character was obtained and SvNumberformat::InsertBlanks() effectively did nothing. Could be triggered already by entering an '_' underscore character as number format code, which is a place holder for blanks of the same width as the following character, which there isn't then yet. Change-Id: I0534e1417d4bd35e9e7ed4bd0170b9ea3b5fb575 (cherry picked from commit c75ce37560c05271ba56c9dd0d98c5001e83cc2f) Reviewed-on: https://gerrit.libreoffice.org/25693 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Markus Mohrhard <markus.mohrhard@googlemail.com>
2016-05-30tdf#100134 xmloff: only update the progressbar twice for every percentMiklos Vajna1-3/+8
This restores the state before commit e1b78d36008d1fd188ca8dc154ad069d3476520c (#95181#; call the setValue method of the XStatusIndicator as often as possible to enable reschedule, 2001-11-26), which doesn't seem to be necessary anymore, perhaps due to the current scheduler that has priorities. Rather than a plain revert, still allow the progressbar to jump back, as that seems to be used relatively frequently. So just filter out the calls that would increment the value, but only with a small difference, compared to the shown value. (cherry picked from commit 20ad9893d5d3be13d8aa17764e483afaa083b5c0) Change-Id: I7136b20f1c64e267b0b4a35bbe2564e5163d9468 Reviewed-on: https://gerrit.libreoffice.org/25666 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Michael Meeks <michael.meeks@collabora.com> Tested-by: Michael Meeks <michael.meeks@collabora.com>
2016-05-30Resolves: tdf#97879 loop in style hierarchy on odt loopCaolán McNamara1-1/+7
Change-Id: I0098c434b89b6a57e8b888a4d4f643e4d0865d29 (cherry picked from commit e954697a9d39e40473fb9f59a791ccb7129e763c) Reviewed-on: https://gerrit.libreoffice.org/25498 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
2016-05-25tdf#38097 min numerator/denominator at least 1Laurent Balland-Poirier1-3/+3
In <number:fraction> attributes min-denominator-digits and min-numerator-digits should be at least 1. Gnumeric can create file with 0 values Change-Id: I08ef51c23ce686136f51277671bf630807353484 Reviewed-on: https://gerrit.libreoffice.org/24670 Reviewed-by: Eike Rathke <erack@redhat.com> Tested-by: Eike Rathke <erack@redhat.com> (cherry picked from commit a75aa73b2bf793faac1adb3b5f67e09d252d5fe9) Reviewed-on: https://gerrit.libreoffice.org/25449 Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2016-05-25tdf#31449 Correctly test if fraction has no integer partLaurent Balland-Poirier1-2/+2
Test if fraction format has no integer part is modified to take into account all cases: ??/?? or ##/## and do not detect false positive like ? ??/?? Change-Id: Ia8677a5ad496e5df56ce6bf1290323555e46ba0a Reviewed-on: https://gerrit.libreoffice.org/24540 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Eike Rathke <erack@redhat.com> Tested-by: Eike Rathke <erack@redhat.com> (cherry picked from commit 3beb146b34fa931e2d63f4738a3ae69fe286545f) Reviewed-on: https://gerrit.libreoffice.org/25452 Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2016-05-11tdf#98163 Flush ressources at CustomShapes during importArmin Le Grand2-23/+23
During ODF import using API for CustomShapes Outliners and VirtualDevioces get created and not destroyed due to referencing. This makes the ressources blow up, even under 64bit windows. Also see tdf#93994 where this was already fixed on page base, but this is not sufficient for this case. Reviewed-on: https://gerrit.libreoffice.org/24305 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Armin Le Grand <Armin.Le.Grand@cib.de> (cherry picked from commit e6adb3e8b4de3c0f78d249b83de19b849ef65b59) Change-Id: If9b37d341fcfa4e65485c54054d47964ee2fff5f Reviewed-on: https://gerrit.libreoffice.org/24843 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Michael Stahl <mstahl@redhat.com>
2016-05-11Resolves: tdf#93994 flush API objects at load timeArmin Le Grand1-0/+24
When importing SdrObjCustomShape for each an Outliner and a VirtualDevice as RefDevice are created and held. On 32bit systems this breaks the import with many such objects (in the bugdoc around 4300). On 64bit it works, but more memory as necessary is used. To avoid this, flush the UNO API implementations at these objects after one page is imported. Do not do this for each single object, that will break the connector import which does some processing later. Change-Id: I7296edd40f01c1a40258808d78bf39e6d4fe29bf Reviewed-on: https://gerrit.libreoffice.org/19990 Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de> Tested-by: Thorsten Behrens <Thorsten.Behrens@CIB.de> (cherry picked from commit e67a834c5d1a14889ab97b79df5b579934f27c30) Reviewed-on: https://gerrit.libreoffice.org/24841 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Michael Stahl <mstahl@redhat.com>
2016-04-26-Werror=addressStephan Bergmann1-4/+1
the original looks odd, but the code was like that ever since it got introduced with 44cfc7cb6533d827fd2d6e586d92c61d7d7f7a70 "re-base on ALv2 code. Includes (at least) relevant parts of:" Change-Id: I327c5a53a2634aca1b36367ee09c068ac610d3f4 (cherry picked from commit 09f1bd85d432d130cd54d329d01a020728757c2e) Signed-off-by: David Tardon <dtardon@redhat.com> Reviewed-on: https://gerrit.libreoffice.org/24406 Tested-by: Jenkins <ci@libreoffice.org>
2016-03-09Use rtl::math::isNan()Fabio Buso1-1/+2
isnan() not found causes compilation error System: Archlinux (Kernel Version 4.4) - GCC 5.3.0 Change-Id: Id0bb4555428896678437e8abf228f1c208f1e7a0 Reviewed-on: https://gerrit.libreoffice.org/22695 Reviewed-by: Tor Lillqvist <tml@collabora.com> Tested-by: Tor Lillqvist <tml@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/22917 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2016-02-27xmloff: tdf#97808: allow empty draw:marker-start/marker-end/stroke-dashMichael Stahl1-1/+5
Apparently these are allowed to be empty, which means "nothing". (regression from db1d278dcc308c73eb5edebc20481c96e7f479d8) Change-Id: I13f7998e0986b26c34929afd40b1b4f0fc9efdff (cherry picked from commit af57a81d0c28944b424649f024c28f444a1ab2d9) Reviewed-on: https://gerrit.libreoffice.org/22723 Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2016-02-05xmloff: tdf#96147: ODF export: fix duplicate fo:background-colorMichael Stahl2-2/+12
... attributes that happen if both CharHighlight and CharBackColor properties are used, because the CharBackTransparent property wasn't taken into account, and combining the CharBackColor and CharBackTransparent properties happens *after* XMLTextExportPropertySetMapper::ContextFilter() runs. Also, it looks like a transparent highlight wouldn't export properly but apparently DomainMapper::getColorFromId() won't create such. (regression from f880962f5bf26bfaef06bd3f9e67e2d901a2e74c) Change-Id: Ib628ef8bb377482f74fadb97c81afb95fbbf7184 (cherry picked from commit 8dadefc35f8b33648fb6adbdaca75ea52b2705db) Reviewed-on: https://gerrit.libreoffice.org/22042 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
2016-01-21tdf#40517 Export/Import in ODF decimal replacement with spaceLaurent Balland-Poirier2-8/+27
Number format such as "0.???" is saved in ODF with number:decimal-replacement=" " Change-Id: I0dd19b5ea126f380bcf17a3ccc5d8c355119e23b Reviewed-on: https://gerrit.libreoffice.org/21021 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: jan iversen <jani@documentfoundation.org> (cherry picked from commit 3ee66e306cf0ca9c2b56de26c28e8130d7b72f64) Reviewed-on: https://gerrit.libreoffice.org/21613 Tested-by: jan iversen <jani@documentfoundation.org>
2016-01-19Resolves: tdf#96245 relax test for duplicate frame namesCaolán McNamara1-1/+2
to allow duplicated unnamed frames Change-Id: I871849b23d01209f027b6295777db705f7dc86d8 (cherry picked from commit 86963c2e23aebfa7b9df4e2d28278dfb581974d3)
2016-01-14xmloff: there is no reason why office:version should be omittedMichael Stahl1-15/+14
... if a document contains foreign elements or attributes. In fact since ODF 1.2 the office:version attribute is mandatory and any document that omits it is therefore invalid, while "extended conforming" documents are allowed to contain foreign elements and attributes. This mysterious check was there since CVS initial import, but without any justification. Change-Id: Ifeafad2b7af41f06356461adb7ae65dbf7bae11d (cherry picked from commit d277ac87455a599fbf4acd3c6401f09bc74d3dac) Reviewed-on: https://gerrit.libreoffice.org/21425 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
2016-01-11tdf#96480: ODF import: eliminate duplicate cross reference heading bookmarksMichael Stahl5-12/+141
7c3c3006deaaaf1bb3f2f4eeeaf11da3bcebe53c is apparently worse than it appeared at first glance since there are numerous assumptions about bookmarks, such as that if they were inserted successfully they may be copied successfully, which isn't the case for duplicate cross reference bookmarks. So fix this differently, by eliminating the duplicates and mapping all reference fields to refer to the surviving bookmark. It was not possible to do this in SwXBookmark by checking the makeMark() return as that would raise interesting problems such as it's currently guaranteed to have 1:1 SwXBoomarks to core Marks so we can't just connect 2 SwXBookmarks to the same core Mark, and we also can't leave the SwXBookmark unconnected after attach. Another alternative would be to temporarily allow inserting the duplicate bookmarks and then eliminate them after the import, but what is implemented now is to check from xmloff for duplicates, which is reasonably simple. Change-Id: I7ee4854d1c9d8bf74201089cbb7287b1bd8ee3b9 (cherry picked from commit 774fb6d2e7cf36b677e66c54278225b1256bd40f) Reviewed-on: https://gerrit.libreoffice.org/21277 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
2015-11-25store custom icon set info into ODFMarkus Mohrhard1-0/+3
Change-Id: I1581b28237d2b9f9c22d3f3b0436dc281508aafa Reviewed-on: https://gerrit.libreoffice.org/20118 Reviewed-by: Katarina Behrens <Katarina.Behrens@cib.de> Tested-by: Katarina Behrens <Katarina.Behrens@cib.de>
2015-11-24crashtesting: ooo72999-1.ods NaNs found in light directionCaolán McNamara1-1/+10
and NaN != NaN so busted logic propogates, drop invalid directions on initial read Change-Id: Ic76c714666df14d37a4c68f43b817327675bd0e0
2015-11-24loplugin:unusedfields in xmloff/Noel Grandin11-27/+4
Change-Id: I1fb9cb1bc04fb0886d6080f62899a04e8fd4429e
2015-11-20add mapKeysToSequence/mapValuesToSequence methods to comphelperNoel Grandin3-18/+7
and use them Change-Id: If4dc9df63db37185228aeaaab2979498d61304ec Reviewed-on: https://gerrit.libreoffice.org/20055 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2015-11-19Incredible slowness and crashes with document with vast num of frame dupsCaolán McNamara1-1/+9
it looks like draw:name values are supposed to be unique in ODF, even if it's not spelled out explicitly, since it exists so the frame can be referenced, which sort of implies that it has to be unique, so a document where the values aren't unique can be considered invalid 19.197.10 <draw:frame> The draw:name attribute specifies a name by which a <draw:frame> element can be referenced. So reject duplicate frames Change-Id: I83f6d72fd969f667f0a8c2c85d2ffeeed672387a
2015-11-19use comphelper::containerToSequenceNoel Grandin3-106/+18
Change-Id: I223ff4af01ab2da92da0c26d32457204a5008c4a
2015-11-18xmloff: add meta:generator constants LO_43x and LO_44xMichael Stahl1-7/+14
Change-Id: I1d962ad637f19b02855616edebcedbad719689c5
2015-11-18xmloff: legacy assert to SAL_INFO as it can only be triggered byMichael Stahl1-1/+1
... invalid input files. Change-Id: I351302253169d32cd6a83ff63eb497d0069ab49b
2015-11-18xmloff: document potential pitfall with SvI18NMap usageMichael Stahl1-11/+0
Change-Id: I37050203f9d7b4f04b6d0b0dc5c4e04855d017f7
2015-11-18remove unused typedefs and inline use-once typedefsNoel Grandin1-3/+1
and improve the script a little Change-Id: I2792ea4dd5df3a50736fbe209225c3f16fb86b84 Reviewed-on: https://gerrit.libreoffice.org/20033 Reviewed-by: Noel Grandin <noelgrandin@gmail.com> Tested-by: Noel Grandin <noelgrandin@gmail.com>
2015-11-17use unique_ptr for pImpl's in xmloff/Noel Grandin20-62/+27
Change-Id: Ib95118941938af83fed566a085837e17f092017a
2015-11-16use initialiser list for Sequence<OUString>Noel Grandin2-8/+3
Change-Id: Ia5e47261d1fc6fac2d046656c05a1c5eedb07e02 Reviewed-on: https://gerrit.libreoffice.org/19978 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2015-11-15Fast PCH generator and optimized PCH filesAshod Nakashian2-501/+160
Ported update_pch.sh to Python with improved performance and features. The new script is invoked from the same update_pch.sh which calls it for each library in parallel, although it can be invoked directly. The ported script (update_pch) updates all PCH files in ~15 seconds where the old script took ~4500 seconds. In addition, the new script supports 3-tiered headers (system, module, and local) and is very flexible to support other improvement. It has a per-library optimal configuration settings that can be updated using another new scripts (update_pch_autotune.sh) which finds optimal per-PCH settings. PCH files have been generated using the new scripts which builds significantly faster (2-3x, depending on module and configuration) and the intermediate binaries are noticably smaller (by several GBs). The new script stamps each generated PCH file with the command that generated it to make it trivial for users to update them, and also adds the command to invoke another script (update_pch_bisect) that helps find missing headers or conflicting headers that may break the build after updating the PCH. Finally update_pch has built-in unit-tests for makefile parsing and other core functionality. Change-Id: Ib933b50e50374d7e2e7e3e95ba8799b0cc8a27fa Reviewed-on: https://gerrit.libreoffice.org/19965 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2015-11-15use initialiser for Sequence<OUString>Noel Grandin2-4/+2
using variations of: git grep -lP 'Sequence.*OUString.*\(\s*1\s*\)' | xargs perl -0777 -pi -e "s/Sequence<OUString> (\w+)\(1\)\; \s*OUString\* pArray.*; .*\[0\]\s*=\s*(\S+)\;/Sequence<OUString> \1 { \2 };/g" Change-Id: I03c64334ff30ee14dce0d17b67f5122a3893bbe3 Reviewed-on: https://gerrit.libreoffice.org/19971 Reviewed-by: Noel Grandin <noelgrandin@gmail.com> Tested-by: Noel Grandin <noelgrandin@gmail.com>
2015-11-15use initialiser for Sequence<OUString>Noel Grandin4-10/+5
replaced using: git grep -lP 'Sequence.*OUString.*\(\s*1\s*\)' | xargs perl -0777 -pi -e "s/Sequence<\s*OUString\s*> (\w+)\(\s*1\s*\); .*\[0\] = (\S+);/Sequence<OUString> \1 { \2 };/g" Change-Id: I20ad0489da887a9712982531c3b127339bb8b3b9 Reviewed-on: https://gerrit.libreoffice.org/19969 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2015-11-15use initialiser for Sequence<OUString>Noel Grandin5-26/+13
performed using: git grep -lP 'Sequence.*OUString.*\(1\)' | xargs perl -0777 -pi -e "s/Sequence<OUString> (\w+)\(1\); .*\[0\] = (\S+);/Sequence<OUString> \1 { \2 };/g" Change-Id: I4da56c80fa09bfc1e8f868794001e9921431e09f Reviewed-on: https://gerrit.libreoffice.org/19968 Reviewed-by: Noel Grandin <noelgrandin@gmail.com> Tested-by: Noel Grandin <noelgrandin@gmail.com>
2015-11-13tdf#95744: saving shape names re-enabledOliver Specht1-1/+1
commit c29657e0d6bb707345584ac7a7f5ae5016f37297 inverted one of the tests for SvXMLExportFlags::OASIS Change-Id: I523cecd4203c91d82a4e3e82b8457d2c55a5fff0 Reviewed-on: https://gerrit.libreoffice.org/19931 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Oliver Specht <oliver.specht@cib.de>
2015-11-115th step to remove tools/rtti.hxxOliver Specht173-440/+0
tools/rtti.hxx removed completed the interface of some Sdr.* Items and removed pseudo items Change-Id: I0cdcd01494be35b97a27d5985aa908affa96048a Reviewed-on: https://gerrit.libreoffice.org/19837 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Oliver Specht <oliver.specht@cib.de>
2015-11-11new loplugin: memoryvarNoel Grandin1-3/+3
detect when we can convert a new/delete sequence on a local variable to use std::unique_ptr Change-Id: Iecae4e4197eccdfacfce2eed39aa4a69e4a660bc Reviewed-on: https://gerrit.libreoffice.org/19884 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2015-11-10loplugin:nullptr (automatic rewrite)Stephan Bergmann207-1114/+1114
Change-Id: I8690de2cb68dcfedc9f2239ce66cea06fd94bc16
2015-11-09new loplugin: oncevarNoel Grandin9-66/+27
Change-Id: If57390510dde4d166be3141b9f658a7453755d3f Reviewed-on: https://gerrit.libreoffice.org/19815 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2015-11-06loplugin:stringconstant: elide explicit ctor usage (automatic rewrite)Stephan Bergmann15-74/+72
Change-Id: Ibb9372bc45a0bc0b9083ad0e405440bbbe5ef678
2015-11-05use uno::Reference::set method instead of assignmentNoel Grandin32-79/+70
Change-Id: I60e52ef2abc3107ba77e81811dfe1bffbfd77218
2015-11-05tdf#95510: SVG: Import stop-color and stop-opacityXisco Fauli1-3/+3
Change-Id: Ie073ff3e92c9344a78badfeefa0afed2c2b76fb8 Reviewed-on: https://gerrit.libreoffice.org/19731 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Katarina Behrens <Katarina.Behrens@cib.de>
2015-11-04tdf#93296 dashes in decimal part => 0 min decimal placesLaurent Balland-Poirier2-1/+4
During import, as well during export, "0.--" must be considered as 0 min decimal places Change-Id: I33d06dd95c0678660bc0bb222972f82ef54f2c6e Reviewed-on: https://gerrit.libreoffice.org/19647 Reviewed-by: Eike Rathke <erack@redhat.com> Tested-by: Eike Rathke <erack@redhat.com>
2015-11-04loplugin:stringconstantNoel Grandin18-111/+60
Change-Id: I6cc11a273902da8acdb6adbccccc31fe30ab274e Reviewed-on: https://gerrit.libreoffice.org/19768 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2015-11-02tdf#74608 xmloff: Constructor feature for XMLMetaImportComponent.kripton5-107/+42
Change-Id: I3f97625552bf993d67b537456e09c9acf3cba6b8 Reviewed-on: https://gerrit.libreoffice.org/19671 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Michael Stahl <mstahl@redhat.com>
2015-11-02xmloff: replace boost::ptr_vector with std::vectorMichael Stahl2-13/+11
Change-Id: I6aacf764513b8f789d925db2943f4bf6f0039674
2015-11-02xmloff: replace boost::ptr_vector with std::vectorMichael Stahl1-17/+17
Change-Id: Id7c1a28370f35fce7d885041a18e81a89defb69c
2015-11-02xmloff: replace boost::ptr_vector with std::vector<std::unique_ptr>Michael Stahl2-18/+17
Change-Id: Icb51f02ca761d683d926135fcaedc1164cd1ae8d
2015-11-02xmloff: replace boost::ptr_vector with std::vector<std::unique_ptr>Michael Stahl1-67/+72
Change-Id: I3270237a8691a5f5f4495be8cf2e290cac0b2fcd
2015-10-30UNO: no need to use OUString constructor when calling createInstanceNoel Grandin5-11/+6
Change-Id: I37da28539b94706574116d0fff5f008aabfb5526 Reviewed-on: https://gerrit.libreoffice.org/19682 Reviewed-by: Noel Grandin <noelgrandin@gmail.com> Tested-by: Noel Grandin <noelgrandin@gmail.com>
2015-10-30xmloff tree cleanupMario J. Rugiero5-56/+24
- Replaces for_each(*.begin(), *.end(), ...) by its range based for loop equivalents. - Replaces boost::bind calls by C++11 lambdas. - Cleans a few hacks made to workaround boost::bind limitations. Change-Id: Ie88cc651a2a835b03d5037e54e2a61ca93866310 Reviewed-on: https://gerrit.libreoffice.org/19678 Reviewed-by: Noel Grandin <noelgrandin@gmail.com> Tested-by: Noel Grandin <noelgrandin@gmail.com>
2015-10-29Initialize Sequence<beans::NamedValue> from initializer_listsNoel Grandin1-3/+1
Change-Id: I216dcbd983dcf3df79df9fda371b93114540a9d8
2015-10-27don't allocate rtl::Reference or SvRef on the heapNoel Grandin1-12/+6
There is no point, since it's the size of a pointer anyway Found by temporarily making their 'operator new' methods deleted. Change-Id: I265e40ce93ad4bad08b4f0bd49db08929e44b7d6 Reviewed-on: https://gerrit.libreoffice.org/19628 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Michael Stahl <mstahl@redhat.com>