Because it's used only for LOK, and SvpSalVirtualDevice::CreateSurface()
otherwise wouldn't know whether to apply LOK DPI settings or not
(since this might be called for LOK tiled painting, when it should,
or it might be called from somewhere else while LOK is active, in which
case this should be handled normally). Getting that mismatched can cause
things like https://github.com/CollaboraOnline/online/issues/4834 .
Change-Id: I1df7b8a169c8ef2e799731a6695a032948536582
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135588
Tested-by: Jenkins
Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
I get valgrind reports when I start LO with kf5 backend and
a maximized window, since in that case position and size are not
set (since the maximized state makes them irrelevant). The semantics
here seem to conflict, the caller of GetWindowState() sets flags
to say what data it wants, and SalFrame::GetWindowState() sets flags
to say what data it provides, but as can be seen here those aren't
necessarily the same. So actually use only those flags that are
in both sets.
Change-Id: I4559baab90d6f465382560549d52431b28119b3f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135563
Tested-by: Jenkins
Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
No need to mention gerrit URLs in code comments
Change-Id: I445f94211a3e660aa6e3482352f56ded7465e008
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135692
Tested-by: Samuel Mehrbrodt <samuel.mehrbrodt@allotropia.de>
Reviewed-by: Samuel Mehrbrodt <samuel.mehrbrodt@allotropia.de>
Handle space key the same as the return key.
This e.g. allows to insert the selected element
into the formula this way in Math again after the
switch to IconView in
commit d79c527c2a
Date: Wed Jun 1 11:20:12 2022 +0300
Use IconView in SmElementsControl
gtk3 was already behaving that way without this
change in place.
Change-Id: I061b286723fedf023551afbb2184abc946b54b9f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135592
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
The issue was flagged two years ago (!!) by Steen Rønnow.
Change-Id: I6d023bbe7c5392038f35b767acdf7f0ad0acd718
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135673
Tested-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
...should not be affected when setting or deleting numbering.
This patch depends on follow-up patches to properly
detect if numbering is turned on or off in some cases.
This patch prevents numbering from "leaking" into the previous
cell if the cells were selected backwards.
Perhaps it would be better to fix the selection code itself
instead of handling all of these edge cases,
but doing that might have unintended consequences that
I wouldn't have any insight into. So this is safer.
Change-Id: I98e18d6056e93a4d89fdbe75b6237daca7832f41
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/134885
Tested-by: Jenkins
Reviewed-by: Justin Luth <jluth@mail.com>
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Similar to input fields, the intention is to keep the start and end of
(inline) content controls within the same text node, so just disable the
command in this context, as Word does.
Change-Id: Ib797ad164a3a36b4bbde4d686cde29adf6db96bf
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135599
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Content controls are editable by default (and not only editable, but
also capable of hosting rich text content), and Writer doesn't limit
the possibility to edit explicitly, either.
Certain content control types (checkbox and picture for now) limit the
hosted content though: checkbox overwrites the content on click and
picture is meant to host a single as-char anchored image. So far the
simple implementation Writer didn't enforce these limits, leading the
unexpected behavior when clicking on checkbox content controls (possibly
not only a checked/non-checked checkmark was toggled, but other content
was removed).
Fix the problem by making these content control types read-only: this is
what also Word does and this way you can't loose the content when you
can't enter it earlier.
We may want to also do this for dropdowns in the future, once combo
boxes will be supported.
Change-Id: I9d44206b3c719a64ec552f2fa0a076901094163e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135574
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
which may explain the backtraces seen with BitmapFilterStackBlur::filter
and BitmapBasicMorphologyFilter::filter in crashreporting
Change-Id: Ib55cde1603d354b8ca0e336a08fe2d73b548f73f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135680
Tested-by: Caolán McNamara <caolanm@redhat.com>
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
- Launch Writer
- Insert any image in it
- Right click on it
=> Nothing displays
+ console shows:
warn:legacy.osl:67182:67182:vcl/source/window/menu.cxx:2750: PopupMenu::Execute: need a non-NULL window!
Regression from f71606c920
new loplugin:moveit
Change-Id: I89f5bfe2a3cd6a935b419d55c2f3e884c7eed2c7
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135681
Tested-by: Jenkins
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
depending on if it's called once, or twice on the input string.
The first converts from Full-Width Characters to equivalent lower ASCII
range with non letters retained. And then the second iteration would
convert to lower case ASCII with non letters filtered out. Presumably
the intention is the Full-Width case should get directly to the same
results as multiple calls.
Change-Id: Idba4ebe04c907c160ee53abf6d5551550da032dd
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135678
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Current implementation broadcasts the context change before the
new controller was set on the frame (via XFrame::setComponent).
This isn't going to work for anything LayoutManager based, as
it responds to frame events by recreating all toolbars, so the
newly created toolbar won't see the context sent for the old
controller.
Solve that by delaying the context change to SfxShell::Activate,
like anywhere else in the codebase. And make NB listen to frame
events, so it could also switch listening to the new controller.
Also fixed a crash when switching to print preview in Writer with
the navigator in the sidebar being active. Ideally we shouldn't
even try to create sidebar panels in print preview, as the sidebar
as a whole is disabled. But left that for a future investigation.
Change-Id: I07759c676d2a2eb6f752fe778b559b15d2d759ec
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135492
Tested-by: Jenkins
Reviewed-by: Maxim Monastirsky <momonasmon@gmail.com>
ZCodec uses zlib to deflate. That file has code
to allow for compressing to GZ but it's wrapped in defines.
There's places in code where there's need for zlib headers
(ie. svx/source/gallery2/codec.cxx:71) and there will be need
for gz header compression when EMZ/WMZ/SVGZ export support
is added.
Made compression functions care about mbGzLib bool. Also added
a SetCompressionMetadata function to set metadata which are otherwise
impossible to know (such as filename, which is needed in the header)
Change-Id: Ic01050262b0b15e0632564b139c66656afac4611
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135213
Tested-by: Jenkins
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
Create a brand new odg with A4 format with just a rectangle or a smiley on it and export it in tiff.
Since we export the whole page, the size is:
- in cm: 21x29.7 (definition of A4)
- in inches: about 8.2677x11.6929
Taking a look at the value of the generated tiff, we got:
ImageWidth: 794
ImageLength: 1123
Notice that 794/8.2677 like 1123/11.6929 is about 96.
So resolution isn't 300x300 (like the code suggests) but 96x96.
Then let's remove all the useless mechanism to try to find the X and Y resolutions.
TIFF Documentation indicates that "XResolution" and "YResolution" tags use "RATIONAL" type which is defined as:
"Two LONGs: the first represents the numerator of a fraction; the second, the denominator."
Since we got a non floating value, we can use "1" for denominator and "96" for nominator.
With this we change TIFFWriter::ImplWriteResolution implementation to put the nominator first which corresponds to the resolution
passed by argument to the method and the denominator afterwards.
Finally, let's fix the name of the second of ImplWriteResolution, it's the resolution value, not the resolution unit.
Next step would be to use the dialog box for compressing options (like for png or jpg).
But for this I think we should take benefit of external lib "libtiff" since we now use it now for import.
Change-Id: I7dbd04e506e98c344f97e455955cdf2c2f6d83c2
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135631
Tested-by: Jenkins
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
Informative or secondary labels should be set apart in the UI’s typographical scale.
This is helpful for more verbose languages, and will contribute to an effort to
make dialogs more space-efficient.
Change-Id: I9eacbebe365a37fe3f973fa6818986d0a4c1fa48
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135656
Tested-by: Jenkins
Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
...and let its implementations just throw a RuntimeException, now that regmerge
has been removed in "[API CHANGE] Remove deprecated idlc and regmerge from the
SDK". Deprecate css.registry.MergeConflictException along with it (though
stoc/source/implementationregistration/ still uses it internally). And remove
the previously unused include/registry/writer.hxx along with the newly unused
include/registry/writer.h, RegistryTypeWriter, and RegistryTypeReader.
Change-Id: I10fd286617975dc0ef9f74460a3a3eab8060939d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/123615
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
...now that idlc is gone since "[API CHANGE] Remove deprecated idlc and regmerge
from the SDK". (idlc implemented some dubious conversions from floating-point
to integer types, which unoidl-write does not implement, so the original version
of idlc/test/parser/conversion.tests was not usable in
CustomTarget_unoidl/unoidl-write_test.)
Change-Id: I3b69920dda24c54c9313cd5c2cd0c0fdd9951ca7
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/123614
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
this time - since I missed to take over one rename
between trees. sigh. Continues 089c91b1ad
Change-Id: I726410ab1024b995937952fbce1214866ee8ba19
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135629
Tested-by: René Engelhard <rene@debian.org>
Reviewed-by: René Engelhard <rene@debian.org>
GetLastDataRow() is more efficient than iterating every cell
with HasDataAt(), so first reduce the row range from the end
(in case the whole range is empty cells it's just one call).
Change-Id: Idc494795f68492ed8b05b2cd575598a9c5868b7f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135605
Tested-by: Jenkins
Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
The problem was during ODT import. When no text:style-name
is provided, or if it is an empty string, then the default
"Numbering symbols" character style remained active,
preventing the ability to round-trip a NONE char style.
Since this depends on the built-in name
(and that name can easily enough change)
there is not much point in creating a unit test.
Change-Id: Id942060abd3e024758f93f3d279ef8b561cfc5a9
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/134888
Reviewed-by: Justin Luth <jluth@mail.com>
Tested-by: Jenkins