From e69b52eac1364dc02409d666dd94950985ff79e0 Mon Sep 17 00:00:00 2001 From: Moonchild Date: Wed, 26 Oct 2022 08:05:04 +0000 Subject: [PATCH] Hold some strong references on nsRefreshDriver --- dom/base/nsDOMWindowUtils.cpp | 2 +- image/SVGDocumentWrapper.cpp | 7 +++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/dom/base/nsDOMWindowUtils.cpp b/dom/base/nsDOMWindowUtils.cpp index 69f1787b9f..18204efdc1 100644 --- a/dom/base/nsDOMWindowUtils.cpp +++ b/dom/base/nsDOMWindowUtils.cpp @@ -2409,7 +2409,7 @@ nsDOMWindowUtils::AdvanceTimeAndRefresh(int64_t aMilliseconds) nsPresContext* presContext = GetPresContext(); if (presContext) { - nsRefreshDriver* driver = presContext->RefreshDriver(); + RefPtr driver = presContext->RefreshDriver(); driver->AdvanceTimeAndRefresh(aMilliseconds); RefPtr transaction = GetLayerTransaction(); diff --git a/image/SVGDocumentWrapper.cpp b/image/SVGDocumentWrapper.cpp index d4b71b907c..6438c179e4 100644 --- a/image/SVGDocumentWrapper.cpp +++ b/image/SVGDocumentWrapper.cpp @@ -212,9 +212,12 @@ SVGDocumentWrapper::TickRefreshDriver() nsCOMPtr presShell; mViewer->GetPresShell(getter_AddRefs(presShell)); if (presShell) { - nsPresContext* presContext = presShell->GetPresContext(); + RefPtr presContext = presShell->GetPresContext(); if (presContext) { - presContext->RefreshDriver()->DoTick(); + RefPtr driver = presContext->RefreshDriver(); + if (driver) { + driver->DoTick(); + } } } }