This commit adds an --enable-cli/--disable-cli switch to autoconf to
control generation of the old CLI bindings (Windows only). It is
enabled by default, to not be a breaking change to users just yet.
Over time, when the old bindings are deprecated in favor of the new
.NET bindings, it could be set to disabled by default.
Change-Id: Ib60b372459cb0c735275ed17d004d037279357eb
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168751
Tested-by: Jenkins
Reviewed-by: Hossein <hossein@libreoffice.org>
When using the qt5 or kf5 VCL plugins on X11/XWayland
(as can be forced using QT_QPA_PLUGIN=xcb on Wayland),
ensure that a QWindow exists for the QtObjectWidget
created in the QtObject ctor, as that is needed for
OpenGL rendering.
This makes OpenGL Impress slide transitions like the
"Tiles" one work.
Don't force native windows on Wayland, as that causes
other issues, see also QtFrame::ResolveWindowHandle
and the bugs referenced in there.
Change-Id: I8fac34d2f1cc7cc723ad4570546276a05641dd88
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169348
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins
As described at [1], "QWindow supports rendering using
OpenGL [...]".
Using a QWindow for OpenGL rendering had been introduced
in
commit 56b19f9a81
Date: Fri Dec 14 12:44:20 2018 +0300
tdf#121247, tdf#121266 KDE5: Add basic support for OpenGL
, but then
commit 4366e06052
Date: Tue May 24 11:34:59 2022 +0200
tdf#148864 Qt switch QtObjectWindow to QWidget
had switched from QWindow to QWidget, and OpenGL slide
transitions like the "Tiles" one stopped working.
At least for qt6, which now uses QtMultimedia for video
playback (see the tdf#145735 commits), issues like tdf#148864
("Kubuntu 22.04 LTS LibreOffice Impress 7.3.3 Fails to Play Embedded
Videos") and tdf#125517 ("LO Impress: Can't stop presentation
with video and go to the next slide") related to video playback
appear to be no problem, so switch back to using QWindow there.
Explicitly set the window background to transparent
in `QtOpenGLContext::ImplInit`, as not doing so
caused slide content in presentation mode to not
be updated properly when testing with the attachment 183972
from tdf#149461 on Wayland.
(This was not an issue when running on XWayland, i.e.
with QT_QPA_PLATFORM=xcb).
With this in place, OpenGL transitions work with qt6.
With QT_QPA_PLATFORM=xcb, it looks all fine in my tests
on Debian testing.
With QT_QPA_PLATFORM=wayland, the slide text from attachment 183972
sometimes incorrectly showed up for a fraction of a second after
the slide transition finished, then disappeared again until
it was triggered to show as it should (e.g. by pressing the right
arrow key), s. screencast attachment 194899 in tdf#149461.
A multitude of warnings like the following are shown on stderr
in that case, which don't show up for xcb:
warn:vcl.opengl:47352:47352:vcl/source/opengl/OpenGLHelper.cxx:709: GL Error 0506 (invalid framebuffer operation) in file /home/michi/development/git/libreoffice/slideshow/source/engine/opengl/TransitionImpl.cxx at line 398
That looks like a separate issue to me, however which would
need further analysis.
Keep using the QtObjectWindow approach for qt5 to
not regress on video playback.
[1] https://doc.qt.io/qt-5/qtgui-index.html#opengl-and-opengl-es-integration
Change-Id: I6e1eb989254e2cbbfada6f719ee0518571df4c42
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169347
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Move setting the layout for the QtObjectWidget
from the QtObjectWidget ctor to the QtObject ctor,
in preparation to also use that for QWidgets other
than the QtObjectWidget.
Change-Id: Ifbb0d853659bc8099bed40db2bbe8a8778077aa2
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169346
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
so we have the implementation in one class, instead of bouncing
back and forth between two.
Change-Id: I851578ff553b01fb7d48cf5aa8f7a2d795496751
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169340
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Tested-by: Jenkins
SvxAutoCorrDoc::ChgAutoCorrWord() implementations: correct multiple patterns
* include/editeng/svxacorr.hxx, editeng/source/misc/svxacorr.cxx:
- Add classes SvxAutocorrWordList::{Iterator,WordSearchStatus}.
- Make SvxAutocorrWordList::SearchWordsInList() return WordSearchStatus
so the search can be continued with the added
SvxAutocorrWordList::SearchWordsNext() method.
- Make SvxAutoCorrect::SearchWordsInList(), and its lcl_SearchWordsInList()
companion, return WordSearchStatus propagated from
SvxAutocorrWordList::SearchWordsInList().
- SvxAutocorrWordList::WordMatches():
The existing mechanism of preventing collision of patterns like in
tdf#83037 (→ and ← and ↔ autocorrect collisions) was by storing
the matched string of wildcard pattern back to the list without
overwriting existing one. If the matched string was found in the list,
it would just be treated as no matching.
While this worked well for collision prevention, it caused failure
on the new exhaustive wildcard pattern visiting method when autocorrecting
the second text chunk with the same content. In such situation,
all intermediate stages of corrections of the first text chunk would be
recorded into the list. And, in the second chunk, the first stage would
just be applied from the recorded pattern, but all the next stages
would be refused due to the "collision" with the recorded patterns.
Moreover, the new method would cause the list to grow more quickly
as the autocorrections are done.
To solve the problem, just "peek" for the collision instead of
actually storing it. And SvxAutocorrWordList::ContainsPattern()
is added for this purpose.
* editeng/qa/unit/core-test.cxx:
- Modify TestAutoCorrDoc::ChgAutoCorrWord() to iterate through all patterns,
instead of finishing at the first one.
* editeng/source/editeng/edtspell.cxx:
- Ditto for EdtAutoCorrDoc::ChgAutoCorrWord().
* sw/source/core/edit/acorrect.cxx:
- Ditto for SwAutoCorrDoc::ChgAutoCorrWord().
- SwAutoCorrDoc::ChgAutoCorrWord(): Remove old dead code for autocorrection
on text with redlines.
* sw/qa/extras/uiwriter/uiwriter6.cxx,
+sw/qa/extras/uiwriter/data/tdf158454.odt:
- Add unit test "testTdf158454".
Change-Id: I8fb4a628a977b79b0ed2f239fd3749f15823b5df
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160160
Tested-by: Jenkins
Reviewed-by: Jonathan Clark <jonathan@libreoffice.org>
we need to transform the location of the wallpaper rect to match where
we want the wallpaper to start tiling from.
regression from
commit 3cbe3a0259
Author: Noel Grandin <noel.grandin@collabora.co.uk>
Date: Mon Jun 14 15:05:59 2021 +0200
tdf#101083 speed up SVG rendering with pattern fill
Change-Id: I624edd63135875fdc9526015f0f5642d5c694934
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169332
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Currently it reports pretty much everything as
"The specified device is invalid."
but clearly we can do better.
Try not to change the public API of libcmis too much; it has 2 string
members in libcmis::Exception, add a bunch more type values such as
"dnsFailed", "connectFailed", "connectTimeout", "transferFailed".
Also there were 2 HttpSession functions that convert libcmis::Exception
to CurlException - very odd, was apparently done to appease Coverity,
but the exception specifications that caused Coverity to complain were
removed from libcmis anyway; let's remove that, every caller of these
functions i looked at would immediately convert it back to
libcmis::Exception anyway.
Change-Id: Iee853af8bb541e6b071b75d593b6c031f67a886d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169335
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
This change fixes an issue causing Writer to corrupt layout for vertical
text following a fly-out. This bug manifested as overlapping or
incorrectly-reordered lines of text, sometimes appearing many pages
after the initial fly-out.
Change-Id: I05abdbf3ff122398b995220ec4e410434931fdf9
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169307
Reviewed-by: Jonathan Clark <jonathan@libreoffice.org>
Tested-by: Jenkins
At some stage needs an SwFormat::dumpAsXml() but that's not yet done
here.
Change-Id: I10d2e0f653fc6d0e351bc0aa17f98de8f01766fb
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169337
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Tested-by: Jenkins
in the Style inspector.
Set the cursor at the end of the highlighted text.
Change-Id: I68af50d5bcf91c3cfe603aeef9e88c088b391590
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169259
Tested-by: Jenkins
Reviewed-by: Balazs Varga <balazs.varga.extern@allotropia.de>
This allows to send status messages separately from statechanged;
this is needed in Impress to notify about any mode update, not only
masterview-related.
Also send SlideMasterPage updates automatically from core.
Change-Id: I0a50dbe61a5f2f28cd418eb4416819a6a76810b0
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169314
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Tested-by: Jenkins
Show this in the dialog, which requires extending DAVException to store
2 strings for this case.
Store it in the Exception::Message member of
InteractiveNetworkConnectException, which appears to be unused.
Add another UI string ERRCODE_INET_CONNECT_MSG so that the text can be
shown optionally in the dialog.
Change-Id: Iaf139d77051e7480113eb4df82ef40eb498f329e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169278
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
Tested-by: Jenkins
...with a new Module.catchUnoException JS function that can be used in a JS
catch block to provide the thrown UNO exception as an Any. (For a non-C++
exception, it rethrows the exception, and for a non-UNO C++ exception it maps it
to css.uno.RuntimeException.)
The implementation reuses parts of bridges/source/cpp_uno/gcc3_wasm/, which have
been moved to a new StaticLibrary_emscriptencxxabi.
Change-Id: I708fe6121c43a1b9736de5dff449f6c4f32a45f3
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169325
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
Set accessible names for the items in the "Borders"
control in the Calc Sidebar, "Properties" deck, section
"Cell Appearance". Use the same text as is used for the tooltip.
With this in place, Orca now announces what each item
is about when using the gtk3 VCL plugin, instead of just saying
"Button".
Move the gla11y suppressions to the .false file, as they
have been dealt with now, see doc at [1].
[1] https://wiki.documentfoundation.org/Development/Accessibility
Change-Id: Id1856e4b116acad9bf6d14132bc6d9c91a01ae06
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169321
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Add API to set the accessible name of toolbar items
and implement it for the VCL, gtk3 and gtk4 implementations.
This will be used in an upcoming commit to set a11y names
for the border items in Calc's sidebar.
Change-Id: I958390d8736da8f1281f91586cacbefb5975e229
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169320
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Export the bugdoc to PDF, the orange "date" lost its font color.
This went wrong in commit 82d90529dc (sw
content controls, rich text: add initial PDF export, 2022-09-12), we
export the content control as a PDF form widget by default since then.
Various properties like checkbox status and dropdown items were handled
already, but not text color.
Fix the problem by mapping the SwFont color to the widget descriptor
color, this fixes the color of the already filled in content of the
widget.
Note that given this is a property of the form widget, the color is
correctly applied also to strings filled in via PDF readers, interacting
with the form.
Change-Id: Id3e8611e415c0d571afe1cd14561c97b8a910ce9
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169317
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
XMATCH functions.
Introduce a value "3" for parameter Match_mode for Regular Expression mode
in XMATCH and XLOOKUP, to seperate the original Match_mode value "2",
which was used for both, Wildcard and Regular Expression mode as well.
Note: "The ODF TC will follow that in the specification of these functions and
at the same time specify, that the host dependent properties HOST-USE-REGULAR-EXPRESSIONS
and HOST-USE-WILDCARDS (file format table:use-regular-expressions and table:use-wildcards)
will be ignored by these functions."
https://issues.oasis-open.org/browse/OFFICE-4154
Also Microsoft Office will introduce this new value for Match_mode in XLOOKUP and XMATCH:
https://insider.microsoft365.com/en-us/blog/new-regular-expression-regex-functions-in-excel
Follow-up commit: 0ca20dca33
(Related: tdf#127293 Add unit test for xlookup regex search mode)
Change-Id: Ibcbfa4cf227ab9a9d317d94c1bab8254b1f91822
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169275
Reviewed-by: Balazs Varga <balazs.varga.extern@allotropia.de>
Tested-by: Jenkins
The method itself clears its own guard; the caller still holding the
guard results in hangs seen in some Java code.
See also commit e2bfc34d14 (Reimplement
OleComponentNative_Impl to use IGlobalInterfaceTablem 2024-03-11).
Change-Id: Ib22e71e7500ccceb946f7b1d6606f8f61ae2afe8
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169315
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Tested-by: Jenkins
Fix typo on variable RID_SVXSTR_TABLE_PRESET_OUTER and move comments
about consolidating border tooltip strings to solenv/sanitizers/ui/modules/scalc.suppr
See comments on Gerrit for more information: https://gerrit.libreoffice.org/c/core/+/169052
Change-Id: Ic5283e568e13023242858850dbce8922e2c80d8d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169308
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins
<https://github.com/emscripten-core/emscripten/>
system/lib/libcxxabi/src/cxa_exception.h has two different definitions of that
struct, a short one for when __USING_EMSCRIPTEN_EXCEPTIONS__ is defined, and a
long one for the other case. In 7175431a4b
"Implement exception catching", I had naively copied the short version, assuming
that __USING_EMSCRIPTEN_EXCEPTIONS__ was something that sounded like it would be
defined with --enable-wasm-exceptions. But some debugging of actual exception
handling now showed that the assumption had apparently been wrong (though I
still have no idea about the semantics of that __USING_EMSCRIPTEN_EXCEPTIONS__
define, and when it would or would not be defined), and that I had copied the
wrong version.
The relevant test code
> try {
> const ret = invoke.invoke('throwRuntimeException', params, outparamindex, outparam);
> console.assert(false);
> ret.delete();
> } catch (e) {
> const [type, message] = getExceptionMessage(e);
> console.assert(type === 'com::sun:⭐:reflection::InvocationTargetException');
> console.assert(message === undefined); //TODO
> //TODO: inspect wrapped css.uno.RuntimeException
> decrementExceptionRefcount(e);
> }
in unotest/source/embindtest/embindtest.js had apparently happened to not cause a
crash with the wrong version of __cxxabiv1::__cxa_exception, but had also
happened to not detect the mistake due to the relevant parts being commented out
with TODO (because, in turn, proper UNO exception catching is still lacking in
our Embind-based JS binding).
Change-Id: I718087c7ed2c17808696267ece17237d5cdf2f54
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169305
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
OUStringToNSString() returns an autoreleased NSString so it
needs to be retained for the life of maOfficeOnlyTypes.
Change-Id: Ic3777f818b7cada8e88e97965531fc0a7f2e825c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169284
Tested-by: Jenkins
Reviewed-by: Patrick Luby <guibomacdev@gmail.com>
...after 4eb9cde4db "libxslt: uprade to 1.1.41",
> external/libxslt/ExternalPackage_libxslt.mk:28: *** file workdir_for_build/UnpackedTarball/libxslt/libexslt/.libs/libexslt.so.0.8.21 does not exist in the tarball. Stop.
at least during an Emscripten cross-build
Change-Id: I7fcde7f8708fba68d5d9b751420e402c5da41f3d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169280
Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
Tested-by: Jenkins
First a DAVException with DAV_HTTP_CONNECT is thrown, then it's
converted to USC_CONNECTION_TIMED_OUT, then that is converted to
DAVException with DAV_HTTP_TIMEOUT, a bit misleading.
Change-Id: Ie5089d67d363f57eaa9e1ed057b36adb41e846d2
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169277
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
Tested-by: Jenkins
Add a custom method to SfxItemSet, to avoid some of the function calling
overhead in a hot loop
Change-Id: I525c9a696af941c6e39aa1677eb2a85f69c621bf
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169271
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Tested-by: Jenkins
exit early in DelBookmarks if the redlines are not in the range we need
to fix
(Second attempt at landing this)
Change-Id: I371623ad5840e56bc4ed80565befc7b26e3f5e08
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169270
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
* Update translations from branch 'master'
to 755fc723ca53063e9481f8ca26b14e6b00d46d38
- update translations for 24-8/master
and force-fix errors using pocheck
Change-Id: If076c515de168ad573ccd927faf405d15c6dff34
... for example due to bad certificate; it is pointless as it will
fail exactly the same way.
Change-Id: I654261b2691987453e4ac9a3e2f3019dce20da48
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169268
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
Tested-by: Jenkins
headers_slist may be used again on the 2nd call to curl_easy_perform()
in the CURLE_SSL_CACERT case.
Change-Id: I146d7f5dd72e2abd580a68c8ea4c9e56b7adeca3
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169267
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
Tested-by: Jenkins
it can be used later on when porting the java tests
to CppUnittest
Change-Id: I17420fdf490d979392f5aeb90c3b3bfb319d7764
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169274
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
Tested-by: Jenkins