mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-09-04 06:48:38 +09:00
Revert "[gfx] Guard against possible race via gfxFontEntry::GetFontTable."
This reverts commit a1cf966815240aef59e33c49c9496e3516b1fdd7.
This commit is contained in:
parent
c7e103b06e
commit
060e2965b8
2 changed files with 5 additions and 10 deletions
|
|
@ -495,7 +495,7 @@ public:
|
|||
|
||||
private:
|
||||
// The font table data block
|
||||
const nsTArray<uint8_t> mTableData;
|
||||
nsTArray<uint8_t> mTableData;
|
||||
|
||||
// The blob destroy function needs to know the owning font entry
|
||||
// so that it can hold the font-entry's reference while modifying the
|
||||
|
|
@ -591,16 +591,11 @@ gfxFontEntry::ShareFontTableAndGetBlob(uint32_t aTag,
|
|||
mFontTableCache = MakeUnique<nsTHashtable<FontTableHashEntry>>(8);
|
||||
}
|
||||
|
||||
FontTableHashEntry* entry;
|
||||
if (MOZ_UNLIKELY(entry = mFontTableCache->GetEntry(aTag))) {
|
||||
// We must have been racing with another GetFontTable for the same table,
|
||||
// and it won the race and filled in the entry before us.
|
||||
// Ignore `aBuffer` in that case, and return a reference to the existing blob.
|
||||
return entry->GetBlob();
|
||||
FontTableHashEntry *entry = mFontTableCache->PutEntry(aTag);
|
||||
if (MOZ_UNLIKELY(!entry)) { // OOM
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
entry = mFontTableCache->PutEntry(aTag);
|
||||
|
||||
if (!aBuffer) {
|
||||
// ensure the entry is null
|
||||
entry->Clear();
|
||||
|
|
|
|||
|
|
@ -265,7 +265,7 @@ public:
|
|||
// unregisters the table from the font entry.
|
||||
//
|
||||
// Pass nullptr for aBuffer to indicate that the table is not present and
|
||||
// nullptr will be returned.
|
||||
// nullptr will be returned. Also returns nullptr on OOM.
|
||||
hb_blob_t *ShareFontTableAndGetBlob(uint32_t aTag,
|
||||
nsTArray<uint8_t>* aTable);
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue