diff options
author | Stephan Bergmann <sbergman@redhat.com> | 2022-01-28 15:01:31 +0100 |
---|---|---|
committer | Stephan Bergmann <sbergman@redhat.com> | 2022-01-28 16:14:46 +0100 |
commit | a4348ec796e6efe0edce7bb8bfa47b1fa95d0e34 (patch) | |
tree | 840e1d5c6b3df3d87fe8822f3ed2f3c2898f489a /svtools | |
parent | a93eedc5277f97d1b0c6dbfe8bf32a79869a9830 (diff) |
We no longer know how to contact TLX anyway
GCC 12 trunk started to warn
> svtools/source/control/asynclink.cxx: In member function ‘void svtools::AsynchronLink::HandleCall_PostUserEvent(void*)’:
> svtools/source/control/asynclink.cxx:76:15: error: storing the address of local variable ‘bDeleted’ in ‘*this.svtools::AsynchronLink::_pDeleted’ [-Werror=dangling-pointer=]
> 76 | _pDeleted = &bDeleted;
> | ~~~~~~~~~~^~~~~~~~~~~
> svtools/source/control/asynclink.cxx:75:10: note: ‘bDeleted’ declared here
> 75 | bool bDeleted = false;
> | ^~~~~~~~
> svtools/source/control/asynclink.cxx:75:10: note: ‘<unknown>’ declared here
And while that is arguably a false warning, it points at some dubious code
anyway: The only reason for the AsynchronLink _bInCall and _pDeleted members is
to potentially SAL_INFO some "valuable historical artefact", if
AsynchronLink::Call were ever called recursively. But
0de7513cd73f1f35265e42f9a2b9befe81302c2c "osl::Mutex->std::mutex in
AsynchronLink" apparently already argued that such recursive calls can never
happen, as locking _aMutex in a recursive call of Call would now deadlock.
Change-Id: I9ee47ac65652e40e23a37be3d0694fa1185b877a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/129104
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
Diffstat (limited to 'svtools')
-rw-r--r-- | svtools/source/control/asynclink.cxx | 15 |
1 files changed, 0 insertions, 15 deletions
diff --git a/svtools/source/control/asynclink.cxx b/svtools/source/control/asynclink.cxx index 1fb8b613eb09..08fc755c7862 100644 --- a/svtools/source/control/asynclink.cxx +++ b/svtools/source/control/asynclink.cxx @@ -30,7 +30,6 @@ namespace svtools { void AsynchronLink::Call( void* pObj, bool bAllowDoubles ) { - SAL_INFO_IF( !_bInCall, "svtools", "Recursives Call. Eher ueber Timer. TLX Fragen" ); // Do NOT translate. This is a valuable historical artefact. if( !_aLink.IsSet() ) return; @@ -47,8 +46,6 @@ AsynchronLink::~AsynchronLink() { Application::RemoveUserEvent( _nEventId ); } - if( _pDeleted ) - *_pDeleted = true; } void AsynchronLink::ClearPendingCall() @@ -69,19 +66,7 @@ IMPL_LINK_NOARG( AsynchronLink, HandleCall_PostUserEvent, void*, void ) // need to release the lock before calling the client since // the client may call back into us } - _bInCall = true; - - // some fancy footwork in case we get deleted inside the call - bool bDeleted = false; - _pDeleted = &bDeleted; - _aLink.Call( _pArg ); - - if( !bDeleted ) - { - _bInCall = false; - _pDeleted = nullptr; - } } } |