Age | Commit message (Collapse) | Author |
|
This reverts commit 2cb90a5c87fe46737c8d840967d8836284f92ffd.
Revert the change to EscherPropertyContainer, which was completely
bogus, based on pre-existing bogus code in VMLExport::Commit().
The problem is that ESCHER_Wrap values are for wrapping text *inside* a
text box, which is "mso-wrap-style" in VML, whereas VML's w10:wrap
element defines how text wraps *around* a shape, doesn't exist as an
ESCHER property and is specific to Word formats.
Instead, export the w10:wrap element in VMLExport::EndShape().
This has 2 callers, WriteActiveXControl() and writeVMLDrawing().
Furthermore the value "none" wasn't written for WrapTextMode_THROUGH,
which caused the wrap element to be omitted in that case.
Change-Id: Id4a01fcb2ea73fa9bef4ee8769b5e0680e059f15
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/103009
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl@cib.de>
|
|
...from which an OUString can cheaply be instantiated. This is the OUString
equivalent of 4b9e440c51be3e40326bc90c33ae69885bfb51e4 "Turn OStringLiteral into
a consteval'ed, static-refcound rtl_String". Most remarks about that commit
apply here too (this commit is just substantially bigger and a bit more
complicated because there were so much more uses of OUStringLiteral than of
OStringLiteral):
The one downside is that OUStringLiteral now needs to be a template abstracting
over the string length. But any uses for which that is a problem (e.g., as the
element type of a container that would no longer be homogeneous, or in the
signature of a function that shall not be turned into a template for one reason
or another) can be replaced with std::u16string_view, without loss of efficiency
compared to the original OUStringLiteral, and without loss of expressivity.
The new OUStringLiteral ctor code would probably not be very efficient if it
were ever executed at runtime, but it is intended to be only executed at compile
time. Where available, C++20 "consteval" is used to statically ensure that.
The intended use of the new OUStringLiteral is in all cases where an
object that shall itself not be an OUString (e.g., because it shall be a
global static variable for which the OUString ctor/dtor would be detrimental at
library load/unload) must be converted to an OUString instance in at least one
place. Other string literal abstractions could use std::u16string_view (or just
plain char16_t const[N]), but interestingly OUStringLiteral might be more
efficient than constexpr std::u16string_view even for such cases, as it should
not need any relocations at library load time. For now, no existing uses of
OUStringLiteral have been changed to some other abstraction (unless technically
necessary as discussed above), and no additional places that would benefit from
OUStringLiteral have been changed to use it.
Global constexpr OUStringLiteral variables defined in an included file would be
somewhat suboptimal, as each translation unit that uses them would create its
own, unshared instance. The envisioned solution is to turn them into static
data members of some class (and there may be a loplugin coming to find and fix
affected places). Another approach that has been taken here in a few cases
where such variables were only used in one .cxx anyway is to move their
definitions from the .hxx into that one .cxx (in turn causing some files to
become empty and get removed completely)---which also silenced some GCC
-Werror=unused-variable if a variable from a .hxx was not used in some .cxx
including it.
To keep individual commits reasonably manageable, some consumers of
OUStringLiteral in rtl/ustrbuf.hxx and rtl/ustring.hxx are left in a somewhat
odd state for now, where they don't take advantage of OUStringLiteral's
equivalence to rtl_uString, but just keep extracting its contents and copy it
elsewhere. In follow-up commits, those consumers should be changed
appropriately, making them treat OUStringLiteral like an rtl_uString or
dropping the OUStringLiteral overload in favor of an existing (and cheap to use
now) OUString overload, etc.
In a similar vein, comparison operators between OUString and std::u16string_view
have been added to the existing plethora of comparison operator overloads. It
would be nice to eventually consolidate them, esp. with the overloads taking
OUStringLiteral and/or char16_t const[N] string literals, but that appears
tricky to get right without introducing new ambiguities. Also, a handful of
places across the code base use comparisons between OUString and OUStringNumber,
which are now ambiguous (converting the OUStringNumber to either OUString or
std::u16string_view). For simplicity, those few places have manually been fixed
for now by adding explicit conversion to std::u16string_view.
Also some compilerplugins code needed to be adapted, and some of the
compilerplugins/test cases have become irrelevant (and have been removed), as
the tested code would no longer compile in the first place.
sal/qa/rtl/strings/test_oustring_concat.cxx documents a workaround for GCC bug
<https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96878> "Failed class template
argument deduction in unevaluated, parenthesized context". That place, as well
as uses of OUStringLiteral in extensions/source/abpilot/fieldmappingimpl.cxx and
i18npool/source/localedata/localedata.cxx, which have been replaced with
OUString::Concat (and which is arguably a better choice, anyway), also caused
failures with at least Clang 5.0.2 (but would not have caused failures with at
least recent Clang 12 trunk, so appear to be bugs in Clang that have meanwhile
been fixed).
Change-Id: I34174462a28f2000cfeb2d219ffd533a767920b8
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/102222
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
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>
|
|
Change-Id: Ib6e1350519d1da5f704a4799a7cbcd1b76cdb050
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/97690
Tested-by: Jenkins
Reviewed-by: Andras Timar <andras.timar@collabora.com>
|
|
Change-Id: Ib3c8dc4e98ca46026ec9a8171bae4066bcec7b22
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/102176
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Regression from commit 8fc1b60f62c213a0476f3acc9f89cd5eccbf335d (sw SVG
export: try to reuse original bitmap data for JPG and PNG bitmaps,
2020-02-27), which generalized the code that tries to get the original
bitmap of shapes for performance reasons. Originally this worked with
SdrGrafObj, but now we try every XShape which has a Graphic property.
Add the missing check, so shapes without a graphic property just miss
the fast path, but doesn't fail the entire SVG export.
Change-Id: I6b20083110f3269337b9df6a23bd193cc6f7d13b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/102187
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Tested-by: Jenkins
|
|
(This change is a prerequisite for making the OUString ctor taking a raw pointer
explicit.)
Change-Id: I7a61a709c3a4950d067ed600a7c0441afe51043f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/102088
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
(This change is a prerequisite for making the OUString ctor taking a raw pointer
explicit.)
Change-Id: Ifc7450591c723223e8c696110866e8ee5e2900e0
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/102087
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
Change-Id: I9bf0e51461ed75fd89bd7b23a8a11df8458dfe15
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/101986
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
It passed "make check" on Linux
Change-Id: Ifd5198f76bc9e91c311364348cb8f5dc6e3fea87
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/101772
Tested-by: Jenkins
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
|
|
Change-Id: I473956d570feac508e52a3e52cc26cc154f4dc56
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/101627
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
Tested-by: Jenkins
|
|
It passed "make check" on Linux
Change-Id: I45a05751219cd8f39240152e208b8c9eae0433ec
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/101606
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
It passed "make check" on Linux
Change-Id: I17cf6ce88140f3739f7383b181a7e2b8711e3a6f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/101593
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
This is a prerequisite for making conversion from OUStringLiteral to OUString
more efficient at least for C++20 (by replacing its internals with a constexpr-
generated sal_uString-compatible layout with a SAL_STRING_STATIC_FLAG refCount,
conditionally for C++20 for now).
For a configure-wise bare-bones build on Linux, size reported by `du -bs
instdir` grew by 118792 bytes from 1155636636 to 1155755428.
In most places just a u"..." string literal prefix had to be added. In some
places
char const a[] = "...";
variables have been changed to char16_t, and a few places required even further
changes to code (which prompted the addition of include/o3tl/string_view.hxx
helper function o3tl::equalsIgnoreAsciiCase and the additional
OUString::createFromAscii overload).
For all uses of macros expanding to string literals, the relevant uses have been
rewritten as
u"" MACRO
instead of changing the macro definitions. It should be possible to change at
least some of those macro definitions (and drop the u"" from their call sites)
in follow-up commits.
Change-Id: Iec4ef1a057d412d22443312d40c6a8a290dc6144
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/101483
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
Change-Id: I4af15c4503dbd8953c1caf2a51a09f41b94ca6f0
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/101359
Tested-by: Jenkins
Reviewed-by: Andras Timar <andras.timar@collabora.com>
|
|
typo in xslt about comparison operator
Change-Id: I0ccf0babbf10b77b99c727afccc8c4ddcedb1acc
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/101335
Tested-by: Jenkins
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
|
|
Change-Id: Ieebf8bc3051d1f6b99cf72629aa411e27de21640
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/101403
Tested-by: Jenkins
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
|
|
It had been documented as "the macro OSL_THIS_FUNC is intended to be an office
internal macro for now", so take the liberty of removing it, even if technically
that can be considered an incompatible API change.
Change-Id: I7580a932e1da54845934378a650e894f3f3a9062
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/101406
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
otherwise testSwappingPageNumber will crash accessing out of
bounds element in vector.
Change-Id: I07499e79d523931e1f3cc02a5150f033e1ea9578
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/101094
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: I9ca7fe0c01c965457367df002c7e27aaf688c6ce
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/101089
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
|
|
Change-Id: I58c510121a9f535b2a31854f10b5f6535554d379
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/100988
Tested-by: Jenkins
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
|
|
Change-Id: I683175c1e788a2a4cfec9504dc8dc3ebfee7c5de
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/100858
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: Ie429a10a8f54c6779d437ee4bc75a5ea0c427848
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/100727
Tested-by: Jenkins
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
|
|
look for expressions like
!(a && !b)
which can be expanded out
Change-Id: I72515a9638762b050f9a258c08da39ebfa2ef8e7
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/100579
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: I8fdf9833dede6f4c9ba4bbb76b9ab9b6b419f155
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/100722
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
we're not in DOS anymore, Dorothy
Change-Id: I79926e0d694163940ba7ebf20419724dd0a486f5
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/100721
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Add some API to O*StringLiteral, to make it easier
to use in some places that were using O*String
Change-Id: I1fb93bd47ac2065c9220d509aad3f4320326d99e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/100270
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
There's a paucity of working wrapping modes in Escher unfortunately.
Change-Id: Ibaf99c3249a6492dc129f9c9b5707778038f9a4c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/100331
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl@cib.de>
|
|
("the source reference is already a subtype of the destination reference")
Change-Id: I1183eaa2015bd9d6567001bb14f7809dffcae7ba
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/100088
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
As pstoedit documents itself, its wmf/emf driver uses a very approximate
interletter spacing, making the text look really awful. But it provides a
-nfw option that delegates the letter placement to the emf reader, and we
happen to be doing a proper job, thus getting a proper vectorized output.
This is not a concern on Windows (and the option is ignored there). The
option is available since version 3.40 (~2005). So we can just always pass
it on.
Change-Id: I8ffd3fbf046b5a80e8011651eeaf060a8f5107e2
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/100035
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl@cib.de>
|
|
Recheck after 7-0 branchoff
Also drop the now unused file include/vcl/field.hxx
Found with bin/find-unneeded-includes
Only removal proposals are dealt with here.
Change-Id: I9e54c82f50d1e02a0f99858939cac999fc66f7de
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/99261
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
|
|
See tdf#74608 for motivation.
I have changed this from single-instance to multi-instance to avoid loplugin:staticvar
and because I can't see a good reason for a dialog to be single-instance
Change-Id: Ic7c917fd4923dce11466069e9531bf44989a1ae9
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/99421
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: Ie3b6681cb4ae8c1138766db7b19cc473367bfbd7
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/99422
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
See tdf#74608 for motivation.
Change-Id: I4423d3acd0a3c77bb7e553511e296f682f87b3e3
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/99419
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Extend SVGTextWriter::setTextPosition(), so when it looks for a text
action in a metafile, it recurses into transparency groups, so the text
is not lost.
Extract part of SVGActionWriter::ImplWriteMask() into a new StartMask(),
so we can detect the case when the transparency group has a constant
alpha, i.e. no complex mask is needed, just an opacity value.
When looking for text, remember if we saw a request for text opacity and
make the transparency group writing in SVGActionWriter::ImplWriteMask()
conditional to avoid duplication. This is needed because once we're
inside <text>, we don't want to write an invalid transparency group via
<g>, rather we want a fill-opacity on the existing <tspan>.
With this, the SVG export is on par with PDF export for semi-transparent
shape text.
Change-Id: If43b0ab3446015299acc4b37590358867c5fac5f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/98937
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Tested-by: Jenkins
|
|
Change-Id: I240bff8de9489d3c0c9c9be6b31ce7e15661bff8
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/98922
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Instead move the constants from filter to comphelper and reuse them.
Change-Id: Ib7061e9028ccf6067b4e86f50145c1472c2b01d4
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/98785
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
|
|
This adds TEXTLANGUAGE to "unsupported" actions, so that it is
not logged as a warning, when we get a metafile with such action.
Change-Id: I1afb3ce48e4526d7c9e623fe4571b8953f9a8ebb
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/98629
Tested-by: Jenkins
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
|
|
In PSWriter::ImplWriteF(), (nCount + 1) - nLen used to be unsigned long
but now it's unsigned 32-bit int so on 64-bit platform values > 2^31
no longer init nStSize to negative values.
(regression from cf82475c785c47327cdc9d591d63d7a82dd1ac53)
Change-Id: Ib17537cf67c80883f10cf2a3b7e38d6a8f8dfcb7
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/98654
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl@cib.de>
|
|
Change-Id: I0b94689af645249f4142422d6bd2ec772f3bd373
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/98659
Reviewed-by: Michael Warner <michael.warner.ut+libreoffice@gmail.com>
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
Tested-by: Julien Nabet <serval2412@yahoo.fr>
|
|
See tdf#74608 for motivation.
Change-Id: I4de7d1b5822422bd7f85f09114c1e6ceb98551d8
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/98611
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
See tdf#74608 for motivation.
Change-Id: I28b6c5a532f55c88bad46573c123f92766b5af91
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/98610
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
See tdf#74608 for motivation.
Change-Id: I7bc7e89699173966406272138301a4ca2422281d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/98609
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
See tdf#74608 for motivation.
Change-Id: Ieb73f2a75804013383195130e16472cc671a4ac8
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/98598
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
See tdf#74608 for motivation.
Change-Id: I6a049364726327d1be10f72174aced5bade271a4
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/98571
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
See tdf#74608 for motivation.
Change-Id: I7329893b62a9fb511535f6caadcdb6e007aadfd7
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/98580
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
See tdf#74608 for motivation.
Change-Id: Icf7829977f4225ec40a63f5f2b8cf23ab360e883
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/98570
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
See tdf#74608 for motivation.
Change-Id: I44392add5b0ed6d3184e4ecdd2e8da729a78169c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/98569
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
See tdf#74608 for motivation.
Change-Id: Ie16b3a2a11c4b5fee579c05d041d287d753ab2a8
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/98567
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
See tdf#74608 for motivation.
Change-Id: I7aae8e370a31a69f84dcbb4372077e5b8e0781fe
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/98566
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|