)]}'
{
  "commit": "a7fca8a4f3fbddc5a47d253ca44f10133acd409b",
  "tree": "c764ef3cbb6789ace48eaa3ba2e2aa7d0a2502ca",
  "parents": [
    "b4fb361881989cc5118966b6ce5a4f8d3cb1deee"
  ],
  "author": {
    "name": "Lei Zhang",
    "email": "thestig@chromium.org",
    "time": "Wed Feb 21 20:05:15 2024 +0000"
  },
  "committer": {
    "name": "Pdfium LUCI CQ",
    "email": "pdfium-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Wed Feb 21 20:05:15 2024 +0000"
  },
  "message": "Add a way to undo a previous FPDF_SetSystemFontInfo() call\n\nModify FPDF_SetSystemFontInfo() to be able to take a nullptr without\ncrashing. Handle the nullptr case by releasing PDFium\u0027s hold on the\npreviously passed in pointer. Since no existing embedder could have\npassed in a nullptr before without crashing, this is a safe enhancement\nto an existing stable API.\n\nThis gives FPDF_SetSystemFontInfo() callers that need to also call\nFPDF_FreeDefaultSystemFontInfo() a way to safely release PDFium\u0027s\npointer to the default system font info, before freeing the font info.\nUse this where appropriate to balance out prior FPDF_SetSystemFontInfo()\ncalls in existing code.\n\nUpdate pdfium_test.cc to make the call at the appropriate time, before\nthe FPDF_DestroyLibrary() call, by adjusting std::unique_ptr lifetimes.\n\nIn a follow-up CL, PartitionAllocator class instances will stop living\nforever. Thus after FPDF_DestroyLibrary(), it is too late to call\nFPDF_FreeDefaultSystemFontInfo(), as the font info was allocated inside\na destroyed partition.\n\nBug: pdfium:1876\nChange-Id: Ic3835bae5f95604f89afb35bfaf8c0d568c6bc4b\nReviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/116771\nReviewed-by: Tom Sepez \u003ctsepez@chromium.org\u003e\nReviewed-by: Thomas Sepez \u003ctsepez@google.com\u003e\nCommit-Queue: Lei Zhang \u003cthestig@chromium.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "afb873ec2e0a2127666418bce6d7bde0ca36ea7b",
      "old_mode": 33188,
      "old_path": "fpdfsdk/fpdf_sysfontinfo.cpp",
      "new_id": "57fdbc06454deb9e95409f828eb871345648176e",
      "new_mode": 33188,
      "new_path": "fpdfsdk/fpdf_sysfontinfo.cpp"
    },
    {
      "type": "modify",
      "old_id": "24df525d101a1b1e928cf6a124c40b7baf247035",
      "old_mode": 33188,
      "old_path": "fpdfsdk/fpdf_sysfontinfo_embeddertest.cpp",
      "new_id": "589cf71e729e42e91e478a0eccd816ad215608d2",
      "new_mode": 33188,
      "new_path": "fpdfsdk/fpdf_sysfontinfo_embeddertest.cpp"
    },
    {
      "type": "modify",
      "old_id": "e30220cf4f5287c509e4f3922be7fefa52548be8",
      "old_mode": 33188,
      "old_path": "public/fpdf_sysfontinfo.h",
      "new_id": "0ba711db1c30ce921d4293682d4f1d7714218c53",
      "new_mode": 33188,
      "new_path": "public/fpdf_sysfontinfo.h"
    },
    {
      "type": "modify",
      "old_id": "94fd6a816bc5977978ed9df5df2d2e9ee419915c",
      "old_mode": 33188,
      "old_path": "samples/pdfium_test.cc",
      "new_id": "27b0d728159d67b7e621cb4cab9afe3a450ef1f6",
      "new_mode": 33188,
      "new_path": "samples/pdfium_test.cc"
    },
    {
      "type": "modify",
      "old_id": "6a3a81c3074adc2be05c8e48f1b46cdac894b9a3",
      "old_mode": 33188,
      "old_path": "testing/font_renamer.cpp",
      "new_id": "1f3dd4953d75c50d0c49dd161aaf31276b0c6c6f",
      "new_mode": 33188,
      "new_path": "testing/font_renamer.cpp"
    }
  ]
}
