Index: src/gpu/GrDrawingManager.cpp |
diff --git a/src/gpu/GrDrawingManager.cpp b/src/gpu/GrDrawingManager.cpp |
index 7aa0fdbe0a281094edff5936373012cc03353c91..2a27f6aac453557aca310f1629563d01929f6348 100644 |
--- a/src/gpu/GrDrawingManager.cpp |
+++ b/src/gpu/GrDrawingManager.cpp |
@@ -20,6 +20,9 @@ void GrDrawingManager::cleanup() { |
fDrawTargets[i]->makeClosed(); // no drawTarget should receive a new command after this |
fDrawTargets[i]->clearRT(); |
+ // We shouldn't need to do this, but it turns out some clients still hold onto drawtargets |
+ // after a cleanup |
+ fDrawTargets[i]->reset(); |
fDrawTargets[i]->unref(); |
} |