Age | Commit message (Collapse) | Author |
|
Any such exceptions were already caught further up the stack (by
SfxBaseModel::postEvent_Impl), but prevented later listeners from being notified
as soon as one listener threw an exception (which I saw happen with some
3rd-party extension).
Change-Id: Ia6bd1c73d29ab6d6e131652df51939ba0c0e988e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176854
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
...as had already been done prior to 8122c82d90117fc0c4c8ea87aa7f771d5e92bf36
"osl::Mutex->std::mutex in SfxGlobalEvents_Impl"
Change-Id: Ia74c07a3458d7a5af428b68d1728cc9e51aa42a4
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176853
Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
Tested-by: Jenkins
|
|
Change-Id: I24c947c20afeffffebe5ac794108c4ccecb680f1
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/172828
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: I6306260d03c1208ec250c2f9a3860fa569f6d9c8
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167448
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
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>
|
|
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>
|
|
If you try hard enough, it's possible to request an "add conditional
format" dialog in one view and have the dialog pop up in an other view.
This is related to cool#7853 but it focuses on the wider problem.
What happens is that sometimes we do want to execute an uno command in
an async way, e.g. one dialog opening an other dialog in its response
handler: making sure the dialog is not manually / synchronously spinning
the main loop while it's running is wanted. Also fixing each & every
async command dispatch manually would be a lot of work.
Fix the problem by remembering the current view in SfxHintPoster::Post()
as it posts events to the main loop and restoring that view if necessary
in SfxHintPoster::DoEvent_Impl().
Other comments:
- An alternative would be to just dispatch all these UNO commands
synchronously, but see above, there are cases where we want to stay
async, a nested main loop would be worse.
- An even more general fix would be to handle all calls to
Application::PostUserEvent(), but vcl doesn't know what is the
current view and would have trouble switching to that view (only sfx2
and higher up knows that), so do this only at a SfxHintPoster::Post()
level, this is already meant to fix all async uno commands.
- There was a single case in sd/ where we tried to dispatch an async
event while switching views, so switch to a sync command dispatch
there to avoid the problem. CppunitTest_sd_tiledrendering would hang
without this and would emit a warning in SfxHintPoster::Post().
- Restore the sc/ code to do its async dispatch as it used to, so now
CppunitTest_sc_tiledrendering's testOpenURL is a test case that covers
this change.
Change-Id: I765e618f55caad791aa1fe7569a32bcc31622525
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161071
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Tested-by: Jenkins
|
|
Change-Id: I364f13308adf8b3257e53da2bc6576088bb958f0
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/150867
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
...so that its TOOLS_WARN_EXCEPTION can be used in
comphelper/source/misc/logging.cxx in a follow-up commit. (And while at it,
rename from diangose_ex.h to the more appropriate diagnose_ex.hxx. The
comphelper module is sufficiently low-level for this immediate use case, so use
that at least for now; o3tl might be even more suitable but doesn't have a
Library until now. Also, for the immediate use case it would have sufficed to
only break DbgGetCaughtException, exceptionToString, TOOLS_WARN_EXCEPTION,
TOOLS_WARN_EXCEPTION_IF, and TOOLS_INFO_EXCEPTION out of
include/tools/diagnose_ex.h into an additional new
include/comphelper/diagnose_ex.hxx, but its probably easier overall to just move
the complete include file as is.)
Change-Id: I9f3222d4ccf1a9ac29d7eb9ba1530d53e2affaee
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/138451
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
Change-Id: I7984f0b52809091511dc01005fdbfeafd521b4bf
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/137048
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: I96d1194253207642e7abe83b0b18c82eb3782824
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/134316
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
See tdf#42949 for motivation
Change-Id: I1f520aad1b1c942ad5616d96851016fc366ac58f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/130203
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
|
|
regression from
commit 62efb188668a3296591dcfa3658185e2f982e356
use comphelper::WeakComponentImplHelper in SlideShowVie
Switch notifyEach to leave the mutex locked after being called,
because that seems to compose better - because after a call
it is in the same state that was when we entered the call.
Change-Id: I42e80cc7be1b65ed8cab24ab7c11210e056d916d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/128723
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
regression from
commit a2eaf99e46f370ffb3b73828c2bdc53dc193b9a4
Author: Noel Grandin <noel.grandin@collabora.co.uk>
Date: Fri Jan 14 10:56:50 2022 +0200
make comphelper::OInterfaceContainerHelper4 more threadsafe
Change-Id: Iea42fd0bba6da99d82076b4d1b495d67fa62243c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/128526
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
(*) make all the methods that require an external mutex take a
std::unique_lock as a parameter, so that call sites cannot forget
(*) make the forEach method drop the lock when firing listener methods,
to reduce the odds of deadlock
Change-Id: I0a80e3b3d1c1c03b7de4a658d31fcc2847690903
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/128415
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: If154764b5bd9917b1d41b885dc1f4da6812607d4
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/127903
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
It abused XEventListener, and created a DocumentEvent object from
the incomplete data passed to notifyEvent in EventObject. That way,
the data initially created for the document event (in Supplement)
was lost on the way.
Change-Id: I409611482ce2323a3192c68f3525f450a9395815
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126090
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
Change-Id: I0cdce64983901a6cc3b50dc9873a370ff08b9eb2
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/124387
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
regression from
commit 8122c82d90117fc0c4c8ea87aa7f771d5e92bf36
osl::Mutex->std::mutex in SfxGlobalEvents_Imp
Change-Id: Ia7416520a3538dcb77d7a4573045122581730264
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/122779
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
regression from
commit 8122c82d90117fc0c4c8ea87aa7f771d5e92bf36
osl::Mutex->std::mutex in SfxGlobalEvents_Imp
Change-Id: Ifdde340a4cb6a84b5b396d04694e856f6bdd5c03
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/122769
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: I4dae3225b961b663493ca4ea40b6bbec2439270f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120905
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: I14ddf0399a52a153931142401cf3f1ce8bea8161
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119827
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: Ia445feb93b7e65e1b64c69efded9a3e779cb578e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115405
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: I10e04970ceac33c9c3fbfd0182dd2140e06cb80b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/114658
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: I56703b2c0ee009a645458c78c026c546b2e7e321
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/112584
Tested-by: Jenkins
Reviewed-by: Samuel Mehrbrodt <samuel.mehrbrodt@allotropia.de>
|
|
instead of rtl::Instance, which means it will get
cleaned up when UNO shuts down
Change-Id: I77154b14aa3b71828590242acef97b2948ec5638
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/112679
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Except recently checked sc, sd, svx, sw
Found with bin/find-unneeded-includes
Only removal proposals are dealt with here.
Change-Id: Ice1b86628e4f22a39f307b9c5fa567b6ab9d5acb
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/106917
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
|
|
Change-Id: I0ddd7b531cbf9aed6a3834e3cd15c7fe3644736e
(cherry picked from commit 92daf140419e4539f6843e30428e786c3e655dcc)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/105706
Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>
Tested-by: Jenkins
|
|
Change-Id: I9569a10562e50ab5660a5638c518680c58fc97dc
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/93961
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
|
|
...so that it can drop all its UNO references during shut down of the service
manager (when every XComponent service/singleton will be disposed), and not keep
other UNO objects alive until exit as has been discussed in the comments of
<https://gerrit.libreoffice.org/c/core/+/85367/2#
message-ecbc68109994a471c1033a4e6eab0dfd562dca1c> "Elide use of rtl_Instance
(which is obsoleted by C++11 thread-safe statics)".
Change-Id: Ife7cdbe5baad9b3eb4d1ab8687d4dd2970200997
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/89005
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
272f0e97b12e634cdf49a1bff45e1b9068af7d9c "Improvements on previous commit" had
"[m]ade XGlobalEventBroadcaster inherit document::XDocumentEventBroadcaster/
Listener replacements for obsolete document::XEventBroadcaster/Listener. This
means some client sides unfortunately still need to use UNO_QUERY_THROW to
obtain the obsolete interfaces; those client sides should be cleaned up to use
the replacement interfaces instead."
But then 13bedc55b1d533eadcfd4932ef57076e3642caaf "fdo#46808, use service
constructor for frame::GlobalEventBroadcaster" unhelpfully added
XEventBroadcaster back to XGlobalEventBroadcaster because the AutoRecovery code
in framework/source/services/autorecovery.cxx still used the XEventBroadcaster
interface via UNO_QUERY (but which was actually as intended).
(And 79e0e713f798718902fed9740f147ce143bf7b76 "Update to
XDocumentEventBroadcaster et al" meanwhile cleaned up the AutoRecovery code to
use XDocumentEventBroadcaster instead of XEventBroadcaster, anyway.)
This could be considered an incompatible change to XGlobalEventBroadcaster, but
which is an unpublished interface added only in LO times, so lets assume that no
3rd-party code relies on its obsolete XEventBroadcaster interface.
SfxGlobalEvents_Impl keeps implementing XEventBroadcaster (as well as
XEventListener) for backwards compatibility.
Change-Id: I13a5a7fc45d0b79acfdcd3e11bd9b8cc0ece6314
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/88986
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
This part of the code was not meant to be removed by
2ff77d088424bc3f5a8e38ef5c1aa3457d102eca "SfxGlobalEvents_Impl::m_xEvents is
never changed and never null".
Change-Id: I0947457b9b5b6cd79f9ea0aea63265d656787f47
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/88984
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
It is always set in the SfxGlobalEvents_Impl ctor with
m_xEvents = new GlobalEventConfig();
This code added with 3ddbfc311cd4471a6733b2d9dee338d3a80416c7 "INTEGRATION: CWS
fwkpostbeta03" appears to be nonsense boilerplate.
Change-Id: I6a6a75c619015815a8c6231862cd162de6361ecb
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/88969
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
as shown with ./bin/find-headers-to-move-inside-modules.py
Change-Id: I7662417e76fe00c0fc352957560e104b6c2a3d61
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/87850
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
|
|
Found with bin/find-unneeded-includes
Only removal proposals are dealt with here.
Change-Id: I9e5e767f916d317761ac9a19124c19b822226ff5
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/86152
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
|
|
Change-Id: Ia4a622b34ff3f71963cff7a1aa8658a4df12f04f
Reviewed-on: https://gerrit.libreoffice.org/81676
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
|
|
Change-Id: If9924566b21e50cad7a12d781ac5d337de0684ab
Reviewed-on: https://gerrit.libreoffice.org/77526
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
i.e.
commit b3edf85e0fe6ca03dc26e1bf531be82193bc9627
Author: Caolán McNamara <caolanm@redhat.com>
Date: Wed Aug 7 17:37:11 2019 +0100
because then extensions that add a entry to menus results in menu
entries that cannot run in the start center where there is no document.
If allowed when there is no document, it would still result in the
odd behaviour that such menu entries would not work in a document which
contained macros or macro-calls if permission was denied to run them
Add a similar check instead to SfxEvents_Impl::Execute
Change-Id: I8084ab2dc66bb95e2562a3dba188c721d44a5676
Reviewed-on: https://gerrit.libreoffice.org/77465
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
|
|
to make reading this clearer, no logic change intended
Change-Id: Icc6e40df3bf10fde0168c7480e6a3d2d9b33bce2
Reviewed-on: https://gerrit.libreoffice.org/77464
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
|
|
Change-Id: Idb86a5351feaf307504d1f1f110ef8b1275bedce
Reviewed-on: https://gerrit.libreoffice.org/76648
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
Use range-based loops, STL and comphelper functions
Change-Id: I6a0d18493db7a25e8b41925f2d45cb221b5065a7
Reviewed-on: https://gerrit.libreoffice.org/76074
Tested-by: Jenkins
Reviewed-by: Arkadiy Illarionov <qarkai@gmail.com>
|
|
Change-Id: I7f436983ba0eb4b76b02d08ee52626e54b103d5f
Reviewed-on: https://gerrit.libreoffice.org/76189
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
|
|
Change-Id: I97cd8821aa9a6f462f9b271940483738655ee9cf
Reviewed-on: https://gerrit.libreoffice.org/75979
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Similar to clang-tidy readability-container-size-empty
Change-Id: Icabd773f3b924d465b33e8581175f1fcf70c282e
Reviewed-on: https://gerrit.libreoffice.org/71704
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
V595 The 'pDoc' pointer was utilized before it was verified against nullptr.
Check lines: 434, 460.
Change-Id: Iec92cbb8c4f5e47f7852015bf466b1f8ed195517
Reviewed-on: https://gerrit.libreoffice.org/71471
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
Change-Id: Ia24441d3671102fdeeb797547396c25ee2a6ffd3
Reviewed-on: https://gerrit.libreoffice.org/70382
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
Also use scope where possible. This allows to limit guard scope at
language level; visualises the scope clearly; and helps avoiding
errors like fixed in commit 61e4437c857854b331fa01da6f39b2b3b58a800b.
Change-Id: Ifeca96e2df8e8a0897770d9546b2536806275f41
Reviewed-on: https://gerrit.libreoffice.org/70376
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
V572 It is odd that the object which was created using 'new' operator
is immediately cast to another type.
Change-Id: I6d1523e71b3e06be1cf41abaabb44e49fe11cd8e
Reviewed-on: https://gerrit.libreoffice.org/69369
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
Change-Id: If4e07d497ead58a2ff58b5fdedd282b8784be421
Reviewed-on: https://gerrit.libreoffice.org/67435
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: I7f96ce55b22212c38972a51c9273c9f9cd241acf
Reviewed-on: https://gerrit.libreoffice.org/66183
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|