The problem is that the graphics cache only counts the size of the SVG
text, which is stored in SvgData::maSvgDataArray. However the
SvgData::maSequence may use a lot more memory, as it may contain
de-compressed bitmaps that are stored as base64-encoded PNGs in the SVG
text.
For example icon-themes/galaxy/brand/flat_logo.svg is 812 Ko but contains
60 Mo of bitmaps.
This may cause excessive memory usage and failure to export documents
due to OOM; according to valgrind massif, the bitmap buffers use 90% of
the heap.
Add a new interface com::sun::star::util::XAccounting, and implement
it in drawinglayer BasePrimitive2D. VCL SvgData can't access
drawinglayer via C++ directly so this looks like the best approach.
Change-Id: I5a7c3147733e23473c1decabed24c1f79d951c7d
Reviewed-on: https://gerrit.libreoffice.org/30669
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Michael Stahl <mstahl@redhat.com>
In the Java interface it was reportedly copied from, getValue can return null to
indicate a missing attribute, but in UNOIDL that's not possible. The workaround
that implementations of the UNOIDL interface resorted to is apparently to return
an empty string (another option would have been to throw an exception).
But the code in xmlsecurity appears to be written under the ill assumption that
getValueByName would return null for a missing attribute. What the code as
written actually did check was whether the return value is an empty string
(because it picks the operator ==(OUString const &, sal_Unicode const *)
overload, which happens to treat a null second argument like an empty string).
Ideally, the code in xmlsecurity would have some way to tell a missing attribute
from an empty one (via some extended XAttributeList2, or by iterating over all
getNameByIndex, or ...). But for none of the affected attributes it seems
expected that the attribute's value could be an empty string, so checking for an
empty string seems to work reasonably well in practice. So keep it simple and
just check for an empty string properly.
Thanks to Tor for spotting that odd xmlsecurity code.
Change-Id: Ib068ee98ef818683a43309ab4d7c3a4731e8deff
This adds support for 32 pixel icons - mainly to get them into
the toolbar.
Most changes made are to change the behavior of having only small
and large icons as a boolean choice, but not every code path was
converted to non-boolean choice yet.
Breeze icon theme has the 32px variants so it can be used already.
Change-Id: Iadf832a87826c16b3a83522104dd6c35d61a0f87
Reviewed-on: https://gerrit.libreoffice.org/30398
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
Tested-by: Tomaž Vajngerl <quikee@gmail.com>
The free-form string attached to a signature is called description
during ODF/OOXML signing. The certificate chooser dialog has an input
field to provide that. The PDF export dialog's signature tab reuses
this dialog, but also provides an an own reason input field for the same
purpose.
So in case the generic dialog's description field is filled, don't
simply throw away that string, but set the pdf export's reason field to
the same value.
XDocumentDigitalSignatures.idl is not a published interface and it is
used only internally, so the API change is only nominal.
Change-Id: I6d4cf0b3f586417a76a052dc30c960478a95c984
...from configuration (see issue for details). Also, remove mention of that
configuration tree from the documentation of the css.util.PathSubstitution UNO
service.
Change-Id: Ia0373bc7d19e650b7954b7dbb934a578c96fcab5
Made XFastParser to pass namespace prefix instead of URI for
Unknown attributes and elements, Namespace handler is provided
to resolve those. Test for XFastParser unknown elements is removed,
since testing XLegacyFastParser indirectly tests that also.
Change-Id: Ia41ff5d3d4c07cef0ca23ba858bfb2a94b91b1f5
Reviewed-on: https://gerrit.libreoffice.org/26982
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
This is needed e.g. for the "Slide transition sound" files
where we want to play files and also give the choice whether to link or not
Change-Id: I5aaef7152be8e5c0a0f88c4d7234926f233c5d92
Reviewed-on: https://gerrit.libreoffice.org/26846
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
This is needed e.g. for the "Insert Photo Album" dialog
where we don't want the "Insert Link" option in the file open dialog (tdf#65356)
Change-Id: I01aecaaf8194a8123931b0482b4a37155654dfc2
Reviewed-on: https://gerrit.libreoffice.org/26796
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
... at least for setting the cell content. There are more places where
the numeric value could be transported but all Data Pilot pivot stuff is
based on text strings :-/
This appends a double Value member to com::sun::star::sheet::MemberResult
Change-Id: Ia9e8ac47d0877bd4a59a69d5921ce4ea082e8a69
... that tries to match a locale independent query string.
Going via string queries is likely only necessary for the ugly
alternative "fieldname[member]" syntax, if it is actually unnecessary
for the field1,item1,... syntax needs to be evaluated and if so a
distinct GetPivotData() function evaluating numeric contraints as well
could be introduced.
Change-Id: I2c1fc81c1022b0bba5eef8d86c0c815bb6e31f2d
Reviewed-on: https://gerrit.libreoffice.org/25975
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Eike Rathke <erack@redhat.com>
Low priority idles can fire more or less randomly, and consequently two
consequent runs of LibreOffice differ in the amount of the idles that have
been performed during an operation.
This commit adds a possibility to turn on a 'deterministic mode' where two
subsequent runs of LibreOffice trigger about the same amount of events when
they perform the same set of operations.
Change-Id: I92566ef4eee20e7d604cfd48f01c4df30c77e653
If equation is too long compared to chart width:
equation is wrapped
and if equation has General format, the number of digits is reduced
In this patch, only polynomial equation is treated. If this approach is ok,
I will extend to other regression curves.
Conflicts:
chart2/source/view/charttypes/VSeriesPlotter.cxx
Change-Id: I1bfd897881d752655faec6df034c0dde7f78c51b
Reviewed-on: https://gerrit.libreoffice.org/18397
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Markus Mohrhard <markus.mohrhard@googlemail.com>
... to transport an actual sheet number for other-sheet-local names
within names when importing OOXML.
Change-Id: I00f2ffe07271c1c2a8ce9e10514e10872396f566