pdfviewer: remove text save/restore (not needed) and verify that colorspace dictionar...
authoredisonn@google.com <edisonn@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81>
Thu, 8 Aug 2013 12:54:01 +0000 (12:54 +0000)
committeredisonn@google.com <edisonn@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81>
Thu, 8 Aug 2013 12:54:01 +0000 (12:54 +0000)
Review URL: https://codereview.chromium.org/22436003

git-svn-id: http://skia.googlecode.com/svn/trunk@10639 2bbb7eff-a529-9590-31e7-b0007b416f81

experimental/PdfViewer/SkPdfRenderer.cpp

index 85e3b6e..cd2d7d6 100644 (file)
@@ -388,10 +388,7 @@ static PdfResult DrawText(PdfContext* pdfContext,
 
     pdfContext->fGraphicsState.applyGraphicsState(&paint, false);
 
-    canvas->save();
-
     skfont->drawText(decoded, &paint, pdfContext, canvas);
-    canvas->restore();
 
     return kOK_PdfResult;
 }
@@ -1581,7 +1578,7 @@ static PdfResult PdfOp_CS_cs(PdfContext* pdfContext, SkCanvas* canvas, SkPdfColo
     //Next, get the ColorSpace Dictionary from the Resource Dictionary:
     SkPdfDictionary* colorSpaceResource = pdfContext->fGraphicsState.fResources->ColorSpace(pdfContext->fPdfDoc);
 
-    SkPdfObject* colorSpace = pdfContext->fPdfDoc->resolveReference(colorSpaceResource->get(name));
+    SkPdfObject* colorSpace = colorSpaceResource ? pdfContext->fPdfDoc->resolveReference(colorSpaceResource->get(name)) : name;
 
     if (colorSpace == NULL) {
         colorOperator->fColorSpace = name->strRef();