Chromium Code Reviews| Index: core/fxge/ge/fx_ge_ps.cpp |
| diff --git a/core/fxge/ge/fx_ge_ps.cpp b/core/fxge/ge/fx_ge_ps.cpp |
| index 98253336a15c6ad30fd2de43c3a3e3c7d6b20e40..b112cf363047b8f69172965cc4c1adb755da7364 100644 |
| --- a/core/fxge/ge/fx_ge_ps.cpp |
| +++ b/core/fxge/ge/fx_ge_ps.cpp |
| @@ -77,19 +77,25 @@ void CFX_PSRenderer::SaveState() { |
| OUTPUT_PS("q\n"); |
| m_ClipBoxStack.Add(m_ClipBox); |
| } |
| -void CFX_PSRenderer::RestoreState(FX_BOOL bKeepSaved) { |
| + |
| +void CFX_PSRenderer::RestoreState(bool bKeepSaved) { |
| StartRendering(); |
| if (bKeepSaved) { |
| OUTPUT_PS("Q\nq\n"); |
| } else { |
| OUTPUT_PS("Q\n"); |
| } |
| - m_bColorSet = m_bGraphStateSet = FALSE; |
| - m_ClipBox = m_ClipBoxStack.GetAt(m_ClipBoxStack.GetSize() - 1); |
| - if (!bKeepSaved) { |
| - m_ClipBoxStack.RemoveAt(m_ClipBoxStack.GetSize() - 1); |
| - } |
| + m_bColorSet = FALSE; |
| + m_bGraphStateSet = FALSE; |
| + int size = m_ClipBoxStack.GetSize(); |
| + if (!size) |
|
Lei Zhang
2016/05/26 01:50:10
and here
|
| + return; |
| + |
| + m_ClipBox = m_ClipBoxStack.GetAt(size - 1); |
| + if (!bKeepSaved) |
| + m_ClipBoxStack.RemoveAt(size - 1); |
| } |
| + |
| void CFX_PSRenderer::OutputPath(const CFX_PathData* pPathData, |
| const CFX_Matrix* pObject2Device) { |
| int nPoints = pPathData->GetPointCount(); |