Fix dangling pointer: Client::mMemoryTransferService
`mMemoryTransferService` depends on `mOwnedMemoryTransferService`. So,
it must be declared after its dependency, so that it could be destroyed
first.
Bug: dawn:2345
Change-Id: I729ccb18b8b4ed8062945f0f237cc6c01e680316
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/172160
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Arthur Sonzogni <arthursonzogni@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Auto-Submit: Arthur Sonzogni <arthursonzogni@chromium.org>
diff --git a/src/dawn/wire/client/Client.h b/src/dawn/wire/client/Client.h
index 05ffd10..3c15b81 100644
--- a/src/dawn/wire/client/Client.h
+++ b/src/dawn/wire/client/Client.h
@@ -121,9 +121,8 @@
ChunkedCommandSerializer mSerializer;
WireDeserializeAllocator mWireCommandAllocator;
PerObjectType<ObjectStore> mObjectStores;
- // TODO(https://crbug.com/dawn/2345): Investigate `DanglingUntriaged` in dawn/wire.
- raw_ptr<MemoryTransferService, DanglingUntriaged> mMemoryTransferService = nullptr;
std::unique_ptr<MemoryTransferService> mOwnedMemoryTransferService = nullptr;
+ raw_ptr<MemoryTransferService> mMemoryTransferService = nullptr;
PerObjectType<LinkedList<ObjectBase>> mObjects;
// Map of instance object handles to a corresponding event manager. Note that for now because we
// do not have an internal refcount on the instances, i.e. we don't know when the last object