This is a longstanding (at least since 2000: already present in commit
7b0b5cdf) error where left border linespace was used when calculating
right margin. It was copypasted from ww8 import to ooxml code verbatim.
The problem only manifests itself when left and right border spacings
are not the same; and since we had other errors in the borders import,
that additional problem simply wasn't apparent.
Also use scaled border width in border distance/margin calculations.
Unit tests updated.
Change-Id: I70961e1bde29471def69e1ef944ba2779cffe307
Reviewed-on: https://gerrit.libreoffice.org/51474
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
DOCX part was done in fb959e581c.
This commit fixes DOC part. Line width wasn't taken into account on
import; and export was done only with "from text" distance, which
gave poor interoperability with Word, where the borders were close
to page edge.
The common code is moved to editeng/source/items/frmitems.cxx and
include/editeng/boxitem.hxx.
Change-Id: I3d1d1312cb9dc9a9e00d9847ec11234cd787df60
Reviewed-on: https://gerrit.libreoffice.org/51366
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
UBSan build started to fail CppunitTest_sw_ooxmlexport8 with
> /include/tools/color.hxx:59:27: runtime error: value 258.5 is outside the range of representable values of type 'unsigned char'
> #0 0x2ad219182418 in Color::Color(basegfx::BColor const&) /include/tools/color.hxx:59:27
> #1 0x2ad219175e48 in (anonymous namespace)::lcl_compute3DColor(Color, int, int, int) /editeng/source/items/borderline.cxx:50:16
> #2 0x2ad219175574 in editeng::SvxBorderLine::threeDLightColor(Color) /editeng/source/items/borderline.cxx:77:12
> #3 0x2ad21917ea78 in editeng::SvxBorderLine::GetColorOut(bool) const /editeng/source/items/borderline.cxx:573:23
where lcl_compute3DColor had been called with (aMain=rgba(255, 255, 255, 255),
nLight=3, nMedium=40, nDark=83)
Change-Id: I0f4569d9fd9f54164efe395960bcc8a6840e7744
Reviewed-on: https://gerrit.libreoffice.org/51351
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
This is preparing to change how GraphicManager works where it
won't base itself around GraphicObject anymore but Graphic. No
functional or cosmetic change was made to the classes, only
changes that were needed because of the move and rename.
The only thing that wasn't moved is the GraphicRenderer as it
is not needed in vcl for now (but makes sense to move it in the
future to keep graphic stuff together).
grfmgr was renamed to GraphicObject as the GraphicManager will be
changed a lot and most likely moved out, so the name grfmgr won't
make any sense anymore.
All the UNO implementations were renamed with a prefix Uno and
used the same name as the class name. This is made to be more
specific which are the Uno objects (for example graphic.cxx
contained the implementation of XGraphic, which is similar to
graph.cxx contains Graphic).
Change-Id: I54a2fa6c7e997469aaa7770db05244adb9f64137
Reviewed-on: https://gerrit.libreoffice.org/51068
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
using
git grep -lwP "Color\s*\(\s*(COL_\w+)\s*\)"
| xargs perl -pi -e "s/Color\s*\(\s*(COL_\w+)\s*\)//g"
and then some manual fixup where the resulting expression no longer
compiled
Change-Id: I0e268d78611c3be40bba9f60ecfdc087a36c0df4
Reviewed-on: https://gerrit.libreoffice.org/50372
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Translated the enum values in editeng, but kept the their translation
references in editrids.hrc, to prevent a need to update translations.
"UPPERCASE" was used instead of "CAPS", in alignment to style::CaseMap.
The values in svxitems.sdi don't seem to be used anywhere, but
translated anyway.
Change-Id: I1b3a9a68ce814841819b361ce5767764e3b1968c
Reviewed-on: https://gerrit.libreoffice.org/50305
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Michael Stahl <mstahl@redhat.com>
because I
(a) forgot to insert parentheses which changes the meaning of some expressions and
(b) I now use the AdjustFoo calls when changing unary operations, which reads much better
This reverts commit 2096aac8b9.
Change-Id: I4b5941c4119b95aaefb9180a0ca95a1dbb4ec317
Reviewed-on: https://gerrit.libreoffice.org/49844
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
...as seen in UBSan builds when, on an image in Writer, selecting context menu's
"Properties..." to open the "Image" dialog, there'll be failure
> cui/source/tabpages/grfpage.cxx:206:21: runtime error: downcast of address 0x00001293f5c0 which does not point to an object of type 'const SvxSizeItem'
> 0x00001293f5c0: note: object is of type 'SwFormatFrameSize'
00 00 00 00 68 d5 ea aa 8f 7f 00 00 01 00 00 00 43 27 00 00 81 2e 00 00 00 00 00 00 c5 41 00 00
> ^~~~~~~~~~~~~~~~~~~~~~~
> vptr for 'SwFormatFrameSize'
> #0 0x7f8f1ec29a34 in SvxGrfCropPage::Reset(SfxItemSet const*) cui/source/tabpages/grfpage.cxx:206:21
> #1 0x7f9036000d98 in SfxTabDialog::ActivatePageHdl(TabControl*) sfx2/source/dialog/tabdlg.cxx:1115:19
Moved the {Get,Set}{Width,Height} convenience functions down from
SwFormatFrameSize to SvxSizeItem. And "reverted" the SvxSizeItem
{Has,Scale}Metrics overrides in SwFormatFrameSize, "just in case." Renamed
SvxSizeItem::aSize to m_aSize to avoid GCC -Werror=shadow in
SwFormatFrameSize::dumpAsXml (sw/source/core/layout/atrfrm.cxx), which has a
local variable named aSize.
Change-Id: I9a2e0b19f21c1468ecba87a5bdafa40c8c424ae4
Reviewed-on: https://gerrit.libreoffice.org/49678
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
look for possibly bogus implicit conversions to bool when passing
(normally pointer) args to bool params.
this plugin comes in the wake of a couple of bugs caused by refactoring,
where some of the call sites were not currently updated.
Of the changes, the following are real bugs:
desktop/../dp_persmap.cxx
StartInputFieldDlg
in sw/../fldmgr.cxx
which occurred as a result of
commit 39d719a80d
Date: Tue May 3 11:39:37 2016 +0200
tdf#99529 sw: don't pop up input field dialog before inserting field
CSerializationURLEncoded::encode_and_append in
forms/../serialization_urlencoded.cxx
XclExpCFImpl::XclExpCFImpl
in sc/../xecontent.cxx
I have no idea how to properly fix this, just made a guess.
SwDocTest::test64kPageDescs
in sw/qa/core/uwriter.cxx
which looks like a simple copy/paste error.
Change-Id: I795ebd5ef485a1d36863dc27fe13832989f5a441
Reviewed-on: https://gerrit.libreoffice.org/48291
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Tested-by: Noel Grandin <noel.grandin@collabora.co.uk>
auto-rewrite with <https://gerrit.libreoffice.org/#/c/47798/> "Enable
loplugin:cstylecast for some more cases" plus
solenv/clang-format/reformat-formatted-files
Change-Id: I09a4d688e6f3c1ecbe05a7d27ebd955e8ba1eb65
(after a to-be-committed improved loplugin:cstylecast would have rewritten the
C-style casts into static_casts)
Change-Id: I44210b93101c128a7f931816e4d2c71335117df3
For transformed FlyFrames with no Border and no Padding it
would be nice to immediately start using AutoContour, added
first implementation to do so.
Added several conditions for AutoContour, need to
work on reaction on changes to these. Corrected
needed transform adaptions to Contour(s)
Change-Id: Ia3d7845fd5d50c8a413d592ae07ce2041ccc91b9
cause that's what its really used for and a couple of cases
are not specifically about avoiding config but avoiding uninteresting
disk acccess and what not
Change-Id: I4c6454f98388579fcd0bf9798321d30408ab65ee
Reviewed-on: https://gerrit.libreoffice.org/44491
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
Impress has a limited support for fields - this includes support
for DocInfo.Custom field, which shows the user defined custom
fields that are used in TSCP. This commit adds minimal support
(only what is needed for TSCP) for DocInfo.Custom field but only
supports string fields for now. It is not possible to add the field
manually, at least not until the full support is added.
Change-Id: Ib3b73ab22fd4fe65ab6fb5173fe035a3359deea5
Reviewed-on: https://gerrit.libreoffice.org/44041
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
Insert constructor everywhere, except a couple places that apparently
want to compare GetMapUnit().
Change-Id: I1910deb60562e5e949203435e827057f70a3f988
("explicit conversion (NoOp) from 'const bool' to 'bool' implicitly cast back to
'const bool'", seen now with a recent trunk Clang 6, and with experimentally
enabling -std=gnu++17 for the LO build; not sure what caused this to be
triggered only now for me)
Change-Id: I5310961b1d50870d3ae06554e4cb37e12ac68151