Age | Commit message (Collapse) | Author |
|
Change-Id: Id996e1e6fc29f6323bd4e82785386de26d075cae
Reviewed-on: https://gerrit.libreoffice.org/24834
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
|
|
Change-Id: I0ca41130f5e1028a70f1242f7af3366b7c57c572
Reviewed-on: https://gerrit.libreoffice.org/24833
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
|
|
...which (in LIBO_INTERNAL_ONLY) for Clang expands to [[clang::fallthrough]] in
preparation of enabling -Wimplicit-fallthrough. (This is only relevant for
C++11, as neither C nor old C++ has a way to annotate intended fallthroughs.)
Could use BOOST_FALLTHROUGH instead of introducing our own SAL_FALLTHROUGH, but
that would require adding back in dependencies on boost_headers to many
libraries where we carefully removed any remaining Boost dependencies only
recently. (At least make SAL_FALLTHROUGH strictly LIBO_INTERNAL_ONLY, so its
future evolution will not have any impact on the stable URE interface.) C++17
will have a proper [[fallthroug]], eventually removing the need for a macro
altogether.
Change-Id: I342a7610a107db7d7a344ea9cbddfd9714d7e9ca
|
|
Change-Id: If9f725c791f9d01efba098caed8387f21862fa04
Reviewed-on: https://gerrit.libreoffice.org/24825
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
|
|
Change-Id: I2c49ec843c0f95e8246cdf9d3185c11e81a3bde3
Reviewed-on: https://gerrit.libreoffice.org/24824
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
|
|
Change-Id: I4e605e7acfe9d4fe409d32f20880b4c0e85a0ea7
|
|
Posix requires that a process forked from a multi-threaded process only calls
async-signal-safe functions between fork and exec. This has been observed to
cause trouble at least in an ASan build, where a forked sub-process (that wants
to proceed to exec java from getJavaProps,
jvmfwk/plugins/sunmajor/pluginlib/util.cxx) hangs in
__sanitizer::BlockingMutex::Lock from within ASan's operator new replacement,
from within the SAL_INFO in SvpSalInstance::CloseWakeupPipe, from within the
atfork_child handler established with pthread_atfork. The rest of the calls in
SvpSalInstance::Create-/CloseWakupPipe appear to be async-signal-safe.
This pthread_atfork handler got introduced with
dbced8e8584b631524dacf607f752ebb734901db "Don't share the wakeup pipe with child
processes". It is irrelevant when the child process will proceed to call exec.
And if the child process does not proceed to call exec (which is the intented
use case why it got added), the above-mentioned Posix requirement makes it look
unlikely that the child will operate properly (i.e., not call any async-signal-
safe functions), unless the parent process was single-threaded.
Change-Id: I9ecaf98597b396e0db83fe98fb11a7df7686e1d6
|
|
Change-Id: I5448c7e46042850f18970c7613ec5a37df57bce7
|
|
Change-Id: Ic8259d81d8080c518aa07697e253a59cd6efaa4b
|
|
unnecessarily passing primitives by const ref.
Suggested by Tor Lillqvist
Change-Id: I445e220542969ca3e252581e5953fb01cb2b2be6
Reviewed-on: https://gerrit.libreoffice.org/24672
Reviewed-by: Tor Lillqvist <tml@collabora.com>
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
|
|
The property stroke-miterlimit is transported to the renderers
via a new member mfMiterMinimumAngle in class LineAttribute
Several drawPolyLine methods are adapted. This patch does not
include changes in MetaAction. Presentation mode, printing, and
PDF-export is still wrong.
Corrected LineJoinMiter to LineJoinBevel in canvas, that s closer
to NONE. Removed DrawPolyLine method without MiterMinimumAngle
and adapted calls accordingly.
Change-Id: I6bcd24add5d85c4d9a39e3788e0682091c5fc9c4
Reviewed-on: https://gerrit.libreoffice.org/23946
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Armin Le Grand <Armin.Le.Grand@cib.de>
Reviewed-by: Regina Henschel <rb.henschel@t-online.de>
|
|
Change-Id: Ifdcdc50bab452408d1c50530095c6fbf77aa600f
|
|
Change-Id: I5090b2e55eb618b53748966133fe9166ee736866
|
|
Create a new pipe in the child process.
In a normal desktop LibreOffice each fork() will be followed quickly
by an exec(), so the FD_CLOEXEC would be enough for that. In
LibreOfficeKit-based software that uses the preinit mechanism, though,
the intent is that one can fork child processes without exec().
This solution uses pthread_atfork(). Another way would be to add
suitable public API callable from the LibreOfficeKit client
initialisation code in desktop/source/lib/init.cxx to explicitly close
and reopen the wakeup pipe in the default SvpSalInstance.
Change-Id: I03fad4ce4adf14c16cb0f537b3baab58fba38922
Reviewed-on: https://gerrit.libreoffice.org/24256
Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
Tested-by: Michael Meeks <michael.meeks@collabora.com>
|
|
Some graphic sub systems cannot handle cases where control points of
bezier curves are not set and produce wrong geometry for fat line drawing
when MITER or similar LineCap and/or LineJoin is used. To avoid that,
provide the mathematically correct fallback control points instead.
Change-Id: Iabc724e51fb89e702f858db820c920f7b5b7d302
Reviewed-on: https://gerrit.libreoffice.org/24031
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Armin Le Grand <Armin.Le.Grand@cib.de>
|
|
Change-Id: I8b8d0322e62a64379eb72ca648c06b092c363f6a
|
|
At least JunitTest_framework_copmlex triggered the UBSan failure
> vcl/headless/svpgdi.cxx:924:46: runtime error: division by zero
> #0 0x2b7114500e3b in renderSource(_cairo*, SalTwoRect const&, _cairo_surface*) vcl/headless/svpgdi.cxx:924:46
> #1 0x2b711450074c in SvpSalGraphics::copySource(SalTwoRect const&, _cairo_surface*) vcl/headless/svpgdi.cxx:937:33
> #2 0x2b7114501f37 in SvpSalGraphics::copyBits(SalTwoRect const&, SalGraphics*) vcl/headless/svpgdi.cxx:980:5
> #3 0x2b7113461871 in SalGraphics::CopyBits(SalTwoRect const&, SalGraphics*, OutputDevice const*, OutputDevice const*) vcl/source/gdi/salgdilayout.cxx:529:9
> #4 0x2b711359a1fc in VirtualDevice::InnerImplSetOutputSizePixel(Size const&, bool, unsigned char*) vcl/source/gdi/virdev.cxx:352:17
> #5 0x2b711359bef6 in VirtualDevice::ImplSetOutputSizePixel(Size const&, bool, unsigned char*) vcl/source/gdi/virdev.cxx:391:9
> #6 0x2b711359edc0 in VirtualDevice::SetOutputSizePixel(Size const&, bool) vcl/source/gdi/virdev.cxx:437:12
> #7 0x2b70fa4b6f3f in sdr::overlay::OverlayManagerBuffered::ImpPrepareBufferDevice() svx/source/sdr/overlay/overlaymanagerbuffered.cxx:45:17
> #8 0x2b70fa4c0c2c in sdr::overlay::OverlayManagerBuffered::ImpSaveBackground(vcl::Region const&, OutputDevice*) svx/source/sdr/overlay/overlaymanagerbuffered.cxx:159:13
> #9 0x2b70fa4cecab in sdr::overlay::OverlayManagerBuffered::completeRedraw(vcl::Region const&, OutputDevice*) const svx/source/sdr/overlay/overlaymanagerbuffered.cxx:414:17
> #10 0x2b70fa787fc4 in SdrPaintWindow::DrawOverlay(vcl::Region const&) svx/source/svdraw/sdrpaintwindow.cxx:334:13
> #11 0x2b70fb9d388f in SdrPaintView::EndCompleteRedraw(SdrPaintWindow&, bool) svx/source/svdraw/svdpntv.cxx:753:9
> #12 0x2b70fd77da81 in FmFormView::EndCompleteRedraw(SdrPaintWindow&, bool) svx/source/form/fmview.cxx:474:5
> #13 0x2b70fb9d64a0 in SdrPaintView::EndDrawLayers(SdrPaintWindow&, bool) svx/source/svdraw/svdpntv.cxx:789:5
> #14 0x2b7182085fe9 in SwViewShell::DLPostPaint2(bool) sw/source/core/view/viewsh.cxx:240:9
> #15 0x2b71820d94c5 in SwViewShell::Paint(OutputDevice&, Rectangle const&) sw/source/core/view/viewsh.cxx:1797:21
> #16 0x2b717c26e635 in SwCursorShell::Paint(OutputDevice&, Rectangle const&) sw/source/core/crsr/crsrsh.cxx:1273:5
> #17 0x2b71839ae182 in SwEditWin::Paint(OutputDevice&, Rectangle const&) sw/source/uibase/docvw/edtwin2.cxx:475:9
> #18 0x2b71100ee7e0 in PaintHelper::DoPaint(vcl::Region const*) vcl/source/window/paint.cxx:309:13
> #19 0x2b71100ff14a in vcl::Window::ImplCallPaint(vcl::Region const*, unsigned short) vcl/source/window/paint.cxx:611:9
> #20 0x2b71100fb252 in PaintHelper::~PaintHelper() vcl/source/window/paint.cxx:549:17
> #21 0x2b71100ff463 in vcl::Window::ImplCallPaint(vcl::Region const*, unsigned short) vcl/source/window/paint.cxx:614:1
> #22 0x2b71100fb252 in PaintHelper::~PaintHelper() vcl/source/window/paint.cxx:549:17
> #23 0x2b71100ff463 in vcl::Window::ImplCallPaint(vcl::Region const*, unsigned short) vcl/source/window/paint.cxx:614:1
> #24 0x2b71100fb252 in PaintHelper::~PaintHelper() vcl/source/window/paint.cxx:549:17
> #25 0x2b71100ff463 in vcl::Window::ImplCallPaint(vcl::Region const*, unsigned short) vcl/source/window/paint.cxx:614:1
> #26 0x2b71100fb252 in PaintHelper::~PaintHelper() vcl/source/window/paint.cxx:549:17
> #27 0x2b71100ff463 in vcl::Window::ImplCallPaint(vcl::Region const*, unsigned short) vcl/source/window/paint.cxx:614:1
> #28 0x2b71100fb252 in PaintHelper::~PaintHelper() vcl/source/window/paint.cxx:549:17
> #29 0x2b71100ff463 in vcl::Window::ImplCallPaint(vcl::Region const*, unsigned short) vcl/source/window/paint.cxx:614:1
> #30 0x2b7110100536 in vcl::Window::ImplCallOverlapPaint() vcl/source/window/paint.cxx:635:9
> #31 0x2b7110102811 in vcl::Window::ImplHandlePaintHdl(Idle*) vcl/source/window/paint.cxx:667:9
> #32 0x2b7110100ee7 in vcl::Window::LinkStubImplHandlePaintHdl(void*, Idle*) vcl/source/window/paint.cxx:645:1
> #33 0x2b71101446d7 in Link<Idle*, void>::Call(Idle*) const include/tools/link.hxx:84:45
> #34 0x2b711380dff9 in Idle::Invoke() vcl/source/app/idle.cxx:25:5
> #35 0x2b711385011b in ImplSchedulerData::Invoke() vcl/source/app/scheduler.cxx:45:5
> #36 0x2b71138535e5 in Scheduler::ProcessTaskScheduling(bool) vcl/source/app/scheduler.cxx:177:9
> #37 0x2b71139a90d4 in ImplYield(bool, bool, unsigned long) vcl/source/app/svapp.cxx:521:5
> #38 0x2b7113982d83 in Application::Yield() vcl/source/app/svapp.cxx:553:5
> #39 0x2b7113982b1a in Application::Execute() vcl/source/app/svapp.cxx:473:9
> #40 0x2b70df7a4294 in desktop::Desktop::DoExecute() desktop/source/app/app.cxx:1322:5
> #41 0x2b70df7aeda3 in desktop::Desktop::Main() desktop/source/app/app.cxx:1647:17
> #42 0x2b7113a0208e in ImplSVMain() vcl/source/app/svmain.cxx:172:19
> #43 0x2b7113a0f776 in SVMain() vcl/source/app/svmain.cxx:210:16
> #44 0x2b70df9e9d01 in soffice_main desktop/source/app/sofficemain.cxx:135:12
> #45 0x4f0f0c in sal_main desktop/source/app/main.c:48:15
> #46 0x4f0ee6 in main desktop/source/app/main.c:47:1
> #47 0x2b70e137057f in __libc_start_main (/lib64/libc.so.6+0x2057f)
> #48 0x418f48 in _start (instdir/program/soffice.bin+0x418f48)
Change-Id: I2bc4abe48c129e006582b9870229f44d2d2bb1ed
|
|
This reverts commit 6b2889b3c4b2da175c4f95bde4495a1a89deedc3.
It breaks several TBs
eg:
/Users/cloph/source/libo-core/sw/source/uibase/dbui/dbmgr.cxx:140:10: fatal error: 'config_cups.h' file not found
^
|
|
Change-Id: I17a8d361b6c24dd9c4853d82e788c48084133e69
|
|
disables OpenGL and glew usage, lets --without-gui do what
--without-x did before and disables X related test
Change-Id: I680b47c9962a0d43c8ece593db0b82e347ceebdb
Reviewed-on: https://gerrit.libreoffice.org/23474
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Oliver Specht <oliver.specht@cib.de>
|
|
Change-Id: I90282c86b45845fc35b23b275301be24a2f18a4d
Reviewed-on: https://gerrit.libreoffice.org/23248
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
|
|
Change-Id: I2114436f4bef3ac71a3035a206186cefaf88bca1
Reviewed-on: https://gerrit.libreoffice.org/23023
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
|
|
Change-Id: Ia5bbce27d9e9526122ce1e27389c7845e6709f27
|
|
Change-Id: Ie43eb3b2c449891fef1031e7df3f381cecb4b4f9
|
|
Change-Id: I311f7db622ce341527fe12a92b516f800b602f92
|
|
Change-Id: Ief35b95af3da58845291ab27b4eb09895e0256a2
|
|
This was ~10Mb of RAM for a hello-world.odt under tile-bench.
Change-Id: Ie0787676be754ac81eb8ec036c9757a1bb2f2220
Reviewed-on: https://gerrit.libreoffice.org/21918
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
|
|
Change-Id: I19e6e4955241d2811678dc15ce07de6ac5b04036
|
|
Change-Id: I74585aa5a50cd335f4fd0a3ba4fed230b98993c3
|
|
Having them in the file apptypes.hxx isn't necessary helpful, IMO so
I've split the types into inputtypes.hxx and exceptiontypes.hxx
Change-Id: I89a1ff168c3ae276b2f5486669d4ec2dda062d57
|
|
since maybe...
commit ead04f8f0b7f51bf281ce41d8d590df0ca14af38
Author: Philipp Lohmann [pl] <Philipp.Lohmann@Sun.COM>
Date: Fri Dec 3 16:21:36 2010 +0100
vcl118: #i115905# improved clip region interface on SAL layer (part 1, windows implementation)
Change-Id: Iaeb49b60f70a9f595b67c7eb307a2e90b58d7150
|
|
Change-Id: Ida1e27322bad5d2d36ae4217bb84187a022ebadf
|
|
(5abe0ab18a10a3cb13485ce3ba9433bd82b32221).
6884f53ac490c11b98a77e747033f4971cc285f5 "default B2DRange ctor doesn't do what
I thought it did" had reverted it, but the fix there is apparently not enough
yet, <http://ci.libreoffice.org/job/lo_ubsan/165/console> still fails with
> /vcl/headless/svpgdi.cxx:1274:28: runtime error: value 1.79769e+308 is outside the range of representable values of type 'int'
> #0 0x2b826285b4d3 in SvpSalGraphics::releaseCairoContext(_cairo*, bool, basegfx::B2DRange const&) const /vcl/headless/svpgdi.cxx:1274:28
> #1 0x2b8262868c3b in SvpSalGraphics::drawPolyPolygon(basegfx::B2DPolyPolygon const&) /vcl/headless/svpgdi.cxx:899:5
> #2 0x2b826286c6f6 in SvpSalGraphics::drawPolygon(unsigned int, SalPoint const*) /vcl/headless/svpgdi.cxx:551:5
> #3 0x2b826179915c in SalGraphics::DrawPolygon(unsigned int, SalPoint const*, OutputDevice const*) /vcl/source/gdi/salgdilayout.cxx:419:9
> #4 0x2b82604d6f5a in OutputDevice::DrawEllipse(Rectangle const&) /vcl/source/outdev/curvedshapes.cxx:67:13
> #5 0x2b8261f02c4d in CircType::Draw(OutputDevice&) /vcl/source/filter/sgvmain.cxx:596:13
> #6 0x2b8261f0ddc6 in DrawObjkList(SvStream&, OutputDevice&) /vcl/source/filter/sgvmain.cxx:698:100
> #7 0x2b8261f1462a in SgfFilterSDrw(SvStream&, SgfHeader&, SgfEntry&, GDIMetaFile&) /vcl/source/filter/sgvmain.cxx:820:26
> #8 0x2b8261f16726 in SgfSDrwFilter(SvStream&, GDIMetaFile&, INetURLObject const&) /vcl/source/filter/sgvmain.cxx:858:22
> #9 0x2b8261e48f33 in GraphicFilter::ImportGraphic(Graphic&, rtl::OUString const&, SvStream&, unsigned short, unsigned short*, GraphicFilterImportFlags, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue>*, WMF_EXTERNALHEADER*) /vcl/source/filter/graphicfilter.cxx:1670:30
> #10 0x2b8261e3c85a in GraphicFilter::ImportGraphic(Graphic&, rtl::OUString const&, SvStream&, unsigned short, unsigned short*, GraphicFilterImportFlags, WMF_EXTERNALHEADER*) /vcl/source/filter/graphicfilter.cxx:1314:12
> #11 0x2b827bb9fee3 in VclFiltersTest::load(rtl::OUString const&, rtl::OUString const&, rtl::OUString const&, SfxFilterFlags, SotClipboardFormatId, unsigned int) /vcl/qa/cppunit/graphicfilter/filters-test.cxx:60:12
[...]
Change-Id: Icb8f52414f57f08334fc501842b3f75c1d3642eb
|
|
Change-Id: Idfe49de429c08d1dd7663ca3fcced8f326e46d15
|
|
...upon empty rExtents, during "make Gallery_txtshapes"
Change-Id: Ie482041828b7abcf13d0efb5da62d1158b7f5e92
|
|
Change-Id: Ifc03da8ea65faca51ffa62fcee08fbcfacad6b20
|
|
and consistently map css::drawing::LineJoint_MIDDLE to the same thing that
css::drawing::LineJoint_MITRE points to everywhere else
Change-Id: I77b7586ea13f3fe84c0529172758256666488d36
|
|
so I don't see that it makes much of a difference then
if the quartz or cairo one's don't either
Change-Id: Iabd65d617437aa747b910fcd2e84421413ed7db6
|
|
so releaseCairoContext is a mirror of getCairoContext, so callers that don't
need to flush can drop that explicit call
Not sure, now that I see it, how there's been no sign of any problem with no
damage of the affected text area under gtk3
Change-Id: I8e508160be4102c64a0ecdf5591b6999f9171c36
|
|
Change-Id: Ie5aac4a8b11daa2aba092923286fbbb2d76d4651
|
|
ditch the CAIRO_VERSION_ENCODE(1, 10, 0) + sub optional
damage rect and just use our always-available basegfx
foo here.
Change-Id: I680453180f4725ac37cabf38d71b935c99edf6c7
Reviewed-on: https://gerrit.libreoffice.org/21971
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
|
|
Change-Id: I93f394575d9afa8eac50a5a7bb36453ae01675ff
|
|
as a sequence of separate lines
Change-Id: I2ab62160a6c609c8ad96d4f84243709476731a24
Reviewed-on: https://gerrit.libreoffice.org/21967
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
|
|
Change-Id: I838a34d6639de75ad08ef29937447936006e53ca
|
|
The only things passed as buffers there were null pointers and
shared_arrays that had the deletion explicitly disabled with a struct
NoDelete, so it's sufficient to just pass a pointer.
Change-Id: I68d618782aa654242048516d2e910b8136b16e2d
|
|
Change-Id: I9d0ad886c4c6e1c8496eb6129b22d327ca0968eb
|
|
...and get rid of that curious "defensive programming" mis-handling of a failing
osl_acquireMutex
Change-Id: I1730c2d8334f0137ee8646ab990d0914426246bb
|
|
recent regression from
commit a73e606b8cd714520285b4e40890db9fd27d7ba5
Date: Thu Jan 21 16:04:28 2016 +0100
Quickfix for deterministic SvpSalBitmap checksums
move the memset (and similar memcpy) inside try block
Change-Id: I51d76777f91664459deb777a5dfafae80203af57
|
|
...that include the junk parts of the mpDIB->mpBits array in the calculation.
MALLOC_PERTURB_=153 in gb_CppunitTest_malloc_check
(solenv/gbuild/platform/unxgcc.mk) causes those junk bytes to normally contain
0x66 on Linux, but ASan makes them contain 0xBE instead.
Change-Id: I74429c5e539e667cb936b3a486de31867eef3e50
|
|
Change-Id: Icdbec08e158c83045529ef3b59231bbc310782cd
|