binaryurp/source/bridge.cxx | 2 -- 1 file changed, 2 deletions(-) New commits: commit 5f3031b33a16cf11045006616b01dd89d6d59a32 Author: Noel Grandin <noel.gran...@collabora.co.uk> AuthorDate: Wed Sep 13 11:01:17 2023 +0200 Commit: Noel Grandin <noel.gran...@collabora.co.uk> CommitDate: Wed Sep 13 12:29:13 2023 +0200
Revert "loplugin:unodispose in binaryurp" This reverts commit 3d9f9b1b299251c5c28d74e951b4447193ad7ade. Reason for revert: comment from sberg: I'm not convinced that a general rule of "clear all references in dispose()" is a good idea. For example, in this class, access to connection_ and provider_ is not guarded against MT-races, on the basis that those two are never modified post construction. That is broken now. Also, e.g. Bridge::getDescription dereferences connection_, and benignly used to work fine even when called on a disposed instance. Now, it causes UB. Change-Id: I6039d5b1488146f09439312800ceb1de3cfcf0ba Reviewed-on: https://gerrit.libreoffice.org/c/core/+/156878 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.gran...@collabora.co.uk> diff --git a/binaryurp/source/bridge.cxx b/binaryurp/source/bridge.cxx index f88fc10ca6ed..523bbbf14ac5 100644 --- a/binaryurp/source/bridge.cxx +++ b/binaryurp/source/bridge.cxx @@ -920,8 +920,6 @@ void Bridge::dispose() { // from within an incoming or outgoing remote call, as passive_.wait() would // otherwise deadlock: passive_.wait(); - connection_.clear(); - provider_.clear(); } void Bridge::addEventListener(