Age | Commit message (Collapse) | Author |
|
using the bin/find-can-be-private-symbols.py script
to find classes with large numbers of exported symbols
that can hidden.
before
exported = 58104
imported = 30810
unused_exports = 35433
after
exported = 55094
imported = 31073
unused_exports = 32423
Change-Id: Idd0a70ee3740afd5ca1a86771e0e2ff8090d102d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163456
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
This reverts commit c6652e280b0690497abf27380dd064898f91db32.
Reason for revert: patch may no longer be needed after commit b0656e6ca668a0719fbcb71b6d46c68093dda470.
Change-Id: I20da2d0ff576f82272efbb193148e77c44a73d5f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163540
Tested-by: Jenkins
Reviewed-by: Patrick Luby <guibomacdev@gmail.com>
|
|
This reverts commit 2cf7c26293462406d91ee050c6677930065e660b.
Reason for revert:
<_rene_> noelgrandin: sdui->sd... and what about people not needing that ui?
<_rene_> (e.g. --disable-gui and libreoffice-draw-nogui and impress-nogui)
<_rene_> i.e. the use case of --convert-to for ppt(x) etc
Change-Id: I6755c209e63f34b3fc9f9fdc4af7001b18579e8b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163348
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Necessary to do this before forking on Unix systems; use a
dynamic_cast interface since this is all for internal use.
Change-Id: I8a911322acd4ec5654eb0d14804c09d513a0bd4b
Signed-off-by: Michael Meeks <michael.meeks@collabora.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163335
Tested-by: Jenkins
|
|
which eliminates another dynamic-symbol lookup and another complication
which was making it harder to do better with --enable-mergedlibs
sd is relatively small, so even the combined library is not as big as
one of the sw and sc libraries
Change-Id: Ibef8077d70a5abc7361c95f5dbb8c43447610188
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163302
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: I629b2a16bc889f16595cd1718d2ee4535f31aed7
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162602
Tested-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
(cherry picked from commit fe459b9595c851d00a861d595c8dd50b35c90be3)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163255
Tested-by: Jenkins
|
|
...instead of arbitrarily cramming them into bootstrap.ini. (And don't force
those ini-files to have an additional [Win32] section, when
include/rtl/bootstrap.h demands that "An ini-file is only allowed to have one
section, which must be named `[Bootstrap]` with the square brackets.")
Change-Id: I732bf9d771ea309eccd35b6db0f565a0c56a3c3e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162188
Tested-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
(cherry picked from commit 50b14f26de63d22b9ad05ca51d9edc53e024e75e)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163252
Tested-by: Jenkins
|
|
Some quick testing suggest this saves ~800k for writer, ~3Mb for
impress each loading an ~empty hello-world document.
Change-Id: I9a7bc25d38d82b5556dfb04a99d5c145dd71ffec
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162939
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
(cherry picked from commit d85cb3832286ae1fdcf4a8494abb8212f21e4e9a)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163148
Tested-by: Jenkins
|
|
Change-Id: Ic178737da802e17f87d0b5b09004a847b0fe91be
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162956
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
|
|
What I'm after in the context of our Embind-related code is the claim at
<https://emscripten.org/docs/porting/connecting_cpp_and_javascript/embind.html#memory-management>:
"JavaScript only gained support for finalizers in ECMAScript 2021, or ECMA-262
Edition 12. The new API is called FinalizationRegistry and it still does not
offer any guarantees that the provided finalization callback will be called.
Embind uses this for cleanup if available, but only for smart pointers, and only
as a last resort." However, with the recommended emsdk 2.0.31 my tests did not
show any use of that finalization support. So I wanted to try with the latest
emsdk 3.1.51 instead. But then, linking vcldemo failed with
> wasm-ld: error: ~/allotropia-qt5/lib/libQt5Core.a(qlogging.o): undefined symbol: std::__2::__vector_base_common<true>::__throw_length_error() const
etc., so I gave it a try to rather build against latest Qt6.7, with
> --with-distro=LibreOfficeWASM32
> --disable-qt5
> --enable-qt6
> QT6DIR=...
TODO: The result is highly experimental, and it uses ENABLE_QT5 (i.e., the
recommended setup with emsdk 2.0.31 and the
<https://github.com/allotropia/qt5.git> v5.15.2+wasm branch) vs. ENABLE_QT6
(i.e., my experimental setup with emsdk 3.1.51 and the
<https://github.com/qt/qt5.git> 6.7 branch) not only to distinguish between Qt5-
vs. Qt6-specific behavior, but also to distinguish between old- vs.
new-Emscripten-specific behavior. Of note:
* The startup code appears to have changed substantially (and required setting
-s MODULARIZE=1 and -s EXPORT_NAME=soffice_entry now, and telling emcc to
build just soffice.js and not the wrapper soffice.html. TODO: This also
required hacking into qt_soffice.html: (1) The command-line arguments
(--norestore, --nologo, --writer, and the exammple.odt; all of which we should
eventually get rid of, anyway). (2) Saving the generated instance as
window.Module (and adapting the embindmaker-generated code, cf. the changes to
static/README.wasm.md).
* There were some symbol clashes between external/argon2 and
libQt6Core.a(qcryptographichash.cpp.o, so renamed the problematic symbols in
external/argon2.
Change-Id: I5420ab566d560b11954ac6613249bfc53d8acb31
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162695
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
|
|
forgotten in 3cb45765f2accfa749cc56a087059600ec467f28 and
bc9487f745befde6534fd46058e119256952323d and d3625d968901eb93a9680db8d1165f70de3fd64e
Probably academic since none of those archs will have something in LO
doing online-update anyway, but...
Change-Id: I10bcc909df42ee7f51f2135b60fbb33c135f2554
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/154335
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
|
|
They seem to be designed with multi-dimensional flexibility in mind;
it is stored as an array of lists, each having a name and a module.
The name may mean a filter. It may have a special name "_user" with
unclear meaning.
But it only ever used a single item in the array, named "_default",
in a single module (swriter). Everything else was only read into a
hidden listbox in Compatibility dialog, and never shown nor used.
Make ir much simpler. Just use the "_default" item. It is possible
to expand it later, if needed; but the previous complexity was bad
for maintenance and adding new options.
Translatable descriptions of the options were moved from UI file
to sw/inc/strings.hrc, and used in a structure that clearly maps
them to respective identifiers, to avoid fragile hidden dependency
on order of different lists.
Change-Id: I78ac5add8a872613e1fb388e4b8cc4fbf4362adf
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162651
Tested-by: Mike Kaganski <mike.kaganski@collabora.com>
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
Obsoleted by commit 2484de6728bd11bb7949003d112f1ece2223c7a1 (Remove
non-const Sequence::begin()/end() in internal code, 2021-10-15) and
commit fb3c04bd1930eedacd406874e1a285d62bbf27d9 (Drop non-const
Sequence::operator[] in internal code, 2021-11-05).
Change-Id: Idbafef5d34c0d4771cbbf75b9db9712e504164cd
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162640
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
This attempts to fix a particularly difficult to debug crash due to
memory corruption when gpgme tries to fork and exec a gpg command.
For more background, see the following bug comment:
https://bugs.documentfoundation.org/show_bug.cgi?id=152524#c39
This data section is only added in Mac Intel builds as it is a
controversial approach and I have not seen any reports of this bug
on Mac Silicon yet. So limit the fix only to Mac Intel in the hope
that this controversial approach will automatically phase itself
out when Apple eventually stops releasing new versions of macOS
for Mac Intel.
Note: the Objective C runtime doesn't appear to check the value of
this data section, but set it to 1 in case that changes in the future.
Change-Id: Ifac7893589a9183e092724297aff93eb3d58ab70
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162634
Tested-by: Jenkins
Reviewed-by: Patrick Luby <plubius@libreoffice.org>
|
|
use RTL_TEXTENCODING_MS_1250 to trigger Impl_getTextEncodingData to
dlopen sal_textenclo early
Change-Id: Ie96b81615cbd4b479d731916518835b2f72adf6a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162477
Reviewed-by: Neil Guertin <neil.guertin@collabora.com>
Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
Tested-by: Andras Timar <andras.timar@collabora.com>
(cherry picked from commit 4f404f2b18692276d157c4de9bfbb1f6370ad58d)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162541
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
|
|
it's null checked before the lambda gets called so make this a
reference
Change-Id: Ib8804a2003cbdc6b7b62d8a38fa514d0ce08128c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162495
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
|
|
Change-Id: If019677d24a56c46f06b31a15a18a615b62a6806
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162445
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
The "which" utility is not guaranteed to be installed either, and if it
is, its behavior is not portable either. This means that when various
programs are installed, the `which` check will report a fatal error
because the which tool did not exist and the shell returned a nonzero
status when attempting to fork+exec. If it did exist, it might not be an
implementation of `which` that returns nonzero when commands do not
exist.
The general scripting suggestion is to use the "command -v" shell
builtin; this is required to exist in all POSIX 2008 compliant shells,
and is thus guaranteed to work everywhere.
For some in-depth discussions on the topic, see:
- https://mywiki.wooledge.org/BashFAQ/081
- https://unix.stackexchange.com/questions/85249/why-not-use-which-what-to-use-then/85250#85250
Examples of open-source shells likely to be installed as /bin/sh on
Linux, which implement the 15-year-old standard: ash, bash, busybox,
dash, ksh, mksh and zsh.
This commit changes two programs installed to end-user systems.
Change-Id: I6013965bb914f5b0d593a876866b991e210ef5b8
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160662
Tested-by: Jenkins
Tested-by: Ilmari Lauhakangas <ilmari.lauhakangas@libreoffice.org>
Reviewed-by: Ilmari Lauhakangas <ilmari.lauhakangas@libreoffice.org>
|
|
Filter options should be what remains after extracting any
other options from the original list of options.
Change-Id: Iad787b34aba58c3910118e94df66a102b44034c2
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162316
Tested-by: Jenkins
Reviewed-by: Henry Castro <hcastro@collabora.com>
|
|
Change-Id: Ia7af2ad01bab012ad55bab86aac648078d4a8928
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162247
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
|
|
and
cid#1546154 COPY_INSTEAD_OF_MOVE
cid#1546120 COPY_INSTEAD_OF_MOVE
cid#1546115 COPY_INSTEAD_OF_MOVE
cid#1546111 COPY_INSTEAD_OF_MOVE
cid#1546096 COPY_INSTEAD_OF_MOVE
cid#1546016 COPY_INSTEAD_OF_MOVE
cid#1545980 COPY_INSTEAD_OF_MOVE
cid#1545942 COPY_INSTEAD_OF_MOVE
cid#1545902 COPY_INSTEAD_OF_MOVE
cid#1545869 COPY_INSTEAD_OF_MOVE
cid#1545853 COPY_INSTEAD_OF_MOVE
cid#1545769 COPY_INSTEAD_OF_MOVE
cid#1545742 COPY_INSTEAD_OF_MOVE
cid#1545735 COPY_INSTEAD_OF_MOVE
cid#1545689 COPY_INSTEAD_OF_MOVE
Change-Id: If93debe8b00991761cf1876b3fce27b09906749e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161966
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
|
|
Create two Calc views, set the first view language to English, second
view language to German. Type in the English view, double-click on a
chart in the German view. The sidebar in the German view will have
English strings in it. This doesn't happen if there is no typing right
after the chart activation in the English view.
What happens is that the sidebar update is async, and
sfx2::sidebar::SidebarController::notifyContextChangeEvent() gets
called, which registers an aync event when it calls
AsynchronousCall::RequestCall(). Then later this job gets scheduled, but
possibly by that time the active view is the English one, leading to
English strings when chart::ColumnChartDialogController::getName() calls
SchResId(), which works from the language of the current view.
Fix the problem similar to what commit
fb7b0b944741e4efae8d92a6e305036aff906c7a (cool#7492 sfx2 lok: just set
language/locale on async binding update, 2024-01-09), did: set the
language/locale from the current view before executing the async job and
restore the old value once we're done.
Extract the now duplicated code to a new SfxLokLanguageGuard, so in case
more places have a problem with incorrect l10n, then it's meant to be a
one-liner to fix further places.
Change-Id: I52724a24d93fb753175a3b9b99bc33178519d981
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161920
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Tested-by: Jenkins
|
|
Make possible to filter allowed data sources.
It is used for WebDAV curl, WEBSERVICE function, cell external
references.
Change-Id: Ifc82af31ff1123b5656a21e6a27624fb1616db39
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160196
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>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161772
Tested-by: Jenkins
Reviewed-by: Szymon Kłos <szymon.klos@collabora.com>
|
|
This change makes it so that, rather than leaving edit mode, enter and
tab keep editing the new cell when they have moved. This is important on
devices with an onscreen keyboard (e.g. iPads, Android tablets,
Convertible Laptops, etc.), particularly in Collabora Online, as exiting
edit mode hides the onscreen keyboard.
It is not desirable to enable this by default, as arrow keys cannot move
around the document when we are in edit mode (they move within the
cell). Therefore, this commit also adds an .uno command so that we can
activate or deactivate the option.
In LibreOfficeKit we want to make sure not to share this setting among
different users, so we also add this option in the view shell and switch
which one we care about based on whether Kit is active.
Change-Id: I5e6c93c64af0d201a8ec045fea5546e189baca74
Signed-off-by: Skyler Grey <skyler.grey@collabora.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160313
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Szymon Kłos <szymon.klos@collabora.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161696
Tested-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
|
|
Change-Id: I6aa9a21d1422b8b3b6fe5dde9869dffa88be5535
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161744
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
Change-Id: I2805087da196aa7153850345803999af4de313df
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161660
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
|
|
Call vcl::Window::RequestHelp from LOKPostAsyncEvent for
mouse movement. Introduce LOK_CALLBACK_TOOLTIP callback
type, and send it from SwEditWin::RequestHelp.
Intention is, that the tooltip is shown by client at the
current mouse pointer position, which is hopefully not
far away from the point that generated the mouse event.
On the next movement, the client starts a timer to hide
the tooltip. If the next tooltip message arrives, the
tooltip would be updated in the new place.
Alternatively, the payload could contain the coordinates
from the HelpEvent.
Change-Id: I8e96eb6e6983ad8d13b4c5d7be4d51ff3fd11893
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161302
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
Change-Id: I9db309b15e490c9bd03e767c192ba364a4ffe214
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161452
Tested-by: Jenkins
Reviewed-by: Thorsten Behrens <thorsten.behrens@allotropia.de>
|
|
A common way to install extensions is to simply double-click
on them in the OS's file browser. But in this case the reload
still contains the extension in the cmdline and thus it
"opens" the extension again and asks to re-install.
So just eliminate OXTs from the commandline if OfficeRestartInProgress.
If multiple OXTs are provided on the commandline, two things happen:
-LO crashes (with an assert)
-both extensions are successfully installed before restart is requested.
In both cases removing ALL extensions during restart is appropriate.
Prior to this patch, OfficeRestartInProgress was not actually used AFAICS.
Mike Kaganski laid out lots of good criteria for this patch
1. After restart, user can still manually install an extension: YES
2. A restart after a restart should still inhibit extensions: YES
3. Must no interfere is user choses to "restart later": YES
4. It works with a clean profile (rm -r instdir/user): YES
This implementation is closest to his suggested
> Variant 4. Cleanup all fileopen/print arguments from the guards
> that manage restarts (e.g., soffice.exe on Windows), so that
> when restarting, they would not repeat using those arguments again.
> Problem: first launch of soffice.bin that initializes user profile:
> restart after this should repeat all the command line arguments.
Change-Id: I2460cb31be0c6f3e10cbb5b200cf67839cbd822a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161549
Tested-by: Jenkins
Reviewed-by: Justin Luth <jluth@mail.com>
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
Change-Id: If0c9727f53c1c4dfb78d1ccbd6b3ff602268bbf7
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160156
Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161059
Tested-by: Jenkins
Reviewed-by: Szymon Kłos <szymon.klos@collabora.com>
|
|
Change-Id: I164e29ed02fc4abf7a5b03ca0c391fb46b60e4f4
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161483
Tested-by: Jenkins
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
|
|
Change-Id: Ia7404122029b6b7c6fe7ff879bb1143b3419fc32
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161239
Tested-by: Jenkins
Reviewed-by: Thorsten Behrens <thorsten.behrens@allotropia.de>
|
|
and
cid#1546236 COPY_INSTEAD_OF_MOVE
cid#1546126 COPY_INSTEAD_OF_MOVE
cid#1546042 COPY_INSTEAD_OF_MOVE
Change-Id: I24b60d855f564ba8551501fc1dc614b24d5505c6
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161440
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
|
|
In readonly mode, Online users need to be able to click on a hyperlink and get the related info.
For this purpose, this PR adds a new function template that sends the hyperlink info if there is any at the clicked position.
I will send the implementation with the next commit.
Signed-off-by: Gökay Şatır <gokaysatir@collabora.com>
Change-Id: I886ea22a7097aac73ade0da78a88ddfc95ad819c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160022
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161372
Tested-by: Jenkins
|
|
Used pyflakes to find unused imports from desktop module. Then, removed
those unused imports.
Change-Id: Iccc0661ed586a717f4e5c69c238cbf70d6de0b79
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158820
Tested-by: Hossein <hossein@libreoffice.org>
Tested-by: Jenkins
Reviewed-by: Hossein <hossein@libreoffice.org>
|
|
There are some CrashReports in 7.6 which have
DeleteItemOnIdle on the stack, but there is nothing
reproducable. So I took a look...
I first thought it's a MCGR regression, due to classes
on the stack. But the Item involved is just random, can
happen with any Item.
Then I thought it may have to do with ITEM refactorings,
but it happens with DeleteItemOnIdle involved, so also
not the case. I already saw DeleteItemOnIdle when doing
these and qualified as 'hack' in the way. already
It is only on Windows and DeleteItemOnIdle is involved.
This again (took a deeper look now) is an old hack to
keep an SfxPoolItem 'alive' for some 'time'. For that,
it triggers an async reschedule which then deletes the
Item when being called. If the Item will be used after
that is pure coincidence - seems to work in most cases.
It seems as if for Windows the timing slightly changed
for some scenarios, so a reschedule is too early. This
can happen with this hack anytime.
DeleteItemOnIdle is used in scenarios where SfxPoolItem*
is e.g. returned, but is *not* anchored, so e.g. not
member of an SfxItemSet. Or in short: Lifetime is not
safe.
DeleteItemOnIdle exists since 1st import, but was
changed to AsyncEvent ca. 4 months ago (see
57145acf9ec47c23e307b7a5c0029d21d937cc35), so that may
have caused it. It is possible that these errors happen
on Windows since then. Before something more complicated
was used to delete it late, but surely also not really
safe.
Due to ITEM refactor I have the knowledge/tooling to
solve this. It will not be a 1-5 lines fix, but it is
a hack and in the way for further ITEM refactor anyways.
What we have nowadays is a SfxPoolItemHolder -> it's
like an SfxItemSet for a single Item. It safely holds/
controls the lifetime of an SfxPoolItem. It is already
used in quite some places. It helps to solve many hacks,
also the ones putting Items directly to the Pool - due
to there never was an alternative for that. In principle
the ItemPool/ItemSet/Item paradigm was never complete
without SfxPoolItemHolder.
Thus I started to fix that (and remove that hack for
good, sooo many changes over the years, sigh), but as
said is not straightforward. Will have to change
retvals of involved stuff to SfxPoolItemHolder - it's
just two pointers and designed to be copied (one is a
Pool, needed to cleanup when destructing).
CopyConstruct/destroy just counts the RefCnt up/down,
so cheap.
1st version compiling, let's check on gerrit...
Corrected one error in QueryState for securitypage, also
added some security features/asserts.
Change-Id: Ida49fd35ca88ead84b11d93e18b978cb9e395090
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161083
Tested-by: Jenkins
Reviewed-by: Armin Le Grand <Armin.Le.Grand@me.com>
|
|
This reverts commit bb5622adc5db348efcc9a6f41d19de9f00a367dd, going back to a
less aggressive 7 day period for now.
Change-Id: I439a49f3ca6761ef17ca2b92d395b0de5c400197
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161050
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
|
|
To get the MOZ_MAINTENANCE_SERVICE mode going at all, update.status needs to
contain a "pending-service" token. For Mozilla, code in its
toolkit/mozapps/update/UpdateService.sys.mjs takes care of writing that. For
us, lets always write that in update_checker() (even on Linux, where it's
apparently harmless).
Then, the MOZ_MAINTENANCE_SERVICE code is rather picky with its various sanity
checks: Among other things, it expects argv[0] to be a full path to the updater
executable, and it expects the update.mar (and its status and log files) to be
in a directory hierarchy named updates/0/ rather than patch/. So get all that
fixed in desktop/source/app/updater.cxx. And patch in
external/onlineupdate/lo.patch where it expects to find the updater executable
(just updater.exe vs. our program/updater.exe).
And we shouldn't interfere with the upstream Mozilla maintenance service, so
also rename that in external/onlineupdate/lo.patch.
And `update_service install` wants to read version resources from the
update_service.exe, so provide that (via gb_Executable_add_default_nativeres).
Also, `update_service install` wants to read a MozillaMaintenanceDescription
value from an updater.ini, so provide one (with contents of that value inspired
by Mozilla's browser/locales/en-US/updater/updater.ini).
As we now have an updater.ini anyway (and which apparently works fine with Unix
line ends on both Linux and Windows), also use it on Linux and drop the
onlineupdate/source/update/updater/progressui_gtk.cpp again from
external/onlineupdate/lo.patch. And update external/onlineupdate/README.md how
to manually execute that test against an updater.ini.
Change-Id: I0e3e5e5311be61e1224cda700af2e5d751113a99
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160996
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
|
|
and
cid#1546498 COPY_INSTEAD_OF_MOVE
cid#1546384 COPY_INSTEAD_OF_MOVE
cid#1546376 COPY_INSTEAD_OF_MOVE
cid#1546374 COPY_INSTEAD_OF_MOVE
cid#1546373 COPY_INSTEAD_OF_MOVE
cid#1546368 COPY_INSTEAD_OF_MOVE
cid#1546365 COPY_INSTEAD_OF_MOVE
cid#1546356 COPY_INSTEAD_OF_MOVE
cid#1546340 COPY_INSTEAD_OF_MOVE
cid#1546266 COPY_INSTEAD_OF_MOVE
cid#1546236 COPY_INSTEAD_OF_MOVE
cid#1546188 COPY_INSTEAD_OF_MOVE
cid#1546178 COPY_INSTEAD_OF_MOVE
cid#1546166 COPY_INSTEAD_OF_MOVE
cid#1546156 COPY_INSTEAD_OF_MOVE
cid#1546144 COPY_INSTEAD_OF_MOVE
cid#1546143 COPY_INSTEAD_OF_MOVE
cid#1546100 COPY_INSTEAD_OF_MOVE
cid#1546078 COPY_INSTEAD_OF_MOVE
cid#1546041 COPY_INSTEAD_OF_MOVE
cid#1546036 COPY_INSTEAD_OF_MOVE
cid#1546033 COPY_INSTEAD_OF_MOVE
Change-Id: Ib3586d93198992e206baf5c2de5a663d5574aa3c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160979
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
|
|
...from Desktop::disposing() at framework/source/services/desktop.cxx:1041, on
Windows, when the HAVE_FEATURE_UPDATE_MAR update() call returns true (and
soffice.bin is about to exit now), but the css.frame.Desktop service happens to
already have been created somewhere else (and will thus be disposed as part of
disposing the service manager) but doesn't receive a terminate() call in
Desktop::Main().
So reorder the code in Desktop::Main(), moving the HAVE_FEATURE_UPDATE_MAR code
after the
> xDesktop = css::frame::Desktop::create( xContext );
so that we have something to call
> xDesktop->terminate();
on in this scenario.
Change-Id: Iee5b6eeece33d5a27cadb94a7da0d26aa1492e91
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160831
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
|
|
...caused by typo in previous 58bfd8f982950566018f77ce8895963d914058f8 "Fix
backward vs. forward slashes on Windows"
Change-Id: Ibd1967688c6ab4c962818595d435c7f821ad3d64
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160820
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
|
|
Change-Id: I24771a526848901ccedb15aa5dd7b373fe854977
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160765
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
|
|
Change-Id: I04bb3462948aeab24d46ee7ee910fdae8da2aa65
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160674
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
|
|
and
cid#1545955 COPY_INSTEAD_OF_MOVE
cid#1545954 COPY_INSTEAD_OF_MOVE
cid#1545952 COPY_INSTEAD_OF_MOVE
cid#1545948 COPY_INSTEAD_OF_MOVE
cid#1545943 COPY_INSTEAD_OF_MOVE
cid#1545935 COPY_INSTEAD_OF_MOVE
cid#1545930 COPY_INSTEAD_OF_MOVE
cid#1545928 COPY_INSTEAD_OF_MOVE
cid#1545925 COPY_INSTEAD_OF_MOVE
cid#1545922 COPY_INSTEAD_OF_MOVE
Change-Id: I28d830504337f417829c675b1eb9c763b83b30c4
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160522
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
|
|
and
cid#1546474 COPY_INSTEAD_OF_MOVE
cid#1546473 COPY_INSTEAD_OF_MOVE
cid#1546469 COPY_INSTEAD_OF_MOVE
cid#1546467 COPY_INSTEAD_OF_MOVE
cid#1546458 COPY_INSTEAD_OF_MOVE
cid#1546448 COPY_INSTEAD_OF_MOVE
cid#1546446 COPY_INSTEAD_OF_MOVE
cid#1546441 COPY_INSTEAD_OF_MOVE
cid#1546424 COPY_INSTEAD_OF_MOVE
cid#1546377 COPY_INSTEAD_OF_MOVE
cid#1546374 COPY_INSTEAD_OF_MOVE
cid#1546352 COPY_INSTEAD_OF_MOVE
cid#1546334 COPY_INSTEAD_OF_MOVE
cid#1546328 COPY_INSTEAD_OF_MOVE
cid#1546310 COPY_INSTEAD_OF_MOVE
cid#1546303 COPY_INSTEAD_OF_MOVE
Change-Id: I8a43fdd574857ba1d3ec416f23c8269a9a08e12f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160515
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
|
|
...after 13595f6220095d120e13ccb6fbfac1de4c803fe7 "Fix
--enable-online-update-mar on Windows"
Change-Id: I8e13a3f4234f3b5fb64d606eb3c2c16611dacd33
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160491
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
|
|
The code had apparently rotten a bit,
* a wchar_t vs. char16_t confusion in desktop/source/app/updater.cxx
* code broken by 926e4e469d0285ee72f8da80f00370b4b3120417 "Rename online updater
functions and strcmp relpath" in
onlineupdate/source/update/updater/updater.cxx
* -DUNICODE missing in some places (so that plain Windows functions resolve to
the ...W variant), which had been set centrally in the past IIRC
* silencing some warnings like "C4267: 'initializing': conversion from 'size_t'
to 'int', possible loss of data" (where silencing is the right thing to do for
effectively extern code); no sure why those apparently didn't hit in the past,
maybe it is all warnings that compilers only started to emit in recent years,
or only for recent -std:c++... modes
* silencing some "Conversion from string literal loses const qualifier" errors
with -Zc:strictStrings-; these hit at least with recent VS 2022 Preview and
--with-latest-c++, where -Zc:strictStrings is apparently now on by default
Change-Id: I7fe46f5aa2b42fc9c03f24f7f0236512b4d3b936
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160451
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
|
|
(*) Make all of it use a "Scoped" paradigm
(*) pass by value, no need to allocate on heap
(*) make all of the construction go via the *Access constructors, instead of it being some via the constructors and some via the Acquire*Access methods.
(*) take the Bitmap& by const& in the constructor, so we can avoid doing const_cast in random places.
Change-Id: Ie03a9145c0965980ee8df9a89b8714a425e18f74
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160293
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Having it subclass Bitmap encourages confusion in passing it around, and
I need the extra type-safety for my work on merged-alpha
Change-Id: I35819f9b8ee609cbdaf865563c78531e397b529b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160235
Tested-by: Noel Grandin <noel.grandin@collabora.co.uk>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
...present ever since the code got introduced in
569269078576fa832143ec4f0bf03283ff358f48 "improve the update checker"
Change-Id: I38d0efee3cb3f6954dd30690ba9afddf0b66c959
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160348
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
|