summaryrefslogtreecommitdiff
path: root/writerfilter
AgeCommit message (Collapse)AuthorFilesLines
2014-10-21WaE: unused parametersTor Lillqvist1-0/+2
Change-Id: I080677b1add4f82315ed063af2478c9e41d267ac
2014-10-20DOCX import: fix <w:pageBreakBefore> wrt. inherited stylesMiklos Vajna1-4/+1
We used to ignore this element with a "false" logical attribute, but that causes a problem when an inherited style wants to explicitly disable this element from a parent style. Change-Id: I2fc4c5b2002987d44679d863ea3f19114b9ab7a4
2014-10-19fdo#83464 RTF import: \plain should reset \rtlch and \hich as wellMiklos Vajna1-0/+2
Regression from 36246aa9fb57c9fe4e546c91a8274d8828b1424e (RTF import: fix handling of \loch \hich \dbch \ltrch \rtlch, 2014-06-03), now that \f no longer means the ascii font name, \plain should reset a few more parser state members. Change-Id: Ia6b0bdf25563dd5300e108b46731751f0886f67d
2014-10-18i#74153 RTF import: fix track changes vs superscript char propMiklos Vajna2-2/+15
Since 9dbf817fe5c5253fba0831aefa17575ae0ba3af1 (handle scope of w:pPrChange and w:rPrChange properly (bnc#821804), 2014-10-01), this caused an assertion failure -> crash. Change-Id: I680edf58854d0c9be6e77c44c1e6beb1e0442a49
2014-10-17UBSan: Don't force sal_Int32/float values into sal_uInt32Stephan Bergmann1-4/+10
...overload of TagLogger::attribute. Not withstanding that function looks just silly anyway. Change-Id: I6cc3c5004884e564aac1397cab6eb6fae7a06f7e
2014-10-17Work around Clang 3.2 -Wnull-conversion bugStephan Bergmann25-169/+169
...by running all of writerfilter through loplugin:nullptr rewriter Change-Id: Ie6ec5dd989dc2035ccd10941bc38e557e128be0f
2014-10-17DOCX import: parse <w:spacing>'s w:before/afterLines attributeMiklos Vajna1-4/+8
Change-Id: I63b3afda5e8915b562de51aa31e420c135f919ba
2014-10-17writerfilter: Fix various Clang warningsStephan Bergmann7-27/+6
Change-Id: I733bcf8e02e659ef18ee9c2be4ad4e9f107fe7c6
2014-10-17error: use of undeclared identifier 'sResult'Miklos Vajna1-1/+1
Change-Id: I80f71b16896cd028c9b5d60b243fc5cd825d3c23
2014-10-17DEBUG_DOMAINMAPPER -> DEBUG_WRITERFILTERMiklos Vajna45-236/+236
As it's used in the tokenizers as well. Change-Id: I7a78cad0414c724f33b50315a45a5ff2c941f4db
2014-10-17fix incremental buildMiklos Vajna9-17/+15
Change-Id: I28dd6c72c665abd95be6d14dc629296850e03e1d
2014-10-16writerfilter: make dmapper logging a runtime decision, not a buildtime oneMiklos Vajna6-4/+26
It's still only enabled in debug builds, but it now requires an environment variable, not rebuilding with dbglevel=2. Change-Id: I970c7bfe0b3f547429ef37f37406a095a60c34ff
2014-10-16fdo#84854 it seems long is not enough on 32 bitDavid Tardon2-8/+8
Fraction used BigInt internally for computations, rational does nothing like that. Change-Id: I3e9b25074f979bc291208f7c6362c3c40eb77ff5
2014-10-16fdo#77716 DOCX import: fix handling of user-defined Standard styleMiklos Vajna1-4/+24
Change-Id: I2cbd9cc0848bfb302bfa0c463a810e7f8231e47b
2014-10-16writerfilter: check for DEBUG_DOMAINMAPPER, not OSL_DEBUG_LEVEL explicitlyMiklos Vajna12-33/+16
Previously code only built if DEBUG_DOMAINMAPPER was exactly defined with OSL_DEBUG_LEVEL was > 1, as they these conditions were used for the same purpose. Change all this dmapper XML dumping code to consistently use DEBUG_DOMAINMAPPER, so later it'll be possible to change when it's defined without breaking the build. Change-Id: I32442cf098162c7d7c9eb7c454094685ab654b74
2014-10-16writerfilter: fix include guardMiklos Vajna1-3/+3
Change-Id: I8c5c8a4e8fbb6e6a2e955c4f544786a2256e6342
2014-10-16DEBUG_WRAP_POLYGON_HANDLER would be never definedMiklos Vajna1-6/+2
Change-Id: I24e1379d136122906deddd298e456728b3be0956
2014-10-15writerfilter: call to SAL_WARN() is not expensiveMiklos Vajna5-49/+10
So guards like '#if OSL_DEBUG_LEVEL > 0' around it can be dropped in most cases. Also, dumping the hex value of token IDs no longer makes sense, now that doctok is gone. Change-Id: I2c0d466e4bdde63d271a83aa4e7eebb52294e363
2014-10-15More -Werror,-Wunused-private-fieldStephan Bergmann2-2/+0
...detected with a modified trunk Clang with > Index: lib/Sema/SemaDeclCXX.cpp > =================================================================== > --- lib/Sema/SemaDeclCXX.cpp (revision 219190) > +++ lib/Sema/SemaDeclCXX.cpp (working copy) > @@ -1917,9 +1917,10 @@ > const Type *T = FD.getType()->getBaseElementTypeUnsafe(); > // FIXME: Destruction of ObjC lifetime types has side-effects. > if (const CXXRecordDecl *RD = T->getAsCXXRecordDecl()) > - return !RD->isCompleteDefinition() || > - !RD->hasTrivialDefaultConstructor() || > - !RD->hasTrivialDestructor(); > + return !RD->hasAttr<WarnUnusedAttr>() && > + (!RD->isCompleteDefinition() || > + !RD->hasTrivialDefaultConstructor() || > + !RD->hasTrivialDestructor()); > return false; > } > > @@ -3517,9 +3518,11 @@ > bool addFieldInitializer(CXXCtorInitializer *Init) { > AllToInit.push_back(Init); > > +#if 0 > // Check whether this initializer makes the field "used". > if (Init->getInit()->HasSideEffects(S.Context)) > S.UnusedPrivateFields.remove(Init->getAnyMember()); > +#endif > > return false; > } to warn about members of SAL_WARN_UNUSED-annotated class types, and warn about initializations with side effects (cf. <http://lists.cs.uiuc.edu/pipermail/cfe-dev/2014-October/039602.html> "-Wunused-private-field distracted by side effects"). Change-Id: I3f3181c4eb8180ca28e1fa3dffc9dbe1002c6628
2014-10-15fdo#82860 RTF import: fix handling of SHAPE fieldsMiklos Vajna1-12/+18
No need to use fieldmarks for these. Change-Id: I8d2c797f2b00be88e445dab0dd69cb1a9556c02c
2014-10-14fdo#82071 RTF import: get rid of unexpected underlining in TOC fieldMiklos Vajna1-0/+5
Regression from commit 9679e9c23216decb5f9f25f85b04cb3f25211111 (fdo#69649 Fix for pre-rendered Table Of Contents, 2013-12-30), now that we handle hand-edited TOC, it's necessary to properly track correctly if a property came from a style or as a direct formatting. Fix RTFDocumentImpl::getProperties() to detect direct formatting that cames from a char style and would result in attribute tokens. Change-Id: Iab5a14770de43249961c280a5dc698200abc8f49
2014-10-13Use comphelper::SequenceAsVectorMiklos Vajna1-16/+6
Change-Id: I0af333551bdd32400b795d37de0d6240e68dd6b6
2014-10-13create a macro library for implementing bit-flags typesNoel Grandin1-1/+1
Signed-off-by: Stephan Bergmann <sbergman@redhat.com>, changed from a macro- to a template-based solution. (Unfortunately MSVC 2012 does not support explicit conversion operators. Worked around that with explicit #ifs rather than some HAVE_EXPLICIT_CONVERSION_OPERATORS and SAL_EXPLICIT_CONVERSION_OPERATOR ainticipating we hopefully soon move to a baseline that requires unconditional support for them.) Change-Id: I4a89643b218d247e8e4a861faba458ec6dfe1396
2014-10-13Avoid manual realloc, use comphelper::SequenceAsVector insteadMiklos Vajna2-18/+21
Change-Id: I26c6bcf7361bbb787fcb4133d05b0a668fd72d01
2014-10-12Remove dead codeMiklos Vajna1-35/+0
Only doctok produced these tokens, so no need to handle them anymore. Change-Id: Ied7df2515ac86562dd5ce782a1f01158fe3f684e
2014-10-12Clean up now unnecessary boost::bind() magic in RTFSdrImport::initShape()Miklos Vajna1-6/+4
Change-Id: Ie373098959f8b3e04fe955a08031a4221faab3cc
2014-10-12RTF filter: fix \acc* handlingMiklos Vajna1-5/+5
The exporter didn't write circle and underdot at all. Change-Id: Ia8f45f2b03fb14e9a0027ec24ee7f36adc8c018d
2014-10-12DOCX filter: fix <w:em> handlingMiklos Vajna1-4/+4
The real news here is that "comma" and "dot" was swapped on export, the rest is just a fixup of recent breakage. Change-Id: I54045f5837652dc38a30361e21ced25aeaf58257
2014-10-12Typo: compatability->compatibilityJulien Nabet1-1/+1
Change-Id: If0b98a30452a9d1fcc340173deb6856755926471
2014-10-11error C2677: binary '*' : no global operator foundMiklos Vajna1-1/+1
Change-Id: I13899545421fa710a590cde042e142cdb3293c7c
2014-10-11writerfilter: drop support for simple list types without constantsMiklos Vajna1-5/+2
In other words, from now it's a must to map ST_Foo simple types to NS_ooxml::LN_something constants, and raw integers (which are hard to grep and hard to track down where are they used) are no longer an option. Change-Id: I968b27bca3f64f6f4a382b87e2dbc499a3132ea2
2014-10-10indentation fixesMiklos Vajna2-6/+6
Change-Id: I56664b455383f69137399e4c5fb28521ef813287
2014-10-10fdo#84679 RTF import: fix paragraph spacing handling in tablesMiklos Vajna1-4/+5
Regression from commit 1be0a3fa9ebb22b607c54b47739d4467acfed259 (n#825305: writerfilter RTF import: override style properties like Word, 2014-06-17), we failed to do the proper deduplication in buffered content, like tables. Fix this by adapting RTFDocumentImpl::replayBuffer() to RTFDocumentImpl::checkNeedPap(), which already did the proper deduplication. To be fair, the inconsistency was there earlier since 9f5263c477b82fef5aa9c3e79fb6af92aa049e24 (fdo#44736 RTF import: ignore direct formatting which equals to style, 2012-11-25), but it caused no real harm earlier. Change-Id: I0673408088d9d83768f0780ea92ece87913d03f3
2014-10-10DOCX import: map <wp:effectExtent>Miklos Vajna1-7/+34
Change-Id: Ibdfdca37009df3f518133e85d1daef3a4fea9073
2014-10-10writerfilter: tokenize <wp:effectExtent> attributesMiklos Vajna1-0/+4
Change-Id: Ie4f4182e92dfd06b283dc86f5bfd611d7842a504
2014-10-10cid#1244941 Invalid iterator comparisonNoel Grandin1-4/+10
this is just a false+, but creating a local var will likely fix it Change-Id: Ia02e04098a70102c70f5fe5ecd156eea6f40d2af
2014-10-10Use constants for ST_StyleType valuesMiklos Vajna3-12/+13
Change-Id: I57ca4ef567126321ab745c8d1d7290b66df23c05
2014-10-09fdo#81356: convert Fraction to boost::rational<long> - wipJuan Picca2-11/+11
* Added rational util functions used by Fraction class not available in the boost::rational class. * Replaced usage of Fraction by boost::rational<long> * Removed code that relies on: 1. fraction.IsValid() -- rational only allow valid values, ie denominator() != 0 2. rational.denominator() == 0 -- always false 3. rational.denominator() < 0 -- always false but implementation detail: http://www.boost.org/doc/libs/release/libs/rational/rational.html#Internal%20representation * Simplified code that relies on: 1. rational.denominator() != 0 -- always true * BUGS EXIST because Fraction allows the creation of invalid values but boost::rational throws the exception boost::bad_rational Change-Id: I84970a4956afb3f91ac0c8f726547466319420f9 Reviewed-on: https://gerrit.libreoffice.org/11551 Reviewed-by: David Tardon <dtardon@redhat.com> Tested-by: David Tardon <dtardon@redhat.com>
2014-10-09Use constants for ST_TblStyleOverrideType valuesMiklos Vajna2-16/+55
Change-Id: I61a81bf1aab604d27441630dfb5d55f657211410
2014-10-08Use constants for ST_PresetColorVal valuesMiklos Vajna1-140/+140
Again no need to adapt dmapper/rtftok for these, see commit 020f46d17065b8b00365eab7a809ce980ebfb59a (Use constants for ST_Em values, 2014-10-07). Change-Id: Ie67f7a4d251525b5f8799cf613bea56ad82f7a57
2014-10-08spelling: instanciated -> instantiatedNoel Grandin1-1/+1
Change-Id: I99f3010e30f81786b938dc11736ea1597cd5530d
2014-10-08Use constants for ST_CombineBrackets valuesMiklos Vajna3-12/+31
Change-Id: I307d7833fb5556c5509edd698b4b5ecd7b7a5fb3
2014-10-07kde#52609 RTF import: fix memory leakMiklos Vajna1-0/+16
This is similar to f7ef84640258e4ee6ddc4cc5cbf58a2d89860afa (abi#2128 RTF import: fix memory leak, 2013-11-28). Change-Id: Id57320466e6fb302ec8616ccc9f4f9429b8eff21
2014-10-07DOCX import: handle section break right after a ToC fieldMiklos Vajna2-0/+36
The symptom was that during the handling of the XE field, we tried to access the top of the text append stack, but the stack was empty. The situation is the following: 1) There is a multi-page TOC field. 2) The page break inside the field is described using a section break, featuring headers, and the header contains a field that we map to a fieldmark. 3) There is an XE field after all this. The root cause was that during parsing of the header, some of the state should be stashed away and restored when we're done. The new HeaderFooterContext does exactly this, and now the number of push/pop calls on the text append context match again. Change-Id: I10f259fd9edb8bd719ae5bc8a43ed5ef8c708071
2014-10-07fix nullptr/boost compile errorBjoern Michaelsen1-1/+3
error: no match for ternary ‘operator?:’ in ‘((writerfilter::dmapper::DomainMapper_Impl*)this)->writerfilter::dmapper::DomainMapper_Impl::m_aFieldStack.std::stack<_Tp, _Sequence>::empty<boost::shared_ptr<writerfilter::dmapper::FieldContext>, std::deque<boost::shared_ptr<writerfilter::dmapper::FieldContext>, std::allocator<boost::shared_ptr<writerfilter::dmapper::FieldContext> > > >() ? nullptr : ((writerfilter::dmapper::DomainMapper_Impl*)this)->writerfilter::dmapper::DomainMapper_Impl::m_aFieldStack.std::stack<_Tp, _Sequence>::top<boost::shared_ptr<writerfilter::dmapper::FieldContext>, std::deque<boost::shared_ptr<writerfilter::dmapper::FieldContext>, std::allocator<boost::shared_ptr<writerfilter::dmapper::FieldContext> > > >()’ Change-Id: I76c7507390bcf80f6ca722c4eedfd65c9a46952f
2014-10-07coverity#735573 Logically dead codeCaolán McNamara1-1/+1
Change-Id: I4635e974b7812ed5fbc95bd65b7108bb99235661
2014-10-07-Werror=sign-compareMiklos Vajna7-14/+14
Change-Id: Ic96b85c5c4995f47781eceb6a426a29d8b7679ea
2014-10-07Use constants for ST_Em valuesMiklos Vajna1-5/+5
No need to adapt dmapper/rtftok for this one, as those do not handle <w:em> ATM. Change-Id: I88da1d0dae804e3d054b7d4158a81cb64cc4b600
2014-10-06encrypt sf_508f4e1..rtf to avoid it triggering virus detectionCaolán McNamara2-0/+0
use name CVE-pseudo-2009-0238-1.rtf to record its detected as Virus:Trojan.Mdropper and pseudo because its just a fuzzed file from some random .rtf and not an original reproducer for CVE-2009-0238 Change-Id: I85f6a72e0d32c14ea27cbe03bc4da3c2306fd1f5
2014-10-06Use constants for ST_Shd valuesMiklos Vajna3-235/+180
Change-Id: If8fbccf946f589abead0803b7ecbc63ecfc656b2