diff options
Diffstat (limited to 'core/fpdfapi/page/cpdf_color.cpp')
-rw-r--r-- | core/fpdfapi/page/cpdf_color.cpp | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/core/fpdfapi/page/cpdf_color.cpp b/core/fpdfapi/page/cpdf_color.cpp index d364e8e822..73e3d36ec4 100644 --- a/core/fpdfapi/page/cpdf_color.cpp +++ b/core/fpdfapi/page/cpdf_color.cpp @@ -60,6 +60,7 @@ bool CPDF_Color::IsPatternInternal() const { } void CPDF_Color::SetColorSpace(CPDF_ColorSpace* pCS) { + ASSERT(pCS); if (m_pCS == pCS) { if (!m_pBuffer) m_pBuffer = pCS->CreateBuf(); @@ -72,10 +73,10 @@ void CPDF_Color::SetColorSpace(CPDF_ColorSpace* pCS) { ReleaseColorSpace(); m_pCS = pCS; - if (pCS) { + if (IsPatternInternal()) m_pBuffer = pCS->CreateBuf(); - pCS->GetDefaultColor(m_pBuffer); - } + else + m_pBuffer = pCS->CreateBufAndSetDefaultColor(); } void CPDF_Color::SetValue(const float* comps) { |