- abstract base class reduces boilerplate
- Pimpl is pointless here, except for SolarMutex, which is handled by
overriding release
Change-Id: I191dc0fecd25937f41fd724355e88c04da89db61
The bugdoc has a fill-gradient-name that refers to a non-existent
gradient and also draw:fill="solid"; handle this combination without
exception.
Change-Id: I2c912b28a6b1550e2e4c6c71ff8889ae1779c618
... which was apparently written by LO >= 4.1 on a frame with image
background, under unknown circumstances.
Change-Id: Ie86643ab67f58bfe5c19d6a1f80a7af8f793edf2
... bitmap backgrounds of frames. OOo/LO versions <= 4.3 wrongly write
fo:background-color="transparent" style:background-transparency="100%"
for bitmap backgrounds, because of a stupid API implementation with
SvxBrushItem. They overwrite that with draw:opacity="100%" on the child
element style:background-image, which we don't read if we see draw:fill
attributes, so ignore the background-transparency in that case.
(regression from 5aa360cae0)
Change-Id: I4ca59d8932a8e5d034c35543a54528198ad7d51c
The emulation of legacy RES_BACKGROUND properties claims that (unless
fillstyle is NONE) all of them are direct values, which causes export of
legacy attributes like style:background-transparency without
corresponding non-legacy draw:opacity.
Especially problematic for style:background-transparency, which is set
to 100% if style is bitmap, which is the reasonable default for API
backward compatibility of BackColorTransparency, but wrong for ODF.
Change-Id: I1fa4fa5df45eb00cbfcd2e171b4862c4e195cc7d
ie.
void f(void);
becomes
void f();
I used the following command to make the changes:
git grep -lP '\(\s*void\s*\)' -- *.cxx \
| xargs perl -pi -w -e 's/(\w+)\s*\(\s*void\s*\)/$1\(\)/g;'
and ran it for both .cxx and .hxx files.
Change-Id: I314a1b56e9c14d10726e32841736b0ad5eef8ddd
Put the TOOLS PolyPolygon class in the tools namespace. Avoids clash with the Windows
PolyPolygon typedef.
Change-Id: I811ecbb3d55ba4ce66e4555a8586f60fcd57fb66
writer has code to fill in missing new properties from the old properties
if they exist. But xmloff is stripping them out before they get there.
Don't strip them out, and add in a missing check for one of the
archaic bg colors and add a regression test for fdo#81223
Change-Id: I9a541a9bee0a01c90f2c33383f1144ecd8b0bfff
I introduce a template method into the PTR_CAST machinery
to maintain constness.
There is now a FIXME in sd/../docshell.cxx because I needed
to use a dynamic_cast there to work around the games it appears
to be playing with OLE in-place activation.
Signed-off-by: Stephan Bergmann <sbergman@redhat.com>,
dropping the GCC-extension, unnecessary use of typeof from tools/rtti.hxx
Change-Id: Iba5ace1aa27e02b34fcc91af1e658c43371afd03
...to gain further confidence in the claim "that none of the existing
code tries to uses combinations of these enum values"
(d92602c5b1 "more fixes for SfxItemState")
Change-Id: I987922d945e8738e38adfde83b869adf3ff35b13
Reviewed-on: https://gerrit.libreoffice.org/11384
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
Tested-by: Stephan Bergmann <sbergman@redhat.com>
The problem is that Modify() may be called from ~SwFmt while another
thread is waiting on SolarMutex in the ~SwXFrame or derived class
destructor, so the ref-count is 0 and the uno::Reference in Modify()
will cause a double-free.
Since ClientModify() does some re-parenting of listeners, it is at first
glance better to call Modify() in this situation (although it is quite
possible that it actually doesn't matter), so don't avoid the call in
~SwFrmFmt by adding a SwClient* member there, but put a weak reference
to itself into SwXFrame so it can check if it's still alive...
Change-Id: I492bb8a8557af5fc725fdb7f8b21013e0886f63b
Replace SwXFrames::GetObject() with factory functions that use the
WeakReference SwFrmFmt::m_wXObject to cache the instance in a thread-safe
way.
Change-Id: If56e4d7f95cb4f2e112139f228fb832ae9bf7d76
Added non const SwDoc::GetDfltTxtFmtColl and SwDoc::GetTxtFmtColls
and SwDoc::GetCharFmts.
Had to make the manager friend of SwTxtFmtColl and SwConditionTxtFmtColl
Had to make SwDoc::_MakeCharFmt and SwDoc::_MakeFrmFmt public.
Change-Id: I19a36d91f92b3781a6c4313ec12eb8f7d4dfacc3
Into the new class DocumentContentOperationsManager.
Made SwNodes in sw/inc/ndarr.hxx friend class to
DocumentContentOperationsManager so it can call DelNodes at end of
DocumentContentOperationsManager::DeleteSection .
Added DeleteAutoCorrExceptWord to SwDoc, its needed in the Manager.
Added a non const version of SwDoc::GetDfltGrfFmtColl() to SwDoc
because its needed in the Manager.
Made SwDoc a friend class to DocumentContentOperationsManager so it
can call SwDoc::checkRedlining and SwDocL::_MakeFlySection.
Moved SwDoc::CopyImpl_ , SwDoc::CopyWithFlyInFly and
SwDoc::CopyFlyInFlyImpl into the Manager.
Moved "struct ParaRstFmt" and "lcl_RstTxtAttr" from docfmt.cxx
in DocumentContentOperationsManager.hxx .
Change-Id: Icaab57f4a8c158a85e549ecb4aacc752bc95bbc9