Fix out of order destruction error
https://codereview.chromium.org/33203002/
git-svn-id: http://skia.googlecode.com/svn/trunk@11888 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/src/gpu/GrContext.cpp b/src/gpu/GrContext.cpp
index 26ce82a..ea1df6e 100644
--- a/src/gpu/GrContext.cpp
+++ b/src/gpu/GrContext.cpp
@@ -157,16 +157,16 @@
}
GrContext::~GrContext() {
- for (int i = 0; i < fCleanUpData.count(); ++i) {
- (*fCleanUpData[i].fFunc)(this, fCleanUpData[i].fInfo);
- }
-
if (NULL == fGpu) {
return;
}
this->flush();
+ for (int i = 0; i < fCleanUpData.count(); ++i) {
+ (*fCleanUpData[i].fFunc)(this, fCleanUpData[i].fInfo);
+ }
+
// Since the gpu can hold scratch textures, give it a chance to let go
// of them before freeing the texture cache
fGpu->purgeResources();