...as otherwise dynamic_cast<SfxLinkItem*>(...) could fail at least on macOS (as
observed with CppunitTest_sc_screenshots)
Change-Id: I4a41a8b085b839598119791637f79cd467ad4130
i.e., css::uno::Any function template specializations
Any::has<Any>() const
Any::get(Any const &) const
operator >>=(Any const &, Any &)
operator <<=(Any &, Any const &)
that don't make much sense (the first is always true, the rest can be replaced
with operator =, which additionally supports move semantics). For 3rd-party
compatibility, do this only for LIBO_INTERNAL_ONLY, however.
However, some generic template code did benefit from operator >>= working also
for Any, so make up for that with a new (LIBO_INTERNAL_ONLY, given that
operator >>= still covers if fine for !LIBO_INTERNAL_ONLY) fromAny,
complementing the existing toAny.
Change-Id: I8b1b5f803f0b909808159916366d53c948206a88
Reviewed-on: https://gerrit.libreoffice.org/30022
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
Tested-by: Stephan Bergmann <sbergman@redhat.com>
returns the plain value (Any) if it exists, else return an empty Any
replaces some getUnpackedValueOrDefault calls in sw
where is was not clear if the unpacked value exsisted or was default
needed for removal of Any-to-Any template specialisations
Change-Id: I618da7a7174143f5edef48e47e7aa1b6a52845e1
Reviewed-on: https://gerrit.libreoffice.org/30114
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
These files use the macro OSL_BIGENDIAN but did not include the header
that defines it.
Found via:
git grep -l OSL_.*ENDIAN | grep -E '\.h(xx)?$' | while read f; do grep -L endian\\.h $f ; done
Change-Id: Iffb36336026e49a9c3d8fcf125a54ec857c7552e
1. Export PolyPolygonShape and PolyLineShape.
2. Rename WriteBezierShape to WritePolyPolygonShape because
ClosedBezierShape, OpenBezierShape, PolyPolygonShape,and
PolyLineShape share the function and all use
EscherPropertyContainer::GetPolyPolygon to get PolyPolygon
structure and use WritePolyPolygon to write xml tags.
Change-Id: I9ffdc26cf1f6fe8ea3b91b7b218d67f9e5585617
Reviewed-on: https://gerrit.libreoffice.org/30972
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Mark Hung <marklh9@gmail.com>
Test doc https://bugs.documentfoundation.org/attachment.cgi?id=128252 from
https://bugs.documentfoundation.org/show_bug.cgi?id=103493
ScPostIt::CreateCaptionFromInitData() called through
ScDocument::CreateAllNoteCaptions()
Incl. Self Called
Before:
326,418,830,114 487,308 6,645
After:
145,055,889,118 511,681 6,645
Reduced to 44% or speed-up by factor 2.25
Overall ScDocShell::SaveXML()
Before: 370,433,720,090
After: 189,120,982,786
Reduced to 51% or speed-up by factor 1.96
There's still too much broadcasting to accessibility going on though..
Change-Id: I50555fd9751ac24006cc96b2fa8e82b32aba0748
...from slide master.
The problem caused by that PPTX files contains not a
one-level master slide set, but has two levels: one
called slide master, other called slide layout.
Slide layout inherit properties from slide master and
normal slide inherit propetries from slide layout.
Bug appeared because, slide layout inherited properties
were not forwarded to the normal slide.
Change-Id: I587582498cf4315087f9a576c1b7fc41ee23e2fd
Reviewed-on: https://gerrit.libreoffice.org/30969
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Tamás Zolnai <tamas.zolnai@collabora.com>
instead of using the MenuBar text color, cause for Ambiance theme the
menubar is dark and its font is light, while the toolbars can be light,
so light font on light bg appears greyed out
Change-Id: I0fa4ab8eabdd3cd69eb682e5ddba8314b8c9ff0f
Valgrind reveals that in Writer doing "Table - Insert Table... - Insert" (so the
table-related toolbar appears at the bottom of the document window), then "File
- Exit LibreOffice - Don't Save" causes
> Invalid read of size 8
> at 0xE87CA6C: std::__cxx1998::vector<ImplStatusItem*, std::allocator<ImplStatusItem*> >::size() const (/usr/lib/gcc/x86_64-redhat-linux/6.2.1/../../../../include/c++/6.2.1/bits/stl_vector.h:656)
> by 0xE87B09F: StatusBar::GetItemCount() const (/vcl/source/window/status.cxx:1019)
> by 0x75248D91: VCLXAccessibleStatusBar::VCLXAccessibleStatusBar(VCLXWindow*) (/accessibility/source/standard/vclxaccessiblestatusbar.cxx:43)
> by 0x75201C37: (anonymous namespace)::AccessibleFactory::createAccessibleContext(VCLXWindow*) (/accessibility/source/helper/acc_factory.cxx:312)
> by 0xD27B191: VCLXWindow::CreateAccessibleContext() (/toolkit/source/awt/vclxwindow.cxx:862)
> by 0xD2862AC: VCLXWindow::getAccessibleContext() (/toolkit/source/awt/vclxwindow.cxx:2375)
> by 0xD2864AF: non-virtual thunk to VCLXWindow::getAccessibleContext() (/toolkit/source/awt/vclxwindow.cxx:0)
> by 0x2A5CF0CD: AtkListener::handleChildRemoved(com::sun:⭐:uno::Reference<com::sun:⭐:accessibility::XAccessibleContext> const&, com::sun:⭐:uno::Reference<com::sun:⭐:accessibility::XAccessible> const&) (/vcl/unx/gtk3/a11y/../../gtk/a11y/atklistener.cxx:200)
> by 0x2A5CF646: AtkListener::notifyEvent(com::sun:⭐:accessibility::AccessibleEventObject const&) (/vcl/unx/gtk3/a11y/../../gtk/a11y/atklistener.cxx:301)
> by 0x77D6DB7: comphelper::AccessibleEventNotifier::addEvent(unsigned int, com::sun:⭐:accessibility::AccessibleEventObject const&) (/comphelper/source/misc/accessibleeventnotifier.cxx:277)
> by 0x77D4219: comphelper::OAccessibleContextHelper::NotifyAccessibleEvent(short, com::sun:⭐:uno::Any const&, com::sun:⭐:uno::Any const&) (/comphelper/source/misc/accessiblecontexthelper.cxx:186)
> by 0xD1FB887: VCLXAccessibleComponent::ProcessWindowEvent(VclWindowEvent const&) (/toolkit/source/awt/vclxaccessiblecomponent.cxx:210)
> by 0xD1FAEC0: VCLXAccessibleComponent::WindowEventListener(VclWindowEvent&) (/toolkit/source/awt/vclxaccessiblecomponent.cxx:125)
> by 0xD1F9C87: VCLXAccessibleComponent::LinkStubWindowEventListener(void*, VclWindowEvent&) (/toolkit/source/awt/vclxaccessiblecomponent.cxx:114)
> by 0xE797CD7: Link<VclWindowEvent&, void>::Call(VclWindowEvent&) const (/include/tools/link.hxx:84)
> by 0xE794189: vcl::Window::CallEventListeners(unsigned long, void*) (/vcl/source/window/event.cxx:240)
> by 0xE8EDC9F: vcl::Window::dispose() (/vcl/source/window/window.cxx:172)
> by 0xE875B9B: StatusBar::dispose() (/vcl/source/window/status.cxx:170)
> by 0xEAD71EE: VclReferenceBase::disposeOnce() (/vcl/source/outdev/vclreferencebase.cxx:42)
> by 0x3AA25A76: VclPtr<StatusBar>::disposeAndClear() (/include/vcl/vclptr.hxx:231)
> by 0x3AC1CF0D: framework::StatusBarManager::dispose() (/framework/source/uielement/statusbarmanager.cxx:202)
> by 0x3AC2936D: framework::StatusBarWrapper::dispose() (/framework/source/uielement/statusbarwrapper.cxx:75)
> by 0x3AA4F246: framework::LayoutManager::implts_destroyStatusBar() (/framework/source/layoutmanager/layoutmanager.cxx:840)
> by 0x3AA4EF68: framework::LayoutManager::implts_destroyElements() (/framework/source/layoutmanager/layoutmanager.cxx:443)
> by 0x3AA4ED7E: framework::LayoutManager::implts_reset(bool) (/framework/source/layoutmanager/layoutmanager.cxx:412)
> by 0x3AA5E683: framework::LayoutManager::frameAction(com::sun:⭐:frame::FrameActionEvent const&) (/framework/source/layoutmanager/layoutmanager.cxx:2814)
> by 0x3AB0A30C: (anonymous namespace)::Frame::implts_sendFrameActionEvent(com::sun:⭐:frame::FrameAction const&) (/framework/source/services/frame.cxx:3110)
> by 0x3AB0299D: (anonymous namespace)::Frame::setComponent(com::sun:⭐:uno::Reference<com::sun:⭐:awt::XWindow> const&, com::sun:⭐:uno::Reference<com::sun:⭐:frame::XController> const&) (/framework/source/services/frame.cxx:1557)
> by 0x3AB055AB: (anonymous namespace)::Frame::close(unsigned char) (/framework/source/services/frame.cxx:1801)
> by 0x3AAF1DC4: framework::Desktop::impl_closeFrames(bool) (/framework/source/services/desktop.cxx:1698)
> by 0x3AAF132A: framework::Desktop::terminate() (/framework/source/services/desktop.cxx:230)
> by 0x3A9D71CA: framework::CloseDispatcher::implts_terminateApplication() (/framework/source/dispatch/closedispatcher.cxx:562)
> by 0x3A9D632C: framework::CloseDispatcher::impl_asyncCallback(LinkParamNone*) (/framework/source/dispatch/closedispatcher.cxx:410)
> by 0x3A9D49D7: framework::CloseDispatcher::LinkStubimpl_asyncCallback(void*, LinkParamNone*) (/framework/source/dispatch/closedispatcher.cxx:254)
> by 0xE9B4BE7: Link<LinkParamNone*, void>::Call(LinkParamNone*) const (/include/tools/link.hxx:84)
> by 0xEE027A7: vcl::EventPoster::DoEvent_Impl(void*) (/vcl/source/helper/evntpost.cxx:52)
> by 0xEE02767: vcl::EventPoster::LinkStubDoEvent_Impl(void*, void*) (/vcl/source/helper/evntpost.cxx:48)
> by 0xE91FC17: Link<void*, void>::Call(void*) const (/include/tools/link.hxx:84)
> by 0xE91CE8B: ImplHandleUserEvent(ImplSVEvent*) (/vcl/source/window/winproc.cxx:1957)
> by 0xE91A33F: ImplWindowFrameProc(vcl::Window*, SalEvent, void const*) (/vcl/source/window/winproc.cxx:2507)
> by 0xEFEA88D: SalFrame::CallCallback(SalEvent, void const*) const (/vcl/inc/salframe.hxx:276)
> by 0xEFFF457: SalGenericDisplay::DispatchInternalEvent() (/vcl/unx/generic/app/gendisp.cxx:86)
> Address 0x6ccc64b0 is 32 bytes inside a block of size 56 free'd
> at 0x4C2D22A: operator delete(void*) (/builddir/build/BUILD/valgrind-3.11.0/coregrind/m_replacemalloc/vg_replace_malloc.c:576)
> by 0xE875B47: StatusBar::dispose() (/vcl/source/window/status.cxx:165)
It looks rather pointless that StatusBar::dispose causes instantiation of a
VCLXAccessibleStatusBar, but not sure what would be the right level to fix this.
So work around it by making the pointlessly pointer mpItemList non-pointer, and
clearing it in StatusBar::dispose, so that a latter call to
StatusBar::GetItemCount returns 0 (which appears to be OK for the needs of that
zombie VCLXAccessibleStatusBar).
Change-Id: I1e982a335cb78e87a6c16633174bca76b59c6049
When client side request special character, it is very useful to send a
preview of the rendered font character
Conflicts:
desktop/source/lib/init.cxx
Change-Id: I1f5727163dfcc861add121e616bdb17881c28197
Reviewed-on: https://gerrit.libreoffice.org/30784
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Andras Timar <andras.timar@collabora.com>
Checked a couple of them:
StandardCheckVisisbilityRedirector is unused since
commit b1f8cf3782
Author: Noel Grandin <noel.grandin@collabora.co.uk>
Date: Wed Nov 2 10:57:21 2016 +0200
loplugin:singlevalfields
SfxQueryStatus is unused since
commit 64a708cba9
Author: Caolán McNamara <caolanm@redhat.com>
Date: Sat Nov 5 20:28:27 2016 +0000
Revert "Reverts a commit series that cripple windows ci."
Change-Id: If1c9fe26c3ebc573d8c53c8f060b05c27f2711e5
Reviewed-on: https://gerrit.libreoffice.org/30840
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
make these less odd and simply return the thing they selected, rather than a
bool that indicates that the rpObj arg was successfully set to non-null, so
there's one flag to check not two which both mean the same thing.
Change-Id: If70e412f98dea8b7114fb77f26a9c59aab93be50
Reviewed-on: https://gerrit.libreoffice.org/30794
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
maybe the PurgeMedia call in sw was meant to be a PurgeGraphic
call originally
(PurgeGraphic since removed by...
commit a22ac2c218
Author: Caolán McNamara <caolanm@redhat.com>
Date: Thu Jul 14 22:06:29 2011 +0100
callcatcher: remove unused methods)
PurgeMedia releasing the stream makes no difference to the only place its used
which is SvxBrushItem::GetGraphicObject which makes a new one every time
anyway.
the SvxBrushItem assignment operator doesn't change the stream
member of the pImpl which looks utterly nuts, so its a good thing
the stream is not reused
Change-Id: Ie0dee22a6640a6916908fcddbc3541ba85034217