The obvious problem was that a bookmark failed to be copied to the
correct node, it was created on a SwStartNode, which failed in
makeMark() and caused a null-pointer.
The target position was off by 1 node because there was a spurious
StartNode/EndNode pair directly below the table:
[ 41] 0x5b13430 TableNode ,
[ 42] 0x5b1d010 StartNode ,
[ 43] 0x5b12a50 StartNode ,
[ 44] 0x5b135f0 TextNode "",
This was created by a special case in SwTableNode::MakeCopy() because
.GetTabSortBoxes().size() == 1.
But the table had actually quite a bunch more cells in the nodes-array,
just they were not yet in the SwTable.
In an exciting twist of events, it turns out the table was copied while
it was not yet finished parsing: the problem was that in the middle of
the table, some CSS set some page attributes, and this caused a
first-page page style to be created in SwCSS1Parser::ParseStyleSheet(),
by copying the master page style.
Unfortunately the table was in the <div title="footer">, so it was
copied in this incomplete and inconsistent state.
It might be possible to get rid of the special case in
SwTableNode::MakeCopy() by restricting the special case skipping of
StartNodes at the start in SwNodes::CopyNodes() a bit so that StartNodes
whose EndNodes are copied aren't skipped; at least that's the most
reasonable explanation for the special case.
But for now just fix the HTML import.
Additionally, only on MacOSX, using libc++, this triggered an assert:
Assertion failed: (!pImpl->mpStaticDefaults || typeid(rItem) == typeid(GetDefaultItem(nWhich))), function PutImpl, file /Users/tdf/lode/jenkins/workspace/lo_gerrit/Config/macosx_clang_dbgutil/svl/source/items/itempool.cxx, line 611.
Probably because SdrTextAniCountItem is not marked DLLPUBLIC.
Change-Id: Ia167265e7540eea649801eaac2b89f9e18b685cd
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/87859
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl@cib.de>
...which appears to no longer work due to incompatible changes incorporated in
LO code already. sberg says: "The first issue I encountered when building
against the 10.12 SDK is 'fpicker/source/aqua/ControlHelper.hxx:119:78: error:
use of undeclared identifier 'NSControlStateValueOn''."
Change-Id: Ib762dd8eaa355925b9a81fb41b550c49bfcf53da
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/86216
Reviewed-by: Tor Lillqvist <tml@collabora.com>
Tested-by: Jenkins
This implements native PopupMenus for the qt5 VCL plugin,
which not only gives them the native look and feel, but also
makes context menus faster (tdf#128921), accessible (e.g. to the
Orca screen reader, tdf#122053), and makes them work for a case
in Base's relationship dialog where entries in the non-native context
menu were not selectable/clickable (tdf#130341).
For now, this always shows the popup menu at cursor position, which
can be changed by taking the Rectangle passed to
'Qt5Menu::ShowNativePopupMenu' into account if there should be any
need.
Change-Id: Ie52cbc682acacb92716ff51e8bf7f1ab07d34cf0
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/88512
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
...for Linux aarch64, similar to 7a9dd3d482 "Hack
to dynamically adapt to __cxa_exceptiom in LLVM 5.0 libcxxabi" for macOS x86-64.
But unlike on macOS (which is known to always use libcxxabi), be careful to only
execute the hack in builds targeting libcxxabi.
Change-Id: I5417fde425d2d6bac9400592193a9fe5d2bfe175
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/88458
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
mpWindowImpl can be nullptr here, see online.git's
unit-load-torture test:
vcl/source/window/window2.cxx:882:24: runtime error: member access within null pointer of type 'WindowImpl'
SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior vcl/source/window/window2.cxx:882:24 in
Surrouding code already checks for nullptr mpWindowImpl, so fix it directly
where the problem is reported, not a caller.
(Also fix a similar case in Window::ImplCallFocusChangeActivate().)
Change-Id: I34dee0fd49483c428a78fd48b54c00b2f0a26417
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/88474
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
aModEvt.mnCode used to get the currently pressed keys
before commit fe0451259d
("tdf#103158 ctrl+shift should work on key up"). Now
it gets the previously pressed ones, by ignoring the
last nModCode assignment.
My intention in the mentioned commit was to only change
aModEvt.mnModKeyCode to also include the released key,
and nothing else. So let's revert the unintentional
change to aModEvt.mnCode.
Change-Id: Ic182119e732b79bc494c73f9bd72959f75cc38b3
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/88484
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
... showing a message "OPENSSL_Uplink(00007FFF05F33000,08): no OPENSSL_Applink"
with this call stack:
libeay32.dll!OPENSSL_showfatal(const char * fmta, ...) Line 986
at C:\lo\src\build\workdir\UnpackedTarball\openssl\crypto\cryptlib.c(986)
libeay32.dll!unimplemented() Line 23
at C:\lo\src\build\workdir\UnpackedTarball\openssl\ms\uplink.c(23)
libeay32.dll!file_ctrl(bio_st * b, int cmd, long num, void * ptr) Line 334
at C:\lo\src\build\workdir\UnpackedTarball\openssl\crypto\bio\bss_file.c(334)
libeay32.dll!BIO_ctrl(bio_st * b, int cmd, long larg, void * parg) Line 361
at C:\lo\src\build\workdir\UnpackedTarball\openssl\crypto\bio\bio_lib.c(361)
[Inline Frame] libeay32.dll!X509_print_ex_fp(_iobuf *) Line 93
at C:\lo\src\build\workdir\UnpackedTarball\openssl\crypto\asn1\t_x509.c(93)
libeay32.dll!X509_print_fp(_iobuf * fp, x509_st * x) Line 80
at C:\lo\src\build\workdir\UnpackedTarball\openssl\crypto\asn1\t_x509.c(80)
neon.dll!make_chain(stack_st_X509 * chain) Line 446
at C:\lo\src\build\workdir\UnpackedTarball\neon\src\ne_openssl.c(446)
neon.dll!ne__negotiate_ssl(ne_session_s * sess) Line 752
at C:\lo\src\build\workdir\UnpackedTarball\neon\src\ne_openssl.c(752)
neon.dll!open_connection(ne_session_s * sess) Line 1706
at C:\lo\src\build\workdir\UnpackedTarball\neon\src\ne_request.c(1706)
neon.dll!send_request(ne_request_s * req, const ne_buffer * request) Line 1011
at C:\lo\src\build\workdir\UnpackedTarball\neon\src\ne_request.c(1011)
neon.dll!ne_begin_request(ne_request_s * req) Line 1245
at C:\lo\src\build\workdir\UnpackedTarball\neon\src\ne_request.c(1245)
neon.dll!ne_request_dispatch(ne_request_s * req) Line 1456
at C:\lo\src\build\workdir\UnpackedTarball\neon\src\ne_request.c(1456)
ucpdav1.dll!webdav_ucp::NeonSession::OPTIONS(const rtl::OUString & inPath, webdav_ucp::DAVOptions & rOptions, const webdav_ucp::DAVRequestEnvironment & rEnv) Line 918
at C:\lo\src\core\ucb\source\ucp\webdav-neon\NeonSession.cxx(918)
ucpdav1.dll!webdav_ucp::DAVResourceAccess::OPTIONS(webdav_ucp::DAVOptions & rOptions, const com::sun:⭐:uno::Reference<com::sun:⭐:ucb::XCommandEnvironment> & xEnv) Line 187
at C:\lo\src\core\ucb\source\ucp\webdav-neon\DAVResourceAccess.cxx(187)
ucpdav1.dll!webdav_ucp::Content::getResourceOptions(const com::sun:⭐:uno::Reference<com::sun:⭐:ucb::XCommandEnvironment> & xEnv, webdav_ucp::DAVOptions & rDAVOptions, const std::unique_ptr<webdav_ucp::DAVResourceAccess,std::default_delete<webdav_ucp::DAVResourceAccess>> & rResAccess, bool * networkAccessAllowed) Line 3934
at C:\lo\src\core\ucb\source\ucp\webdav-neon\webdavcontent.cxx(3934)
ucpdav1.dll!webdav_ucp::Content::open(const com::sun:⭐:ucb::OpenCommandArgument3 & rArg, const com::sun:⭐:uno::Reference<com::sun:⭐:ucb::XCommandEnvironment> & xEnv) Line 2227
at C:\lo\src\core\ucb\source\ucp\webdav-neon\webdavcontent.cxx(2227)
ucpdav1.dll!webdav_ucp::Content::execute(const com::sun:⭐:ucb::Command & aCommand, long __formal, const com::sun:⭐:uno::Reference<com::sun:⭐:ucb::XCommandEnvironment> & Environment) Line 553
at C:\lo\src\core\ucb\source\ucp\webdav-neon\webdavcontent.cxx(553)
updatefeedlo.dll!`anonymous namespace'::UpdateInformationProvider::load(const rtl::OUString & rURL) Line 493
at C:\lo\src\core\extensions\source\update\feed\updatefeed.cxx(493)
updatefeedlo.dll!`anonymous namespace'::UpdateInformationProvider::getUpdateInformationEnumeration(const com::sun:⭐:uno::Sequence<rtl::OUString> & repositories, const rtl::OUString & extensionId) Line 591
at C:\lo\src\core\extensions\source\update\feed\updatefeed.cxx(591)
updchklo.dll!checkForUpdates(UpdateInfo & o_rUpdateInfo, const com::sun:⭐:uno::Reference<com::sun:⭐:uno::XComponentContext> & rxContext, const com::sun:⭐:uno::Reference<com::sun:⭐:task::XInteractionHandler> & rxInteractionHandler, const com::sun:⭐:uno::Reference<com::sun:⭐:deployment::XUpdateInformationProvider> & rUpdateInfoProvider, const rtl::OUString & rOS, const rtl::OUString & rArch, const com::sun:⭐:uno::Sequence<rtl::OUString> & rRepositoryList, const rtl::OUString & rGitID, const rtl::OUString & rInstallSetID) Line 129
at C:\lo\src\core\extensions\source\update\check\updateprotocol.cxx(129)
updchklo.dll!checkForUpdates(UpdateInfo & o_rUpdateInfo, const com::sun:⭐:uno::Reference<com::sun:⭐:uno::XComponentContext> & rxContext, const com::sun:⭐:uno::Reference<com::sun:⭐:task::XInteractionHandler> & rxInteractionHandler, const com::sun:⭐:uno::Reference<com::sun:⭐:deployment::XUpdateInformationProvider> & rUpdateInfoProvider) Line 97
at C:\lo\src\core\extensions\source\update\check\updateprotocol.cxx(97)
updchklo.dll!`anonymous namespace'::UpdateCheckThread::runCheck(bool & rbExtensionsChecked) Line 393
at C:\lo\src\core\extensions\source\update\check\updatecheck.cxx(393)
updchklo.dll!`anonymous namespace'::UpdateCheckThread::run() Line 501
at C:\lo\src\core\extensions\source\update\check\updatecheck.cxx(501)
updchklo.dll!threadFunc(void * param) Line 186
at C:\lo\src\core\include\osl\thread.hxx(186)
sal3.dll!oslWorkerWrapperFunction(void * pData) Line 62
at C:\lo\src\core\sal\osl\w32\thread.cxx(62)
ucrtbased.dll!thread_start<unsigned int (__cdecl*)(void *),1>(void * const parameter) Line 97
at minkernel\crts\ucrt\src\appcrt\startup\thread.cpp(97)
kernel32.dll!BaseThreadInitThunk()
ntdll.dll!RtlUserThreadStart()
The problem is missing OPENSSL_Applink function in soffice.bin
(see workdir/UnpackedTarball/openssl/ms/uplink.c), because
openssl/applink.c is not included. That started after commit
5c89198f69, which enabled debug
output from Neon in dbgutil builds.
Just comment out the call to the OpenSSL function that uses file
pointer API from the Neon debug code on Windows.
Change-Id: Id0188990e9122ee9fd2b3b6b7292bbeb1d206515
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/88412
Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Tested-by: Jenkins
Per default, a document opened by a user action will always open
in a new frame. For tdf#83722, this behaviour was extended to
documents created from templates.
But this currently also affects the default factory templates, if
these are replaced by a config setting with a real template, which
was not intentional.
So this patch introduces a new MediaDescriptor property, which
allows to mark a document as replaceable and automatically sets
it for factory default documents. If this property is set to true,
a document just acts as a placeholder while it's unmodified. I.e.
the next opened document from its frame will close and replace it.
Change-Id: I45ffa8709f7cdda949fac78f3b363f120f0c4a03
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/88257
Tested-by: Jenkins
Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
...where both entries were added with 40fe721462
"add some more libs to libmerged", and defining Library_stringresource in
scripting/Module_scripting.mk is conditional on BUILD_TYPE SCRIPTING.
This will hopefully fix
<https://ci.libreoffice.org/job/lo_callgrind_linux/7884/> (which apparently uses
--enable-mergelibs),
> /usr/bin/ld: /home/buildslave/lode/jenkins/workspace/lo_callgrind_linux/workdir/CxxObject/scripting/source/stringresource/stringresource.o: in function `stringresource::StringResourceImpl::isReadOnly()':
> /home/buildslave/lode/jenkins/workspace/lo_callgrind_linux/scripting/source/stringresource/stringresource.cxx:297: multiple definition of `stringresource::StringResourceImpl::isReadOnly()'; /home/buildslave/lode/jenkins/workspace/lo_callgrind_linux/workdir/CxxObject/scripting/source/stringresource/stringresource.o:/home/buildslave/lode/jenkins/workspace/lo_callgrind_linux/scripting/source/stringresource/stringresource.cxx:297: first defined here
> /usr/bin/ld: /home/buildslave/lode/jenkins/workspace/lo_callgrind_linux/workdir/CxxObject/scripting/source/stringresource/stringresource.o: in function `stringresource::StringResourceImpl::loadLocale(stringresource::LocaleItem*)':
> /home/buildslave/lode/jenkins/workspace/lo_callgrind_linux/scripting/source/stringresource/stringresource.cxx:659: multiple definition of `stringresource::StringResourceImpl::loadLocale(stringresource::LocaleItem*)'; /home/buildslave/lode/jenkins/workspace/lo_callgrind_linux/workdir/CxxObject/scripting/source/stringresource/stringresource.o:/home/buildslave/lode/jenkins/workspace/lo_callgrind_linux/scripting/source/stringresource/stringresource.cxx:659: first defined here
[...]
Change-Id: Ie667487bced048d3b0b0081a9fa4abafa090f02b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/88468
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Reviewed-by: Andras Timar <andras.timar@collabora.com>
Tested-by: Jenkins
Not as easy as hoped, see more info in the adapted
file vcl\win\gdi\gdiimpl.cxx itself.
Change-Id: I265888c65658d5e8a2a04b6f064d2baf3e1d9bad
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/88463
Tested-by: Jenkins
Reviewed-by: Armin Le Grand <Armin.Le.Grand@me.com>
Since whitespace (0x20, 0x09) in the URI path is now included in
the neon_uri_parse_allow_others.patch to accept SharePoint IRIs
as valid URIs, drop that hunk and document a link to the upstream
discussion in the Makefile.
Change-Id: I7b776e9bcaa716069b0f83a97499cf49e5ed1644
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/88447
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
Tested-by: Jenkins
* Update translations from branch 'master'
to 614eb3429622290c320d137cfa9d8b908c56f9ab
- update translations for master
and force-fix errors using pocheck
Change-Id: Ib8c90ab28e150c029e92a9621e65cf00ebba33c6
...which would violate the the preconditions of the later call to maText.remove.
When BreakIteratorImpl::previousWord
(i18npool/source/breakiterator/breakiteratorImpl.cxx) is called to e.g. move
back over a single space at the start of the text, at least for an en-US locale
it will fall through to the call to BreakIterator_Unicode::previousWord
(i18npool/source/breakiterator/breakiterator_unicode.cxx) at the bottom of the
function. That in turn calls icu::BreakIterator::preceding, which is documented
(workdir/UnpackedTarball/icu/source/common/unicode/brkiter.h) to return
icu::BreakIterator::DONE (i.e., -1, see
workdir/UnpackedTarball/icu/source/common/unicode/brkiter.h) in that case, which
causes BreakIterator_Unicode::previousWord to return a Boundary with startPos ==
endPos == -1.
The documentation of UNO method css.i18n.XBreakIterator::previousWord
(offapi/com/sun/star/i18n/XBreakIterator.idl) is silent about the expected
return value in such a case. But lets assume that returning such a [-1..-1]
Boundary is as intended, and locally address this case in Edit::ImplDelete,
making aSelection start at the start of the text.
Change-Id: I40e17ba602088e72aa6962cb41dd8e1cdf6e2561
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/88431
Tested-by: Jenkins
Reviewed-by: Eike Rathke <erack@redhat.com>
For Languages, to make the default value the first element in the
list, I've added 3 parameters to SvxLanguageBox::SetLanguageList().
With this parameters, function adds default value according to its
existence before other values. For sorting User Interface and
Currency, I removed the make_sorted function. I added std::sort
with lambda expressions for both of them.
Change-Id: Iae37bfe09aaac4d8ecde1caad7a14e11df551eae
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/87926
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Tested-by: Mike Kaganski <mike.kaganski@collabora.com>
expansion for the whole table paragraph based on the
last character context.
regression from 2ab481b038
(tdf#90069 DOCX: fix character style of new table rows)
Change-Id: I49da23c268436488ff1537771869c38108113c12
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/88199
Tested-by: Jenkins
Reviewed-by: László Németh <nemeth@numbertext.org>
xTreeIter is invalid here before AddEntry, afterwards it will remain
invalid unless it was passed in to AddEntry to be updated to the
newly inserted location, and we need it to be valid in the
BrowseMode::Subs case
Change-Id: I4831b7713bdb67889604fd4f8a7cd1644fd81a10
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/88442
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>