mirror of
https://github.com/mozilla/gecko-dev.git
synced 2025-01-12 23:12:21 +00:00
bug 577707 - some Indic scripts rendered with incorrect font/glyphs on OS X. r=jdaggett a=blocking-betaN
This commit is contained in:
parent
799205353c
commit
339859c3b4
@ -227,10 +227,7 @@ public:
|
||||
}
|
||||
Block *block = mBlocks[blockIndex];
|
||||
if (!block) {
|
||||
block = new Block;
|
||||
if (NS_UNLIKELY(!block)) // OOM
|
||||
return;
|
||||
mBlocks[blockIndex] = block;
|
||||
return;
|
||||
}
|
||||
block->mBits[(aIndex>>3) & (BLOCK_SIZE - 1)] &= ~(1 << (aIndex & 0x7));
|
||||
}
|
||||
@ -248,22 +245,12 @@ public:
|
||||
|
||||
for (PRUint32 i = startIndex; i <= endIndex; ++i) {
|
||||
const PRUint32 blockFirstBit = i * BLOCK_SIZE_BITS;
|
||||
const PRUint32 blockLastBit = blockFirstBit + BLOCK_SIZE_BITS - 1;
|
||||
|
||||
Block *block = mBlocks[i];
|
||||
if (!block) {
|
||||
PRBool fullBlock = PR_FALSE;
|
||||
if (aStart <= blockFirstBit && aEnd >= blockLastBit)
|
||||
fullBlock = PR_TRUE;
|
||||
|
||||
block = new Block(fullBlock ? 0xFF : 0);
|
||||
|
||||
if (NS_UNLIKELY(!block)) // OOM
|
||||
return;
|
||||
mBlocks[i] = block;
|
||||
|
||||
if (fullBlock)
|
||||
continue;
|
||||
// any nonexistent block is implicitly all clear,
|
||||
// so there's no need to even create it
|
||||
continue;
|
||||
}
|
||||
|
||||
const PRUint32 start = aStart > blockFirstBit ? aStart - blockFirstBit : 0;
|
||||
|
Loading…
x
Reference in New Issue
Block a user