Be sure to call context->flush() before we swapbuffers, otherwise we might miss
some deferred drawing calls (esp. text). SkGpuCanvas was doing this for us, so
now we have to do it explicitly.



git-svn-id: http://skia.googlecode.com/svn/trunk@1813 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/samplecode/SampleApp.cpp b/samplecode/SampleApp.cpp
index 0d4ff44..258da06 100644
--- a/samplecode/SampleApp.cpp
+++ b/samplecode/SampleApp.cpp
@@ -591,13 +591,17 @@
     }
 
     // do this last
-    if (fGrContext && (fCanvasType != kGPU_CanvasType)) {
-        fGrContext->setRenderTarget(fGrRenderTarget);
-        // need to send the bits to the (gpu) window
-        const SkBitmap& bm = this->getBitmap();
-        fGrContext->writePixels(0, 0, bm.width(), bm.height(),
-                                kRGBA_8888_GrPixelConfig, bm.getPixels(),
-                                bm.rowBytes());
+    if (fGrContext) {
+        // in case we have queued drawing calls
+        fGrContext->flush();
+        if (fCanvasType != kGPU_CanvasType) {
+            // need to send the raster bits to the (gpu) window
+            fGrContext->setRenderTarget(fGrRenderTarget);
+            const SkBitmap& bm = this->getBitmap();
+            fGrContext->writePixels(0, 0, bm.width(), bm.height(),
+                                    kRGBA_8888_GrPixelConfig, bm.getPixels(),
+                                    bm.rowBytes());
+        }
     }
     presentGL();
 }