Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(235)

Side by Side Diff: fpdfsdk/fpdfppo.cpp

Issue 2478253002: Revert of Remove CPDF_Object::Release() in favor of direct delete (Closed)
Patch Set: Created 4 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « fpdfsdk/fpdfdoc_unittest.cpp ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 PDFium Authors. All rights reserved. 1 // Copyright 2014 PDFium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com 5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
6 6
7 #include "public/fpdf_ppo.h" 7 #include "public/fpdf_ppo.h"
8 8
9 #include <map> 9 #include <map>
10 #include <memory> 10 #include <memory>
(...skipping 267 matching lines...) Expand 10 before | Expand all | Expand 10 after
278 return 0; 278 return 0;
279 279
280 CPDF_Object* pClone = pDirect->Clone(); 280 CPDF_Object* pClone = pDirect->Clone();
281 if (!pClone) 281 if (!pClone)
282 return 0; 282 return 0;
283 283
284 if (CPDF_Dictionary* pDictClone = pClone->AsDictionary()) { 284 if (CPDF_Dictionary* pDictClone = pClone->AsDictionary()) {
285 if (pDictClone->KeyExist("Type")) { 285 if (pDictClone->KeyExist("Type")) {
286 CFX_ByteString strType = pDictClone->GetStringFor("Type"); 286 CFX_ByteString strType = pDictClone->GetStringFor("Type");
287 if (!FXSYS_stricmp(strType.c_str(), "Pages")) { 287 if (!FXSYS_stricmp(strType.c_str(), "Pages")) {
288 delete pDictClone; 288 pDictClone->Release();
289 return 4; 289 return 4;
290 } 290 }
291 if (!FXSYS_stricmp(strType.c_str(), "Page")) { 291 if (!FXSYS_stricmp(strType.c_str(), "Page")) {
292 delete pDictClone; 292 pDictClone->Release();
293 return 0; 293 return 0;
294 } 294 }
295 } 295 }
296 } 296 }
297 dwNewObjNum = pDoc->AddIndirectObject(pClone); 297 dwNewObjNum = pDoc->AddIndirectObject(pClone);
298 (*pObjNumberMap)[dwObjnum] = dwNewObjNum; 298 (*pObjNumberMap)[dwObjnum] = dwNewObjNum;
299 if (!UpdateReference(pClone, pDoc, pObjNumberMap)) { 299 if (!UpdateReference(pClone, pDoc, pObjNumberMap)) {
300 delete pClone; 300 pClone->Release();
301 return 0; 301 return 0;
302 } 302 }
303 return dwNewObjNum; 303 return dwNewObjNum;
304 } 304 }
305 305
306 FPDF_BOOL ParserPageRangeString(CFX_ByteString rangstring, 306 FPDF_BOOL ParserPageRangeString(CFX_ByteString rangstring,
307 std::vector<uint16_t>* pageArray, 307 std::vector<uint16_t>* pageArray,
308 int nCount) { 308 int nCount) {
309 if (rangstring.GetLength() != 0) { 309 if (rangstring.GetLength() != 0) {
310 rangstring.Remove(' '); 310 rangstring.Remove(' ');
(...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after
396 if (!pSrcDict) 396 if (!pSrcDict)
397 return false; 397 return false;
398 398
399 CPDF_Dictionary* pDstDict = pDstDoc->GetRoot(); 399 CPDF_Dictionary* pDstDict = pDstDoc->GetRoot();
400 if (!pDstDict) 400 if (!pDstDict)
401 return false; 401 return false;
402 402
403 pDstDict->SetFor("ViewerPreferences", pSrcDict->CloneDirectObject()); 403 pDstDict->SetFor("ViewerPreferences", pSrcDict->CloneDirectObject());
404 return true; 404 return true;
405 } 405 }
OLDNEW
« no previous file with comments | « fpdfsdk/fpdfdoc_unittest.cpp ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698