Add m_pDocument in CPDF_Color and check if page date has been forced clear
[pdfium.git] / core / src / fpdfapi / fpdf_page / fpdf_page_pattern.cpp
index 6c6c095..bcb8196 100644 (file)
@@ -6,6 +6,17 @@
 
 #include "../../../include/fpdfapi/fpdf_page.h"
 #include "pageint.h"
+
+CPDF_Pattern::CPDF_Pattern(const CFX_AffineMatrix* pParentMatrix) :
+    m_pPatternObj(NULL), m_PatternType(PATTERN_TILING), m_pDocument(NULL)
+{
+    if (pParentMatrix) {
+        m_ParentMatrix = *pParentMatrix;
+    }
+}
+CPDF_Pattern::~CPDF_Pattern()
+{
+}
 CPDF_TilingPattern::CPDF_TilingPattern(CPDF_Document* pDoc, CPDF_Object* pPatternObj, const CFX_AffineMatrix* parentMatrix) :
     CPDF_Pattern(parentMatrix)
 {
@@ -25,6 +36,7 @@ CPDF_TilingPattern::~CPDF_TilingPattern()
 {
     if (m_pForm) {
         delete m_pForm;
+        m_pForm = NULL;
     }
 }
 FX_BOOL CPDF_TilingPattern::Load()
@@ -97,7 +109,7 @@ FX_BOOL CPDF_ShadingPattern::Load()
     if (m_ShadingType != 0) {
         return TRUE;
     }
-    CPDF_Dictionary* pShadingDict = m_pShadingObj->GetDict();
+    CPDF_Dictionary* pShadingDict = m_pShadingObj ? m_pShadingObj->GetDict() : NULL;
     if (pShadingDict == NULL) {
         return FALSE;
     }