summaryrefslogtreecommitdiff
path: root/desktop
AgeCommit message (Collapse)Author
2024-08-28Emscripten: Support --disable-guiStephan Bergmann
Change-Id: Iab28ee0bb533b0cdabb374c982fbb898bf04aac5 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/172537 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
2024-08-28lok: elide various unhelpful events during background save.Michael Meeks
In particular TEXT_SELECTION and TABLE_SELECTED seem to be favorites, but nothing good would come of getting these others either. Change-Id: I1f014824452bffaeddb1dfaf6565542c3c7c9e91 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166158 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Tested-by: Caolán McNamara <caolan.mcnamara@collabora.com> Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com> (cherry picked from commit 95f1f2143ae53469417fcebc9b2020c34b53ff30) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/172522 Tested-by: Jenkins
2024-08-28lok: add method to allow explicit cleanup of temporary files.oMichael Meeks
Special case fast destruction of background saving children. Change-Id: I8fba4d0818d23a8b0e1bb4d074e1afae7dacde33 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165448 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Tested-by: Caolán McNamara <caolan.mcnamara@collabora.com> Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com> (cherry picked from commit 7d784910689172014b8cf6144e654402696d8801) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/172520
2024-08-27lok: ensure our 'main thread' concept is updated post-fork.Michael Meeks
Otherwise we fall foul of assertions and behavioral differences around the main thread as the new forked main-thread has a different thread-id. Change-Id: I0bd97e5173767ac6c697326aaf0d0822037e480f Signed-off-by: Michael Meeks <michael.meeks@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166319 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com> (cherry picked from commit ddeec9754cb2871a709d22efb460e141ab4c6f33) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/172453 Tested-by: Jenkins
2024-08-23Emscripten: Only resolve Module.uno_init after Module.uno_mainPort is setStephan Bergmann
Otherwise, client code (which is run as soon as Module.uno_init is resolved) could try to use Module.uno_mainPort before it has been set. Change-Id: Ibac992d965f43e9f6766d06e3bd80f1964258b19 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/172326 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
2024-08-23Emscripten: Module.uno_scripts are relative to document.baseURIStephan Bergmann
...so explicitly make them absolute, in case the WorkerGlboalScope used in runUnoScriptUrl would make them absolute relative to a different base URL. (See <https://github.com/mdn/content/issues/35568> "WorkerGlobalScope.importScripts URLs relative to what base URL?" for my confusion of what base URL should actually be used there. But at least with an emsdk that uses recent Emscripten trunk towards 3.1.65, and where meanwhile worker threads no longer load an soffice.worker.js but instead use some blob: URL, a > Module.uno_scripts = ['example.js']; now failed with > Error: Failed to execute 'importScripts' on 'WorkerGlobalScope': The URL 'example.js' is invalid. on Chrome 127.) Change-Id: I9f9b43d501a7b5d933c8506debdebe67ff1b5795 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/172325 Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de> Tested-by: Jenkins
2024-08-23make joinThreadsIfIdle return false if it cannot joinCaolán McNamara
Change-Id: I52e22bf5e68809d6787d2d135b6a35384cf79391 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168785 Reviewed-by: Michael Meeks <michael.meeks@collabora.com> Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> (cherry picked from commit c7ff8768db58aaee5ce0acbabe97faeaf450f017) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/172329 Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com> Tested-by: Jenkins
2024-08-23allow an exemption to be made for a specific hostCaolán McNamara
Change-Id: Ie423df7839e793a9c07561efb56d5649876947ee Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168826 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Andras Timar <andras.timar@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/172328 Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com> Tested-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-08-23LOKit: Enable the Execute Interaction command for ImpressHubert Figuière
Signed-off-by: Hubert Figuière <hub@collabora.com> Change-Id: I5b3b3cc8e1e8c0ad3ec933ea9047da3367583767 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/172088 Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com> Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> (cherry picked from commit ad124b2de2bcbb6a093b551633fc7e50f4cecfaf) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/172190 Tested-by: Jenkins
2024-08-23Emscritpen: Use WorkerGlobalScope.importScriptsStephan Bergmann
Change-Id: I19be38564aca4fdd3d827657055b41a867582ba0 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/172315 Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de> Tested-by: Jenkins
2024-08-22Emscripten: Experimental -sPROXY_POSIX_SOCKETS supportStephan Bergmann
...see <https://emscripten.org/docs/porting/networking.html#full-posix-sockets-over-websocket-proxy-server>. This requires <https://github.com/stbergmann/emscripten/commit/4aff1f28b88480791236adcc6d5cb2d919ad4bf3> "-sPROXY_POSIX_SOCKETS: Add websocket_proxy_poll". When configured with --disable-socketpair (which appears to have no negative consequences), external/curl appears to only call poll(2) with socket-related file descriptors, so we can use websocket_proxy_poll instead. The URL on which the websocket_to_posix_proxy process listens must be specified as Module.uno_websocket_to_posix_socket_url. Change-Id: I4ad23098b5bbc0646fa50859c0aeb9870d1cc92a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/172243 Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de> Tested-by: Jenkins
2024-08-20More useful to have an EMSCRIPTEN_EXTRA_SOFFICE_PRE_JSStephan Bergmann
...than an EMSCRIPTEN_EXTRA_SOFFICE_POST_JS. That way, we can e.g. set up Module.arguments there. Change-Id: I4990ab6daac2f74326ab2ee9508828f1b79bceb7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/172154 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
2024-08-18LOKit: Enable the "Interaction..." command for Impress.Hubert Figuière
Also enable the dialog for JSDialogs Fix the layout of the dialog. Signed-off-by: Hubert Figuière <hub@collabora.com> Change-Id: I4581da34921eb355ce8f59d7bfdf2f7d5d7493f9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171961 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-08-15desktop: Fix '--enable-gui --without-x' buildMichael Weghorn
The code in this block is X11-specific, so make it conditional on `USING_X11`, not `HAVE_FEATURE_UI`. This fixes an `--enable-gui --without-x` build that previously failed like this ld.lld: error: undefined symbol: XineramaQueryScreens >>> referenced by splashx.c:441 (desktop/unx/source/splashx.c:441) >>> .../libreoffice/workdir/CObject/desktop/unx/source/splashx.o:(splash_init_display) [AIN] draw_brand clang: error: linker command failed with exit code 1 (use -v to see invocation) make[1]: *** [.../libreoffice/desktop/Executable_oosplash.mk:10: .../libreoffice/instdir/program/oosplash] Error 1 make[1]: *** Waiting for unfinished jobs.... make: *** [Makefile:296: build] Error 2 Change-Id: If02395d2461de4b6aac340898ce99583653d45c4 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171894 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2024-08-15Emscripten: Establish a channel between browser and LO main threadsStephan Bergmann
...to be used by external code, to mitigate the issue mentioned in the commit message of cccc983eb3f0532dbf7e3edf4477ce63ec3d2795 "Emscripten: Run external code on LO's main thread": "Alternatively, running external code on the browser's main thread rather than on LO's main thread could be more ideal in the sense that the external code would then have access to the browser's document object." On the browser main thread, external JS code can now await a Module.uno_main Promise that provides one port of a MessageChannel. And on the LO main thread, external JS code has access to the other port of that MessageChannel as Module.uno_mainPort. (And the external code is completely free in what onmessage handlers to set up and what form of postMessage calls to use on those two MessagePorts.) Change-Id: Iab6bc7676c744eacb70ddd9f3f80f64e9efd1cf1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171907 Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de> Tested-by: Jenkins
2024-08-15vcl: add "fillWithData" function to BitmapTools - used in lokTomaž Vajngerl
Change-Id: Ia143a39d2285bbdebf7fcfe709b0c6418d35585c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171589 Reviewed-by: Tomaž Vajngerl <quikee@gmail.com> Tested-by: Jenkins
2024-08-14Emscripten: Run external code on LO's main threadStephan Bergmann
...and not the browser's main thread. Those are different threads now since 6e6451ce96f47e0ef5e8ecf1750f394ff3fb48e4 "Emscripten: Move the Qt event loop off the JS main thread". Running `Module.uno_init.then` on the browser's main thread would never trigger, as that promise is only resolved on LO's main thread. When external code was included in soffice.js via EMSCRIPTEN_EXTRA_SOFFICE_POST_JS, that didn't make a difference: Emscripten effectively replicates that code to all the worker threads, so whatever worker thread resolved the Module.uno_init promise (i.e., the LO main thread) had the external code available and ran it. But when external code was included directly in some HTML file (which "manually" provides a canvas and loads soffice.js, not relying on the qt_soffice.html convenience functionality), it was available in the browser's main thread but not in LO's main thread. For that use case, introduce a new Module.uno_scripts array that can be set up in the HTML file to contain an array of URLs (represented as strings) of scripts to load into LO's main thread. (Alternatively, running external code on the browser's main thread rather than on LO's main thread could be more ideal in the sense that the external code would then have access to the browser's document object. But, for one, it would be less ideal in the sense that we would then potentially again execute LO code (which we call into from the external code via UNO) on the browser's main thread, which would bring back the issues that 6e6451ce96f47e0ef5e8ecf1750f394ff3fb48e4 "Emscripten: Move the Qt event loop off the JS main thread" solved. And, for another, when I experimentally tried it out, it caused massive Qt threading issues, so I quickly gave up again.) Change-Id: If01a7859751706f168e93ccac75758ae5ce17cd2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171870 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
2024-08-14Related: cool#9735 vcl lok: add an AnyInput() callbackMiklos Vajna
Open the 300 pages bugdoc, paste a oneliner plain text content in a paragraph which is part of a numbered list, observe a 274 ms hang till layout is done for all pages, then we get an updated tile. This could be better, there is no such hang in the desktop case. What happens is that 1) vcl doesn't try to invoke the poll callback of the LOK client when there was a processed timer and 2) Writer layout doesn't try to split its work into pieces because the LOK client has no way to inform vcl that it has pending input events. Fix the first problem in this commit: add a new API that allows a LOK client to inform vcl that it has pending input events and use that SvpSalInstance::ImplYield(): if a LOK client has pending input events, then invoke the poll callback after each processed timer. For example, this allows the LOK client to process emitted callbacks between two idle layout jobs, word counting, etc. The second problem around Writer to use comphelper::LibreOfficeKit::anyInput() is not yet fixed. Change-Id: I2e39253bfc4d1b5546bc60eef9ff05ccdc0868b9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171846 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2024-08-14LOKit: enable the Distribute commandHubert Figuière
Signed-off-by: Hubert Figuière <hub@collabora.com> Change-Id: Id26ac3cd02198bbd3d4dcf0539cbc372a5e08c72 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171830 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com> (cherry picked from commit d7349b9ac4d56adfaf9bbd7c8dac84152bd230fe) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171772 Tested-by: Jenkins
2024-08-12Emscripten: Move the Qt event loop off the JS main threadStephan Bergmann
...so that spawning and joining new threads works now and we no longer need a hardcoded -sPTHREAD_POOL_SIZE of pre-spawned threads (see b84ef4d67eaf9f9fd7fd700ca05339cb0cdff742 "Adapt comphelper::ThreadPool to Emscripten's threading needs"; lets keep MAX_CONCURRENCY capped at 4, at least for now, though). This requires <https://github.com/allotropia/qtbase/commit/167b08844df06e3cea85c98161b26e97442ab242> "Minimal support for Emscripten -sPROXY_TO_PTHREAD=1" and <https://github.com/allotropia/qtbase/commit/c722a25630a5390f18a4d974aa942f6376fcb8e1> "Implement QWasmCursor::changeCursor for Emscripten PROXY_TO_PTHREAD case" (see TODOs there). Change-Id: I8cea827bd7786e3c9fd9401b4b2bef9d3ec00d5a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171758 Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de> Tested-by: Jenkins
2024-08-07I finally understand why we need that hackStephan Bergmann
...that 77129fbb74bcefde4551d494f029169e7c6026e3 "Emscripten: Add hack to prepare for --enable-wasm-exceptions" was puzzled about Change-Id: Iba54a77e3c2a71fe45b97795ca2da0606c3adf41 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171594 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
2024-08-04cid#1556583 COPY_INSTEAD_OF_MOVECaolán McNamara
and cid#1556585 COPY_INSTEAD_OF_MOVE cid#1556588 COPY_INSTEAD_OF_MOVE cid#1556593 COPY_INSTEAD_OF_MOVE cid#1556597 COPY_INSTEAD_OF_MOVE cid#1556605 COPY_INSTEAD_OF_MOVE cid#1556617 COPY_INSTEAD_OF_MOVE cid#1556635 COPY_INSTEAD_OF_MOVE cid#1556790 COPY_INSTEAD_OF_MOVE cid#1556792 COPY_INSTEAD_OF_MOVE cid#1556796 COPY_INSTEAD_OF_MOVE cid#1556799 COPY_INSTEAD_OF_MOVE cid#1556815 COPY_INSTEAD_OF_MOVE cid#1556836 COPY_INSTEAD_OF_MOVE cid#1556840 COPY_INSTEAD_OF_MOVE cid#1556842 COPY_INSTEAD_OF_MOVE cid#1556859 COPY_INSTEAD_OF_MOVE cid#1556860 COPY_INSTEAD_OF_MOVE cid#1556866 COPY_INSTEAD_OF_MOVE cid#1556869 COPY_INSTEAD_OF_MOVE cid#1556870 COPY_INSTEAD_OF_MOVE Change-Id: I3df8698a4aecbb03999c084517e37e12ff46ee97 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171435 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-08-02cid#1556086 COPY_INSTEAD_OF_MOVECaolán McNamara
and cid#1556087 COPY_INSTEAD_OF_MOVE cid#1556093 COPY_INSTEAD_OF_MOVE cid#1556094 COPY_INSTEAD_OF_MOVE cid#1556105 COPY_INSTEAD_OF_MOVE cid#1556121 COPY_INSTEAD_OF_MOVE cid#1556184 COPY_INSTEAD_OF_MOVE cid#1556399 COPY_INSTEAD_OF_MOVE cid#1556405 COPY_INSTEAD_OF_MOVE cid#1556419 COPY_INSTEAD_OF_MOVE cid#1556421 COPY_INSTEAD_OF_MOVE cid#1556444 COPY_INSTEAD_OF_MOVE cid#1556448 COPY_INSTEAD_OF_MOVE cid#1556457 COPY_INSTEAD_OF_MOVE cid#1556468 COPY_INSTEAD_OF_MOVE Change-Id: I1f352682daebd4e3ed2e7fe669aa0943dcc33edd Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171372 Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com> Tested-by: Jenkins
2024-08-01Use gb_SUPPRESS_TESTS to control inclusion of embindtest.jsStephan Bergmann
Change-Id: Ic020678e531322b9c3af194c3529464775fd1a61 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171318 Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de> Tested-by: Jenkins
2024-07-30LOK: Mention name of unknown command in exceptionAron Budea
Change-Id: I665c9aebaa4e215b8bc4622f3e245e5f2c47deab Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171133 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com> (cherry picked from commit 8fe4ca79d4b3cc2a62c59b7dfd2849b7a79d9437) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171196 Tested-by: Jenkins Reviewed-by: Aron Budea <aron.budea@collabora.com>
2024-07-28cool#9082 - lok: cleanup WakeUpThread before forking, then re-start.Michael Meeks
It seems likely that this lingering briefly after various un-identified and tough to reproduce, longer running operations in calc - which is a big ScProgress user - caused problems with background save. Change-Id: I1d0ec56c759dff30c48c8562b6400b57be4a25b2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168033 Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com> Tested-by: Caolán McNamara <caolan.mcnamara@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168052 Tested-by: Jenkins
2024-07-27cui, dbaccess, desktop, external, filter, librelogo: fix issues found byIlmari Lauhakangas
Ruff linter Change-Id: I34df4c10520406a2b9d2d8f3487f877698a324f8 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171090 Tested-by: Jenkins Reviewed-by: Ilmari Lauhakangas <ilmari.lauhakangas@libreoffice.org> Tested-by: Ilmari Lauhakangas <ilmari.lauhakangas@libreoffice.org>
2024-07-26lok: join Webdav Ticker thread.Michael Meeks
Add 'startThreads' lok method for the few thread scenarios where we need to have a background thread running that cannot be started opportunistically. Also add that to the ThreadJoinable interface so we can get into UNO components' implementations to handle their worker threads easily. Implement joining and re-starting in WebDAV ucp too. Change-Id: I329ef9decb32b263197e4c03a0d54952985fdd0e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167858 Reviewed-by: Michael Meeks <michael.meeks@collabora.com> Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com> Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/170979 Tested-by: Jenkins
2024-07-26Looks like Emscripten LO doesn't need explicit --norestore --nologoStephan Bergmann
...mostly because the relevant parts of the code are hard-disabled (even if you would --disable-wasm-strip) with ENABLE_WASM_STRIP_RECOVERYUI=TRUE and ENABLE_WASM_STRIP_SPLASH=TRUE. (And if there are places in the code that would need the equivalent of either --norestore or --nologo after all, we could probably better add explicit #if EMSCRIPTEN there instead.) This allows to get rid of hard-coding the Qt Emscripten LO command line arguments, which means that e.g. web applications embedding LO would now be able to specify them themselves. Change-Id: I8e2dcfd170cc32276bfb9007f098f6ae6a7f9ec1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171063 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
2024-07-24cid#1556131 COPY_INSTEAD_OF_MOVECaolán McNamara
and cid#1556135 COPY_INSTEAD_OF_MOVE cid#1556146 COPY_INSTEAD_OF_MOVE cid#1556164 COPY_INSTEAD_OF_MOVE cid#1556171 COPY_INSTEAD_OF_MOVE cid#1556177 COPY_INSTEAD_OF_MOVE cid#1556181 COPY_INSTEAD_OF_MOVE cid#1556182 COPY_INSTEAD_OF_MOVE cid#1556183 COPY_INSTEAD_OF_MOVE cid#1556192 COPY_INSTEAD_OF_MOVE cid#1556201 COPY_INSTEAD_OF_MOVE cid#1556208 COPY_INSTEAD_OF_MOVE cid#1556215 COPY_INSTEAD_OF_MOVE cid#1556224 COPY_INSTEAD_OF_MOVE cid#1556227 COPY_INSTEAD_OF_MOVE cid#1556228 COPY_INSTEAD_OF_MOVE cid#1556238 COPY_INSTEAD_OF_MOVE cid#1556246 COPY_INSTEAD_OF_MOVE cid#1556247 COPY_INSTEAD_OF_MOVE cid#1556288 COPY_INSTEAD_OF_MOVE cid#1556293 COPY_INSTEAD_OF_MOVE cid#1556305 COPY_INSTEAD_OF_MOVE cid#1556310 COPY_INSTEAD_OF_MOVE cid#1556317 COPY_INSTEAD_OF_MOVE cid#1556321 COPY_INSTEAD_OF_MOVE cid#1556322 COPY_INSTEAD_OF_MOVE cid#1556331 COPY_INSTEAD_OF_MOVE cid#1556339 COPY_INSTEAD_OF_MOVE cid#1556342 COPY_INSTEAD_OF_MOVE cid#1556351 COPY_INSTEAD_OF_MOVE cid#1556358 COPY_INSTEAD_OF_MOVE cid#1556370 COPY_INSTEAD_OF_MOVE cid#1556379 COPY_INSTEAD_OF_MOVE cid#1556390 COPY_INSTEAD_OF_MOVE cid#1556423 COPY_INSTEAD_OF_MOVE cid#1556532 COPY_INSTEAD_OF_MOVE cid#1556561 COPY_INSTEAD_OF_MOVE cid#1556662 COPY_INSTEAD_OF_MOVE cid#1556704 COPY_INSTEAD_OF_MOVE cid#1556730 COPY_INSTEAD_OF_MOVE cid#1556988 COPY_INSTEAD_OF_MOVE cid#1557071 COPY_INSTEAD_OF_MOVE cid#1557081 COPY_INSTEAD_OF_MOVE cid#1557177 COPY_INSTEAD_OF_MOVE Change-Id: I2c723f0fe9a4eefa62a68f47049ed690d06eb0ba Reviewed-on: https://gerrit.libreoffice.org/c/core/+/170932 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-07-23cid#1555167 COPY_INSTEAD_OF_MOVECaolán McNamara
and cid#1555172 COPY_INSTEAD_OF_MOVE cid#1555184 COPY_INSTEAD_OF_MOVE cid#1555188 COPY_INSTEAD_OF_MOVE cid#1555197 COPY_INSTEAD_OF_MOVE cid#1555209 COPY_INSTEAD_OF_MOVE cid#1555211 COPY_INSTEAD_OF_MOVE cid#1555215 COPY_INSTEAD_OF_MOVE cid#1555216 COPY_INSTEAD_OF_MOVE cid#1555217 COPY_INSTEAD_OF_MOVE cid#1555218 COPY_INSTEAD_OF_MOVE cid#1555222 COPY_INSTEAD_OF_MOVE cid#1556674 COPY_INSTEAD_OF_MOVE cid#1555229 COPY_INSTEAD_OF_MOVE cid#1555233 COPY_INSTEAD_OF_MOVE cid#1555234 COPY_INSTEAD_OF_MOVE cid#1555242 COPY_INSTEAD_OF_MOVE cid#1555250 COPY_INSTEAD_OF_MOVE cid#1555251 COPY_INSTEAD_OF_MOVE cid#1555254 COPY_INSTEAD_OF_MOVE cid#1555304 COPY_INSTEAD_OF_MOVE cid#1555307 COPY_INSTEAD_OF_MOVE cid#1555317 COPY_INSTEAD_OF_MOVE cid#1555329 COPY_INSTEAD_OF_MOVE cid#1555340 COPY_INSTEAD_OF_MOVE cid#1555347 COPY_INSTEAD_OF_MOVE cid#1555352 COPY_INSTEAD_OF_MOVE cid#1555358 COPY_INSTEAD_OF_MOVE cid#1555363 COPY_INSTEAD_OF_MOVE cid#1555365 COPY_INSTEAD_OF_MOVE cid#1555367 COPY_INSTEAD_OF_MOVE cid#1555374 COPY_INSTEAD_OF_MOVE cid#1555380 COPY_INSTEAD_OF_MOVE Change-Id: I343194c10749488a1143e2517ee0638ab19da218 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/170888 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-07-20Remove now unneeded osl/diagnose.hGabor Kelemen
followup to commit 57c228803e55ed343c6693de7d0857ad7d3cd9e3 Change-Id: Iebfb23bb65e2bf898bf27f367cc9641f47a14cf3 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167998 Reviewed-by: Gabor Kelemen <gabor.kelemen.extern@allotropia.de> Tested-by: Jenkins
2024-07-18Change from Module.intiUno() to Module.uno_init promiseStephan Bergmann
...that is resolved from within C++ Desktop::InitApplicationServiceManager once UNO is fully initialized, so client code can trigger on Module.uno_init.then(...) Change-Id: I2d4c542d9729d09f434502e3f966e9ee474e926c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/170683 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
2024-07-18lok: joinThreads - take down configmgr's write-thread.Michael Meeks
Change-Id: I1f9b6b88ef7e97da02fecf2035f953584cd28c16 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/170674 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2024-07-17Use IsRunningUnitTest / IsRunningUITest consistentlyMike Kaganski
The functions are moved to o3tl as inline functions. Change-Id: Ief7d7e292ef15e055ad04ab5707e5e6a2a05b916 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/170636 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2024-07-17UI tests: use a dedicated desktop on WindowsMike Kaganski
Similar to commit 1f24d35033c2f02335ce254bbcf6ba89e1b7565e (cppunittester: use a dedicated desktop on Windows, 2023-07-09), this change allows to run UI tests on Windows without them interferring with what you are doing. The code testing LIBO_TEST_DEFAULT_DESKTOP environment variable to avoid the separate desktop, and creating it, is extracted to a new function in systools. Change-Id: I6df3cb4ae581ae289e49b47d3135d01f632fbd95 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/170615 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2024-07-17Sw: extract/transform document structure 2Attila Szűcs
inserting a ContentControl, now generate a unique ID for it... search the lowest possible non used (non negative) number added a GetType() function for SwXContentControl that get it from SwContentControl, and used it for extract and transform. Added some support for all other types.. some are not really usable yet. Fixed a problem when setting checkbox check, did not changed its content. If content is set to “”. It now set as placeholder, and reset its content to the initial placeholder value, like: “Choose an item” or “Click here to enter text” (work for checkbox, and picture CntentControl.) Change-Id: I0fc696f73734bdfb9ac5b8fdc6891168b8d4ed5a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/170600 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2024-07-15-Werror,-Wgnu-folding-constantStephan Bergmann
> desktop/unx/source/start.c:788:23: error: variable length array folded to constant array as an extension [-Werror,-Wgnu-folding-constant] > 788 | char resp[strlen("InternalIPC::SendArguments") + 1]; > | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ since <https://github.com/llvm/llvm-project/commit/e4163c0927772f2ec73cf16d53e000614c419c45> "[clang] Emit bad shift warnings (#70307)" (and see the comments starting at <https://github.com/llvm/llvm-project/pull/70307#issuecomment-2228342153> "[clang] Emit bad shift warnings" for how this new warning is indeed intentional) Change-Id: Ie439a0f5f6f3b256fa82ec3a05fdc5fb3b840715 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/170510 Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de> Tested-by: Jenkins
2024-07-14cid#1608572 silence Overflowed integer argumentCaolán McNamara
try to convince coverity of the errors of its ways Change-Id: I4e847f3773931dccaff1724166072bfde0b97941 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/170438 Tested-by: Caolán McNamara <caolan.mcnamara@collabora.com> Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-07-13cid#1610240 Unchecked dynamic_castCaolán McNamara
Change-Id: Iee9088344bb3319b751bc3c611ad0ab5e42374b3 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/170434 Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com> Tested-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-07-12SW: exctract document structureAttila Szűcs
It extract form controls, and write its data to JSON. It is a basic 1. version, for now it only recognize: -PlainText (and write its text) -CheckBox (and write its state) but it writes some common data for any type of controls: ID, alias, Tag, TabIndex, and its index. Change-Id: I9ff74cd013c6f1118942207059181678713504af Reviewed-on: https://gerrit.libreoffice.org/c/core/+/170381 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins
2024-07-11fix locking in UpdateRequiredDialogNoel Grandin
Ever since commit 838036c304d474fc4c19e2fc59cadc6ba457c9ee Author: Noel Grandin <noel.grandin@collabora.co.uk> Date: Tue Mar 7 13:46:29 2023 +0200 osl::Mutex->std::mutex in UpdateRequiredDialog Calling from disableAllEntries, which takes a mutex, to hasActiveEntries, would deadlock. Noticing that this class is trying to use a mix of the SolarMutex and its own mutex, rather just use the SolarMutex everywhere, which is much safer, and not a problem in a place where performance is not an issue Change-Id: Id241c3b811f314d75de03c4c647c0594b8d498bb Reviewed-on: https://gerrit.libreoffice.org/c/core/+/170283 Tested-by: Caolán McNamara <caolan.mcnamara@collabora.com> Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com> Tested-by: Jenkins
2024-07-10Properly implement cppu::throwException for EmscriptenStephan Bergmann
...by implementing (for now) just enough of the cpp2uno half of the Wasm UNO bridge to make it work. In general, that half suffers from the same issue as the already-implemented uno2cpp half, namely that Wasm doesn't allow to generate code on the fly (which, in this case, would be needed to implement the vtable slot trampoline functions). So, for now just hard-code the few vtableSlotFunction_* that are needed by the UNO interfaces for cppuhelper/source/exc_thrower.cxx. (A proper fix would probably use the same approach as for the uno2cpp half, and use something like wasmcallgen to generate at least all the vtableSlotFunction_* needed for udkapi/offapi upfront.) The RTTI for the exceptions needs to be unique across the executable for exception catching to actually work (as it compares exception types by RTTI address rather than by name). We thus need to export all the relevant RTTI symbols (which I hacked into the existing wasmcallgen for now, even if that makes that executable's name a slight misnomer now), and access them with a new jsGetExportedSymbol. (This exporting would also be needed by the "classical" approach of using dlsym on the main module, cf. <https://gerrit.libreoffice.org/c/core/+/167187> "WIP: Emscripten: Set up support for dlsym from main module". And while that dlsym approach would work, it is much simpler to just use that jsGetExportedSymbol than to use a dlsym detour, and thereby avoid all the hassle of -sMAIN_MODULE detailed in the commit message of that Gerrit change.) It also turned out that including Emscripten's <cxxabi.h> needs __USING_WASM_EXCEPTIONS__ to be defined, because it uses that in its declaration of __cxa_throw. (The source for setting that define internally in Emscripten is get_cflags in the emsdk's upstream/emscripten/tools/system_libs.py, which defines __USING_EMSCRIPTEN_EXCEPTIONS__ for the non-Wasm, Emscripten JS exception mode, and defines __USING_WASM_EXCEPTIONS__ for --enable-wasm-exceptions, which we use. The commit message of f4ec967599f5dafa1ce477631d7c2e8de005e28f "Fix redefinion of Emscripten __cxxabiv1::__cxa_exception" documents my prior confusion of when one or the other would be defined.) Change-Id: Id08765ab5b4ce1553dc3a61648324526185cb64c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/170246 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
2024-07-10lok: expose presentation info and slide render functionsMarco Cecchetti
This exposes the (impress only) function to get the current presentation info in JSON format and the slide rendering functions that enable rendering of slide layers to a bitmap. Change-Id: Id0591d5894f730eae48b3edc986ae5d804ce7c81 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/170263 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2024-07-09cid#1554685 COPY_INSTEAD_OF_MOVECaolán McNamara
Change-Id: I9014693a2baa5dfe727e925f2aae170c11f4b8fc Reviewed-on: https://gerrit.libreoffice.org/c/core/+/170188 Tested-by: Caolán McNamara <caolan.mcnamara@collabora.com> Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-07-09valgrind: dhat is no longer experimentalDr. David Alan Gilbert
The valgrind dhat plugin is no longer experimental as of valgrind commit 441bfc5f5 in 2018, update the switch. Signed-off-by: Dr. David Alan Gilbert <dave@treblig.org> Change-Id: Iba74eeed1cc5e2350d715454bf32192e0bc3692b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/170072 Reviewed-by: Michael Stahl <michael.stahl@allotropia.de> Tested-by: Jenkins
2024-07-08cid#1555801 Unchecked return valueCaolán McNamara
Change-Id: I2fbc0b65b081da5776c49962ff3b6a36b76808da Reviewed-on: https://gerrit.libreoffice.org/c/core/+/170128 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-07-03cid#1607891 Dereference after null checkCaolán McNamara
Change-Id: Ie446d2623ca41254e3f72ac05f3f090265af48ed Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169920 Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com> Tested-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-06-29Fix "lets" -> "let's"Andrea Gelmini
Change-Id: I3f55e97561323cff8a4148d8388ecd3a5550c704 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169753 Tested-by: Jenkins Reviewed-by: Andrea Gelmini <andrea.gelmini@gelma.net>
2024-06-24Resave with newer Glade versionBogdan Buzea
Change-Id: I66bcfe5859bfc9f89cfcd8fc11e0ce6532e3eeb7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169387 Tested-by: Jenkins Reviewed-by: Taichi Haradaguchi <20001722@ymail.ne.jp>