diff options
author | Dan Sinclair <dsinclair@chromium.org> | 2017-06-20 08:56:29 -0400 |
---|---|---|
committer | Chromium commit bot <commit-bot@chromium.org> | 2017-06-20 13:09:44 +0000 |
commit | 3962d80bde19074227c34f4615b0446f4975a098 (patch) | |
tree | 764156d1ee8e0d626ae0474027da1e3850c8ef34 /core/fpdfapi/page/cpdf_shadingobject.cpp | |
parent | 4db9046e56c884a350fa2c5087f8d5b8110463c4 (diff) | |
download | pdfium-3962d80bde19074227c34f4615b0446f4975a098.tar.xz |
Cleanup tiling and shading patterns in correct order
When a Shading is created we have both a ShadingPattern and a
ShadingObject. The ShadingPattern is a ref-counted object that is stored
in the CPDF_DocPageData. The ShadingObject, when we have a tiling
pattern parent, is stored in the CPDF_Form of the tiling pattern.
Currently during destruction it is possible for the ShadingPattern to
get cleaned up before the ShadingObject which causes the UnownedPtr
probe to fire. This CL loops over all patterns and for each Tiling
pattern forces the CPDF_Form to get cleared. This then removes the
ShadingObject before we remove the ShadingPattern.
Bug: chromium:728992
Change-Id: Ife65607aa97f69440b03028981b5575b1e297093
Reviewed-on: https://pdfium-review.googlesource.com/6651
Commit-Queue: dsinclair <dsinclair@chromium.org>
Reviewed-by: Lei Zhang <thestig@chromium.org>
Reviewed-by: Nicolás Peña <npm@chromium.org>
Diffstat (limited to 'core/fpdfapi/page/cpdf_shadingobject.cpp')
-rw-r--r-- | core/fpdfapi/page/cpdf_shadingobject.cpp | 1 |
1 files changed, 0 insertions, 1 deletions
diff --git a/core/fpdfapi/page/cpdf_shadingobject.cpp b/core/fpdfapi/page/cpdf_shadingobject.cpp index 5454380cae..8a61161f17 100644 --- a/core/fpdfapi/page/cpdf_shadingobject.cpp +++ b/core/fpdfapi/page/cpdf_shadingobject.cpp @@ -6,7 +6,6 @@ #include "core/fpdfapi/page/cpdf_shadingobject.h" -#include "core/fpdfapi/page/cpdf_docpagedata.h" #include "core/fpdfapi/page/cpdf_shadingpattern.h" #include "core/fpdfapi/parser/cpdf_document.h" |