diff options
Diffstat (limited to 'core/fxge')
-rw-r--r-- | core/fxge/cfx_folderfontinfo.cpp | 14 | ||||
-rw-r--r-- | core/fxge/win32/fx_win32_dib.cpp | 62 |
2 files changed, 34 insertions, 42 deletions
diff --git a/core/fxge/cfx_folderfontinfo.cpp b/core/fxge/cfx_folderfontinfo.cpp index b39c57637f..532824d248 100644 --- a/core/fxge/cfx_folderfontinfo.cpp +++ b/core/fxge/cfx_folderfontinfo.cpp @@ -44,15 +44,11 @@ const struct { }; ByteString FPDF_ReadStringFromFile(FILE* pFile, uint32_t size) { - ByteString result; - { - // Span's lifetime must end before ReleaseBuffer() below. - pdfium::span<char> buffer = result.GetBuffer(size); - if (!fread(buffer.data(), size, 1, pFile)) - return ByteString(); - } - result.ReleaseBuffer(size); - return result; + ByteString buffer; + if (!fread(buffer.GetBuffer(size), size, 1, pFile)) + return ByteString(); + buffer.ReleaseBuffer(size); + return buffer; } ByteString FPDF_LoadTableFromTT(FILE* pFile, diff --git a/core/fxge/win32/fx_win32_dib.cpp b/core/fxge/win32/fx_win32_dib.cpp index b6bed7a987..452d033f64 100644 --- a/core/fxge/win32/fx_win32_dib.cpp +++ b/core/fxge/win32/fx_win32_dib.cpp @@ -13,45 +13,41 @@ ByteString CFX_WindowsDIB::GetBitmapInfo( const RetainPtr<CFX_DIBitmap>& pBitmap) { + ByteString result; int len = sizeof(BITMAPINFOHEADER); - if (pBitmap->GetBPP() == 1 || pBitmap->GetBPP() == 8) + if (pBitmap->GetBPP() == 1 || pBitmap->GetBPP() == 8) { len += sizeof(DWORD) * (int)(1 << pBitmap->GetBPP()); - - ByteString result; - { - // Span's lifetime must end before ReleaseBuffer() below. - pdfium::span<char> cspan = result.GetBuffer(len); - BITMAPINFOHEADER* pbmih = reinterpret_cast<BITMAPINFOHEADER*>(cspan.data()); - memset(pbmih, 0, sizeof(BITMAPINFOHEADER)); - pbmih->biSize = sizeof(BITMAPINFOHEADER); - pbmih->biBitCount = pBitmap->GetBPP(); - pbmih->biCompression = BI_RGB; - pbmih->biHeight = -(int)pBitmap->GetHeight(); - pbmih->biPlanes = 1; - pbmih->biWidth = pBitmap->GetWidth(); - if (pBitmap->GetBPP() == 8) { - uint32_t* pPalette = (uint32_t*)(pbmih + 1); - if (pBitmap->GetPalette()) { - for (int i = 0; i < 256; i++) { - pPalette[i] = pBitmap->GetPalette()[i]; - } - } else { - for (int i = 0; i < 256; i++) { - pPalette[i] = i * 0x010101; - } + } + BITMAPINFOHEADER* pbmih = (BITMAPINFOHEADER*)result.GetBuffer(len); + memset(pbmih, 0, sizeof(BITMAPINFOHEADER)); + pbmih->biSize = sizeof(BITMAPINFOHEADER); + pbmih->biBitCount = pBitmap->GetBPP(); + pbmih->biCompression = BI_RGB; + pbmih->biHeight = -(int)pBitmap->GetHeight(); + pbmih->biPlanes = 1; + pbmih->biWidth = pBitmap->GetWidth(); + if (pBitmap->GetBPP() == 8) { + uint32_t* pPalette = (uint32_t*)(pbmih + 1); + if (pBitmap->GetPalette()) { + for (int i = 0; i < 256; i++) { + pPalette[i] = pBitmap->GetPalette()[i]; } - } - if (pBitmap->GetBPP() == 1) { - uint32_t* pPalette = (uint32_t*)(pbmih + 1); - if (pBitmap->GetPalette()) { - pPalette[0] = pBitmap->GetPalette()[0]; - pPalette[1] = pBitmap->GetPalette()[1]; - } else { - pPalette[0] = 0; - pPalette[1] = 0xffffff; + } else { + for (int i = 0; i < 256; i++) { + pPalette[i] = i * 0x010101; } } } + if (pBitmap->GetBPP() == 1) { + uint32_t* pPalette = (uint32_t*)(pbmih + 1); + if (pBitmap->GetPalette()) { + pPalette[0] = pBitmap->GetPalette()[0]; + pPalette[1] = pBitmap->GetPalette()[1]; + } else { + pPalette[0] = 0; + pPalette[1] = 0xffffff; + } + } result.ReleaseBuffer(len); return result; } |