summaryrefslogtreecommitdiff
path: root/svtools
diff options
context:
space:
mode:
authorStephan Bergmann <sbergman@redhat.com>2022-01-28 15:01:31 +0100
committerCaolán McNamara <caolanm@redhat.com>2022-02-05 22:45:32 +0100
commit31c071c72b40194778742ec3fb7e919aebb20c02 (patch)
tree7f525b81d5677557cc36784bbd30e3cb2c27dd1a /svtools
parent6da6e942409d8a9bd4d9a95c43f489443e88346f (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> (cherry picked from commit a4348ec796e6efe0edce7bb8bfa47b1fa95d0e34) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/129445 Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Diffstat (limited to 'svtools')
-rw-r--r--svtools/source/control/asynclink.cxx15
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;
- }
}
}