Allow multiple closed observers on GrOpsTask.
Bug: skia:10188
Change-Id: Ibed96f10c07feddbbf1e78d014c8ea346c91e53c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/287002
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
diff --git a/src/gpu/GrRenderTargetContext.cpp b/src/gpu/GrRenderTargetContext.cpp
index e1da02f..c0a3835 100644
--- a/src/gpu/GrRenderTargetContext.cpp
+++ b/src/gpu/GrRenderTargetContext.cpp
@@ -383,7 +383,7 @@
, fSurfaceProps(SkSurfacePropsCopyOrDefault(surfaceProps))
, fManagedOpsTask(managedOpsTask) {
if (fOpsTask) {
- fOpsTask->setClosedObserver(this);
+ fOpsTask->addClosedObserver(this);
}
SkASSERT(this->asSurfaceProxy() == fWriteView.proxy());
SkASSERT(this->origin() == fWriteView.origin());
@@ -403,7 +403,7 @@
GrRenderTargetContext::~GrRenderTargetContext() {
ASSERT_SINGLE_OWNER
if (fOpsTask) {
- fOpsTask->setClosedObserver(nullptr);
+ fOpsTask->removeClosedObserver(this);
}
}
@@ -441,7 +441,7 @@
// values?
newOpsTask->setInitialStencilContent(GrOpsTask::StencilContent::kPreserved);
}
- newOpsTask->setClosedObserver(this);
+ newOpsTask->addClosedObserver(this);
fOpsTask = std::move(newOpsTask);
}
SkASSERT(!fOpsTask->isClosed());