commit e0bc0218be872d64daa244d8669bd407186f6285 parent 91cfe60f07c34ff026e8100c4be8dcbcd4999462 Author: Hiroyuki Ikezoe <hikezoe.birchill@mozilla.com> Date: Mon, 8 Dec 2025 20:26:46 +0000 Bug 1996570 - Defer destroying mGestureEventListener to the controller thread. r=botond Differential Revision: https://phabricator.services.mozilla.com/D270770 Diffstat:
| M | gfx/layers/apz/src/AsyncPanZoomController.cpp | | | 7 | ++++++- |
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/gfx/layers/apz/src/AsyncPanZoomController.cpp b/gfx/layers/apz/src/AsyncPanZoomController.cpp @@ -929,7 +929,12 @@ void AsyncPanZoomController::Destroy() { MonitorAutoLock lock(mRefPtrMonitor); mGeckoContentController = nullptr; if (mGestureEventListener) { - mGestureEventListener->Destroy(); + APZThreadUtils::RunOnControllerThread(NS_NewRunnableFunction( + "AsyncPanZoomController: destroying mGestureEventListener", + [listener = std::move(mGestureEventListener)]() { + listener->Destroy(); + })); + mGestureEventListener = nullptr; } }