Age | Commit message (Collapse) | Author |
|
Change-Id: Icf52f1665561eef0aa10febc9ca2f946e89b689b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165141
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: I895db1f02338b6c2a1fec8bdfc15c2857fbee38f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165138
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Makes no sense (and would case serious problems) to set the size
(pixel) from the outside of the BitmapEx.
Change-Id: Iab597f755d45be2380884ec6685d119fcc8b1e98
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164946
Tested-by: Jenkins
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
|
|
Change-Id: I3da15340809603b991d3a41beb2af7a0ba375acc
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165137
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
|
|
I checked if this is used, but it can be replaced
using Clear() -> all. This prevents that the whole
array of Items in an ItemSet gets set to
INVALID_POOL_ITEM.
I also checked if INVALID_POOL_ITEM/IsInvalidItem
is needed at all representing SfxItemState::DONTCARE
but it is and still will need to be set for individual
Items.
At last checked if SfxItemState::UNKNOWN and
::DISABLED really need to be separate states, but
indeed there are some rare cases that need that.
To make things more consistent I also renamed
SfxItemState::DONTCARE to SfxItemState::INVALID
to better match Set/IsInvalid calls at ItemSet.
The build showed a missing UT and led to a problem
due to the hand-made ItemSet-like SearchAttrItemList.
The state 'invalid' seems to be used as 'unused'
marker. It should be changed to use SfxPoolItemHolder
and not need that. For now, set by using an own loop
to set to that state.
Change-Id: Ifc51aad60570569a1e37d3084a5e307eed47d06c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165035
Tested-by: Jenkins
Reviewed-by: Armin Le Grand <Armin.Le.Grand@me.com>
|
|
This was missing in the mechanism to suppress
EditView exclusive content, so it is now also
suppressed in PDF export.
Also changed TextHierarchyEditPrimitive2D to
also decide inside it's local get2DDecomposition
implementation, so it does not need to be#
supported in PrimitiveProcessors (and cannot be
forgotten in future implementations).
Also added support for EditView exclusive
Primitive's name in idToString (missed that).
Change-Id: I61efc9dddb7d6f0190c7b1fb4b0acf98ab5767f5
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165109
Tested-by: Jenkins
Reviewed-by: Armin Le Grand <Armin.Le.Grand@me.com>
|
|
Change-Id: I0ffebd5a1f871b86507d0c1b3946b32993d76365
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165106
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
|
|
Change-Id: I1172854a1bf00e74adbe350c54e4e98ea38b0b35
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165072
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
|
|
Summary for what's done with this commit:
init.cxx
* Add guards for modify commands.
viewsh:
* Add "IsCurrentLokViewReadOnly" for ease of use.
unocitm:
* Add guard for modify comamnds
dispatch.cxx
* Implement readonlyview.
objmisc:
* Modify IsReadOnlyUI check for LokReadOnly view.
svx.sdi:
* Disable TableChangeCurrentBorderPosition command for readOnly views.
sw-editwin:
* Treat mouse moves as readonly when the view is LokReadOnly.
gridwin:
* For autofilter.
impedit2, inputhdl:
* For text input.
svdedtc:
* For sdr object dragging.
Change-Id: I71fc353976256bce22042bbb6042ee464b65cc13
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165093
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
|
|
...(that was defined iff OSL_DEBUG_LEVEL >= 2) and replace its uses with
OSL_DEBUG_LEVEL directly
Change-Id: I807c15a02cc8ced9852287df0afb4808761d19d2
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165067
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
|
|
We have the case that e.g. a placeholder Graphic/Text
shall only be processed/shown in the EditView of the
application, but not in any other Primitive-based
usages, including exports, SlideSHow, etc.
I already thought about that when initially converting
Draw/Impress to Primitives, but always found other
solutions, mainly because full XShapes/SdrObjects
had to be taken into account, that can be handled in
VC/VOC/OC implementation. But here we have varying
visualisations of one shape.
Thus I implemented a helper Primitive called
ExclusiveEditViewPrimitive2D. Anything you embed
there will only be processed when the switch to
do so is active in the ViewInformation2D. And
that switch is only set in the EditView paint.
Change-Id: I307f4b0fe7f8faf98789787f216cac7be86a0515
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165066
Tested-by: Jenkins
Reviewed-by: Armin Le Grand <Armin.Le.Grand@me.com>
|
|
Starting with commit bfa21ce5fa08f2c634ccb6162914be55aef9f3c2,
horizontal swiping in Calc moved in the wrong direction scrollbars
were drawn mirrored.
So, revert parts of commit bfa21ce5fa08f2c634ccb6162914be55aef9f3c2
so that we are using Calc's previous "negative scrollbar range"
implementation for RTL UIs, but only for horizontal scrollbars since
vertical scrollbars are the same in LTR and RTL UIs.
Also, always disable RTL for scrollbars. Enabling RTL causes the
following bugs when clicking or dragging the mouse in scrollbars in
Calc's RTL UI:
- Click or drag events get mirrored so you must click or drag in
unexpected locations to move the scrollbar thumb in the desired
direction
- Repeatedly dragging the scrollbar thumb leftward can only move
no highter than the R, S, or T columns
Note: even though RTL is always disabled for Calc scrollbars, the arrows
must still be swapped in vcl's ScrollBar class.
Change-Id: I85aac94ffaf7df2eeb251a3ff150cc0363b5d770
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164959
Reviewed-by: Stéphane Guillou <stephane.guillou@libreoffice.org>
Tested-by: Jenkins
Reviewed-by: Patrick Luby <guibomacdev@gmail.com>
|
|
Method validRanges2() was encapsulated by DBG_UTIL
but used inside assert, so adapted the define
Change-Id: I695a0c85f389d0c37b24e6e1986037ce6fb0c805
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165052
Tested-by: Jenkins
Reviewed-by: Armin Le Grand <Armin.Le.Grand@me.com>
|
|
Open an Impress document via LOK, open the slide layout sidebar, click
the toggle icon so it gets closed: the toggle icon will signal that the
sidebar is open, when it's closed already.
This is a regression from commit
aaf6ce108e91b1504befe19afcee471e3316ae7a (cool#7492 sfx2 lok: set
language/locale on async sidebar update, 2024-01-11), previously we
always emitted LOK_CALLBACK_STATE_CHANGED callbacks with plain text
payloads for the sidebar, where the locale with implicit (with all its
issues), but the above scenario worked fine.
Fix the problem by making SidebarController::disposeDecks() consistent
with SwitchToDeck(), so now we always emit JSON payloads for the sidebar
deck changes.
An alternative would be to improve the code around extractUnoCommand()
in online.git to handle a mix of plain text and JSON payloads, but the
plain text payload is tricky to extend, so using more JSON payloads
sounds like a better fix.
Change-Id: I5b75c2987c230c6720181a1e95ae579727943235
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165055
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Tested-by: Jenkins
|
|
Add new hyphenation option "Compound characters at line end",
equivalent of libhyphen's COMPOUNDLEFTHYPHENMIN, to limit bad
pattern based hyphenation of compound words using morphological
analysis of Hunspell.
* Add checkbox to Text Flow in paragraph formatting dialog window
* Store property in paragraph model:
css::style::ParagraphProperties::ParaHyphenationCompoundMinLeadingChars
* Add ODF import/export (loext:hyphenation-compound-remain-char-count)
* Add ODF unit tests
Note: slower Hunspell based hyphenation is used only if
ParaHyphenationCompoundMinLeadingChars >= 3 (we assume that
libhyphen hyphenation patterns cover the smaller distances
correctly). Hunpell based hyphenation doesn't introduce
new hyphenation breaks, only detects the stem boundaries
from the libhyphen based hyphenation breaks.
Follow-up to commit c899d3608d30f3ab4c2bc193c1fcd765221614a4
"tdf#158885 sw: don't hyphenate right after a stem boundary",
replacing hyphenation zone dependence with the new "Compound
characters at line end".
Note: preset COMPOUNDLEFTHYPHENMIN values aren't loaded yet
from hyphenation dictionaries.
Note: the suffix of the last stem of the compound is always
hyphenated, i.e. the distance limits only hyphenation
inside the stem, not inside its suffix or at the end of the
stem before the suffix.
Change-Id: I46a0288929a66f7453e3ff97fbc5a0c6a01f038f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164983
Tested-by: László Németh <nemeth@numbertext.org>
Reviewed-by: László Németh <nemeth@numbertext.org>
|
|
Change-Id: I991b6e908d4139723c2d408d4ba3586676fded18
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164693
Tested-by: Jenkins
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
|
|
Online side can set this property to allow comment editing. This is the infra.
Implementation will be in another commit.
Change-Id: I3a6f1ad6818c2c6587d98896c3d6d913d51a2295
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164988
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
|
|
Change-Id: I2ab1cd2d0be81b15b4701581093b696aaac2846c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164979
Tested-by: Jenkins
Reviewed-by: Armin Le Grand <Armin.Le.Grand@me.com>
|
|
Change-Id: I6d98aab59799365c9a0052f259cd5c8208d995bf
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164961
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
See tdf#94879 for motivation.
Change-Id: I35c1b90b472a27b34a3ca31cd81cd1fa65b24843
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164963
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Tested-by: Jenkins
|
|
Implement ODF import/export for bar-of-pie and pie-of-pie types,
and add simple tests for this capability. The associated ODF tags
are implemented in the loext namespace. This also required changing
the schema.
Change-Id: Ib55ae1c5818ad810f7b962d807a9163a3d02ba17
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164436
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: I8d103f3607f273677f075ae800f2f8477c751e83
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164927
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: Ib0a72355972662c6b902bca9a527be91fb3e1d17
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164930
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: Ibe6154dc5de6251fb39952caa190d53a6fd1fd89
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164926
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
we can use an unordered_map here
Change-Id: I445521d9dec2d49d9df7d2a733a43330d0996ecb
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164924
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: Ia56bb092a4634e301ff8922ae63e6f7ede874d80
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164865
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
This fixes my GCC 13.2.0 --enable-gtk4 build on Debian
testing, which started failing after
commit acd40306b3737d50cf24462b2d3e451092543e64
Date: Thu Mar 14 12:22:13 2024 +0200
reduce symbol visibility in vcl
like this:
/home/michi/development/git/libreoffice-WORKTREE/vcl/unx/gtk4/../gtk3/salnativewidgets-gtk.cxx:2195: error: undefined reference to 'vcl::bitmap::get_unpremultiply_table()'
collect2: error: ld returned 1 exit status
make[1]: *** [/home/michi/development/git/libreoffice-WORKTREE/vcl/Library_vclplug_gtk4.mk:20: /home/michi/development/git/libreoffice-WORKTREE/instdir/program/libvclplug_gtk4lo.so] Error 1
make[1]: *** Waiting for unfinished jobs....
make: *** [Makefile:290: build] Error 2
Change-Id: I0921801f6ad0f20f5250ca15a2749d7da044fcd8
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164856
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
[LNK] Library/libupdatecheckuilo.so
/home/mk/core/extensions/source/update/ui/updatecheckui.cxx:96: error: undefined reference to 'MenuBarUpdateIconManager::MenuBarUpdateIconManager()'
/home/mk/core/extensions/source/update/ui/updatecheckui.cxx:105: error: undefined reference to 'MenuBarUpdateIconManager::SetBubbleImage(Image const&)'
/home/mk/core/extensions/source/update/ui/updatecheckui.cxx:107: error: undefined reference to 'MenuBarUpdateIconManager::~MenuBarUpdateIconManager()'
/home/mk/core/extensions/source/update/ui/updatecheckui.cxx:166: error: undefined reference to 'MenuBarUpdateIconManager::RemoveBubbleWindow()'
/home/mk/core/extensions/source/update/ui/updatecheckui.cxx:187: error: undefined reference to 'MenuBarUpdateIconManager::SetBubbleTitle(rtl::OUString const&)'
/home/mk/core/extensions/source/update/ui/updatecheckui.cxx:191: error: undefined reference to 'MenuBarUpdateIconManager::SetBubbleText(rtl::OUString const&)'
/home/mk/core/extensions/source/update/ui/updatecheckui.cxx:197: error: undefined reference to 'MenuBarUpdateIconManager::SetBubbleImage(Image const&)'
/home/mk/core/extensions/source/update/ui/updatecheckui.cxx:203: error: undefined reference to 'MenuBarUpdateIconManager::SetShowBubble(bool)'
/home/mk/core/extensions/source/update/ui/updatecheckui.cxx:215: error: undefined reference to 'MenuBarUpdateIconManager::SetShowMenuIcon(bool)'
/home/mk/core/extensions/source/update/ui/updatecheckui.cxx:55: error: undefined reference to 'MenuBarUpdateIconManager::~MenuBarUpdateIconManager()'
collect2: error: ld returned 1 exit status
Change-Id: I7175126d82731c3dd2cdba64646006f4be664450
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164855
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
Change-Id: Ifaa37246e79678aa0c548b9ca8a9faf8036b9195
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164804
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
it is always SAL_DLLPRIVATE, and we are already using SAL_DLLPRIVATE
mostly, so just be consistent
Change-Id: I7df969506a9b7a078921400cf245cede3c60c5f0
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164805
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: I66d749362c9fb5f2c228f0f5d2c927cc0cf3f89f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164179
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
towards making these immutable
Change-Id: I9f9ac17828018525194c34eadda66bbf863fd2f7
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164795
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
|
|
Change-Id: I5069beecedca7b346c9f17f46570513a40606e84
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164784
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
RTF documents may contain shapes of the type "Picture frame"
({\sn shapeType}{\sv 75}) that are imported as SdrGraphObj
This change prevents the display of a replacement picture
if there is no picture set.
Change-Id: Ia3a576ddcb2a3bbffae859102d274d4ecd214f6c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164755
Tested-by: Jenkins
Tested-by: Gabor Kelemen <gabor.kelemen.extern@allotropia.de>
Reviewed-by: Thorsten Behrens <thorsten.behrens@allotropia.de>
|
|
Change-Id: Iaef46216dac6584f57b7933d658384f54d0a4544
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164772
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
|
|
Change-Id: If499e28e5ac69018b35b475a73ecb2dc4b78dad6
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164786
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
|
|
Change-Id: I847e5de84f0636b5a169f383e319a6b8707cc31f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164773
Tested-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
|
|
Change-Id: If7a31f8b3667d9a6b8719553567211071bd2d631
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164774
Tested-by: Jenkins
Tested-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
|
|
just use SAL_DLLPRIVATE
Change-Id: I6040c505bcd9382432fa6de2a184b26a6ccc22c3
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164771
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: Id229344a68925a1bde84f2b4aad46cfc5f01b797
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164769
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
|
|
In a following scenario, there could be a crash:
1. Platform: a Windows system with MS Word installed.
2. LibreOffice is run in a listener mode;
3. A Java program opens a Writer document in a visible mode, with an
embedded Word OLE object;
4. It adds some text; then resizes the OLE object; then removes the
OLE object.
Word OLE objects have OLEMISC_RECOMPOSEONRESIZE flag [1]; this means,
that every re-layout of the document with this object must ask the
OLE server to re-layout the object content. So, the request thread
changes the document text, which triggers idle re-layout or redraw;
the idles start executing immediately in the idle main thread, with
solar mutex locked; then the request thread starts the OLE object
removal operation. The ongoing relayout in main thread would at some
stage need to execute a call to the OLE object, which temporarily
releases the solar mutex (this makes impossible using solar mutex to
synchronize the order of operations in this scenario). Other mutexes
guarding OLE object (in OleEmbeddedObject, and in OleComponent) are
also released for the duration of the call. Thus, the removal that
happens in the request thread proceeds, and the node containing the
OLE object is destroyed, while the main thread (processing exactly
this node) is waiting for the OLE server response, then for mutexes,
to proceed. After that, the main thread would attempt to access the
destroyed node object.
This change introduces a scheduler guard (a RAII object), that sets
a flag to not process idle events during the lifetime of the guard.
In its constructor, it also makes sure, that current pending idle
events are finished. This would make sure that guarded code started
from other threads would not race with idles potentially accessing
the model that is currently in transient state.
[1] https://learn.microsoft.com/en-us/windows/win32/api/oleidl/ne-oleidl-olemisc
Change-Id: I2ef0601ccd8b5872588a88493d1f43e39022dbed
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164753
Tested-by: Mike Kaganski <mike.kaganski@collabora.com>
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
Change-Id: If811c9ec336543227db73c990248b9113846cf2f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164657
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: Iebf8b84c205eee083ecf8b436520911ba132fe5c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164703
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
|
|
same is true for "Theme Colors", a problem since:
commit 4ccc2f0e3f45c9d78f74b1848851bedf71f7382d
Date: Fri Mar 1 22:11:14 2024 +0200
cool#8327 use tools::JsonWriter for theme colors
Change-Id: Ibaab5df197bd8005037e066181e8a50bdda5ceda
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164658
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164669
Tested-by: Jenkins
|
|
sal_uLong to sal_uInt32 for the clipboard format.
Clipboard enum class uses sal_uInt32, so staying consistent with that.
Clipboard format doesn't exceed unsigned 32-bit int.
Change-Id: I1938f9ba877fc89c51415d9715a82e9b0c09d4e4
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164604
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Tested-by: Jenkins
|
|
Adds a search field to the gallery to search for icons titles.
Wildcards '*' and '?' are supported
Change-Id: I7a8ed2addef3031b77eeeec21889cf72b964ca26
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164167
Tested-by: Jenkins
Reviewed-by: Gabor Kelemen <gabor.kelemen.extern@allotropia.de>
|
|
See tdf#94879 for motivation.
Change-Id: I65f69d6fb334b0d376a304cd1bc1437fd116c9a8
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164643
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Tested-by: Jenkins
|
|
Using an external (Java) script that opens a document, and then quickly
closes it, it may happen that the idle that generates a preview is still
active, when the control thread calls XCloseable::close, which destroys
still used document. This leads to use-after-free.
This uses the close listener in SfxObjectShell, to veto closing document
that is still in use by the preview generation code. After completion,
when the caller of close() transferred ownership, then the call to close
is repeated.
Change-Id: I39691f61ad5141d7e8ee54723d5aef87f0bc01dc
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164632
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
The events may be processed after the shell has been destroyed. This is
happening reliably after commit e2bfc34d146806a8f96be0cd2323d716f12cba4e
(Reimplement OleComponentNative_Impl to use IGlobalInterfaceTable,
2024-03-11) when controlling LibreOffice from external Java scripts; but
obviously, it could happen before as well.
Now SotObject inherits from cppu::OWeakObject, instead of SvRefBase.
Change-Id: I73a3531499a3068c801c98f40de39bdf8ad90b2b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164458
Tested-by: Mike Kaganski <mike.kaganski@collabora.com>
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
SfxHintPoster::mLink always pointed to SfxDispatcher::PostMsgHandler and
except in ~SfxDispatcher, it was reinitialized to empty i.e. cleared.
This extra indirection is now removed.
SfxHintPoster was using SvRefBase to persist even after SfxDispatcher
was deleted and then deleted itself after SfxHintPoster::Post call was
completed. This extra indirection was adding 4-5 frames while debugging.
Change-Id: Ibfd6d3aea10ddf45732adc1a9d63a25717a771fa
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162700
Tested-by: Hossein <hossein@libreoffice.org>
Reviewed-by: Hossein <hossein@libreoffice.org>
|