mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-09-06 07:48:38 +09:00
Merge remote-tracking branch 'origin/master' into custom
This commit is contained in:
commit
c5bb4ee5fa
20 changed files with 405 additions and 652 deletions
|
|
@ -248,12 +248,28 @@ nsTArray_base<Alloc, Copy>::ShrinkCapacity(size_type aElemSize,
|
|||
return;
|
||||
}
|
||||
|
||||
size_type size = sizeof(Header) + length * aElemSize;
|
||||
void* ptr = nsTArrayFallibleAllocator::Realloc(mHdr, size);
|
||||
if (!ptr) {
|
||||
return;
|
||||
size_type newSize = sizeof(Header) + length * aElemSize;
|
||||
|
||||
Header* newHeader;
|
||||
if (!Copy::allowRealloc) {
|
||||
// Malloc() and copy
|
||||
newHeader = static_cast<Header*>(nsTArrayFallibleAllocator::Malloc(newSize));
|
||||
if (!newHeader) {
|
||||
return;
|
||||
}
|
||||
|
||||
Copy::MoveNonOverlappingRegionWithHeader(newHeader, mHdr, Length(), aElemSize);
|
||||
|
||||
nsTArrayFallibleAllocator::Free(mHdr);
|
||||
} else {
|
||||
// Realloc() existing data
|
||||
newHeader = static_cast<Header*>(nsTArrayFallibleAllocator::Realloc(mHdr, newSize));
|
||||
if (!newHeader) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
mHdr = static_cast<Header*>(ptr);
|
||||
|
||||
mHdr = newHeader;
|
||||
mHdr->mCapacity = length;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue