From 98c6c15abfec45648d85c73e746f0cb109a8d35b Mon Sep 17 00:00:00 2001 From: tsepez Date: Tue, 4 Oct 2016 18:12:16 -0700 Subject: Fix ownership when making a private annot dictionary into a shared one. There's no way to take ownership back from the CPDF_Array without deleting the object, so add a new primitive to make elements become indirect rather than manipulating them outside the class. This should solve the ASSERT(objnum == 0) issue that blocked the previous roll. Review-Url: https://codereview.chromium.org/2391883003 --- core/fpdfapi/parser/cpdf_array.h | 1 + 1 file changed, 1 insertion(+) (limited to 'core/fpdfapi/parser/cpdf_array.h') diff --git a/core/fpdfapi/parser/cpdf_array.h b/core/fpdfapi/parser/cpdf_array.h index 25bbdd56f2..da9677e927 100644 --- a/core/fpdfapi/parser/cpdf_array.h +++ b/core/fpdfapi/parser/cpdf_array.h @@ -46,6 +46,7 @@ class CPDF_Array : public CPDF_Object { void SetAt(size_t index, CPDF_Object* pObj); void InsertAt(size_t index, CPDF_Object* pObj); void RemoveAt(size_t index, size_t nCount = 1); + void ConvertToIndirectObjectAt(size_t index, CPDF_IndirectObjectHolder* pDoc); void Add(CPDF_Object* pObj); void AddNumber(FX_FLOAT f); -- cgit v1.2.3