So also "empty" result cells with a number format applied are displayed empty,
instead of 1899-12-30 for example.
Change-Id: I5280d0213b8a809a04c5cb152ded58028706493a
This sprang from an IRC conversation with uniscript about allowing .xcd in
extensions, so that an extension with (localization) data for many packages
would not need one .xcu file per package, but rather only a single file. That
is possible with a single .xcu file using the <item> syntax, as shown here. (I
had thought that originally only registrymodifications.xcu supported the <item>
syntax, but can't find any traces of that; so looks like an extension with an
.xcu file using <item> syntax should be supported by OOo and derivates "since
ages".)
Change-Id: I1101793e6b14ba9c1e7647edab76927d4d31a81c
And rename it to AdES, as the PDF PAdES generation will be affected by
this checkbox in the near future.
Change-Id: I06121e4eb9debac7a55a737a71780c2fa5c4d084
Reviewed-on: https://gerrit.libreoffice.org/30908
Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
Tested-by: Tor Lillqvist <tml@collabora.com>
because under Ambiance there are dark primary toolbars and light panels and
currently we can only render the same icons in the same colors on each.
Breeze was explicitly selected as the default icon set to use under unity
in
commit c0da1080b6
Author: Bjoern Michaelsen <bjoern.michaelsen@canonical.com>
Date: Sat Feb 27 14:30:01 2016 +0100
lp#1506544 tdf#92458: default to breeze theme on unity desktops
Change-Id: I1e0e10d1561e32c5904e0e7352e914bb62b85363
and the downstream workaround of lp#1580537 for this problem is to turn
libreoffice toolbars light.
glade has toolbar and a panel, both of them are light, so best solution
I can see is to remove the primary class from our toolbars.
Change-Id: I2f94ff52d56af1806e2b80b97e4ae2c4c82ae57e
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
which isn't news, but...
with focus follows mouse enabled, activate filter menu of a calc autofilter.
Move the mouse around and enter the menu, menu pops down because there are
configure and mouse events which indicate that the position of the main
application window has "moved"
when LibreOffice detects the window has moved, it closes the windows
popups, so the menu disappears.
Change-Id: I2d1aa4a51153002c925e2dde4402da2d84e52de5
Deactivating the assert in fillSortedColumnArray() was necessary for the bug's
Paste Special and Sort scenario, but actually the assert could had been hit
also earlier if some cell values were not pasted / skipped and Sort was invoked
after that.
Change-Id: I7b08bfb4104f4c7eb30815944bc87eec79a87334
under wayland, the value selected by gdk_drag_status is not immediately
available via gdk_drag_context_get_selected_action, so use the value
we set on it, not the value it claims to have
pull common code together as getPreferredDragAction
Change-Id: I4d95c4b8183505f2203ad1a8f6947df983ce8d21
...other options to avoid such irrelevant warnings can be to move code to an
include file and/or to define a dummy main() accessing otherwise unreferenced
entities.
Change-Id: Ifd44e376b35ef68496f3aba6a3c046d684824000
When the context itself is being disposed. While this solves the
issue of addAccessibleEventListener() being called twice despite
removeAccessibleEventListener() being called only once, it won't
solve the problem of leaky atk focus events.
Change-Id: I984107ed2d30e6dba8067d11f400ff64d665d157
This is called only if a cell has the table:formula attribute and that *is* a
formula cell and nothing else. In fact in ODFF the initial leading '=' is not
mandatory, so attempting to set a different cell type if it is not present is
wrong.
Commit 62ec7f9e82 introduced that, which at that
time may have been necessary, but doubtful..
Additionally, ScFormulaCell::CompileXML() that tries to group formulas had to
be adpated to not rely on the presence of a leading '='. Luckily there was an
assert..
These changes enable loading of "error cell" formulas that were stored without
a leading '=' if they originated from a paste special with only values, which
maintains an error result as error formula.
Change-Id: I43394de108066a24b792eec958b19f51f990403b
Error results weren't handled at all and sorted same as numeric 0, which
due to "stable sort" resulted in arbitrary looking sort order if 0
values or results where included.
Change-Id: Ib7c516b57ea92bc5b813f448d9c2bb5491e43940
Move the "Remove" button which was customly implemented
from the ExtBoxWithBtns_Impl to the new row. This should
also solve some accessibility issues.
Also wipe some useless code which implements custom
tab behavior.
Change-Id: I602fcf23631498145d8b9ead2936ee549caf3f0d
Reviewed-on: https://gerrit.libreoffice.org/30867
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
...as the trivial derivations (used to offer "convenience ctors") didn't
override Clone(), so -fsanitize=vptr would cause warnings like
> sd/source/ui/dlg/layeroptionsdlg.cxx:42:26: runtime error: downcast of address 0x603001dff830 which does not point to an object of type 'const SdAttrLayerName'
> 0x603001dff830: note: object is of type 'SfxStringItem'
> 61 05 80 1e 70 d6 f7 22 67 7f 00 00 01 00 00 00 4e 6e 00 be 60 f8 df 01 30 60 00 00 02 00 00 00
> ^~~~~~~~~~~~~~~~~~~~~~~
> vptr for 'SfxStringItem'
> #0 0x7f66931db4b0 in SdInsertLayerDlg::SdInsertLayerDlg(vcl::Window*, SfxItemSet const&, bool, rtl::OUString const&) sd/source/ui/dlg/layeroptionsdlg.cxx:42:26
when doing "Insert - Layer..." in Draw.
Change-Id: I54ade09027daecc8bbf6f4789a8b5318bbe8d22d
It seems that our DirectWrite integration is missing few key features,
so back to GDI so at least people who need these feature can have away
to make them work.
So the situation is now with the new layout engine is like the old one;
GDI when OpenGL is not use and DirectWrite when OpenGL is used.
Fixing DirectWrite is now someone else’s problem.
Should also fix tdf#100986.
Change-Id: I102cac8a324f77b050d5183911b5cfda0b6b8f2b
Reviewed-on: https://gerrit.libreoffice.org/30868
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Tested-by: Jenkins <ci@libreoffice.org>