Index: Source/platform/graphics/RecordingImageBufferSurface.cpp |
diff --git a/Source/platform/graphics/RecordingImageBufferSurface.cpp b/Source/platform/graphics/RecordingImageBufferSurface.cpp |
index db4c5594e0ef5653be38c9b4a2b6d248ab8bf8ac..c2575d3d5e5b0ac129e7a2781a8522142c862450 100644 |
--- a/Source/platform/graphics/RecordingImageBufferSurface.cpp |
+++ b/Source/platform/graphics/RecordingImageBufferSurface.cpp |
@@ -88,10 +88,16 @@ void RecordingImageBufferSurface::fallBackToRasterCanvas() |
m_previousFrame->draw(m_fallbackSurface->canvas()); |
m_previousFrame.clear(); |
} |
+ |
if (m_currentFrame) { |
+ bool savedState = false; |
+ StateStack stateStack; |
+ savedState = saveState(m_currentFrame->getRecordingCanvas(), &stateStack); |
RefPtr<SkPicture> currentPicture = adoptRef(m_currentFrame->endRecording()); |
currentPicture->draw(m_fallbackSurface->canvas()); |
m_currentFrame.clear(); |
+ if (savedState) |
+ setCurrentState(m_fallbackSurface->canvas(), &stateStack); |
} |
if (m_imageBuffer) { |