desktop/source/lib/init.cxx | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-)
New commits: commit a57b2fd453c53d6fc1075321cf3b7d4284781e68 Author: Miklos Vajna <vmik...@collabora.co.uk> Date: Tue Mar 1 10:50:29 2016 +0100 ccu#1568 desktop: disable alpha buffer for Calc As far as I see, the alpha buffer is used for Writer and Impress only, while it causes problems for Calc hyperlink rendering, so conditionally disable it. Change-Id: I4debe6d5c03c4765959158b97bc6da9b3cc817c8 diff --git a/desktop/source/lib/init.cxx b/desktop/source/lib/init.cxx index 520b8ad..8371686 100644 --- a/desktop/source/lib/init.cxx +++ b/desktop/source/lib/init.cxx @@ -1006,7 +1006,12 @@ void doc_paintTile (LibreOfficeKitDocument* pThis, // Allocate a separate buffer for the alpha device. std::vector<sal_uInt8> aAlpha(nCanvasWidth * nCanvasHeight); memset(aAlpha.data(), 0, nCanvasWidth * nCanvasHeight); - boost::shared_array<sal_uInt8> aAlphaBuffer(aAlpha.data(), NoDelete<sal_uInt8>()); + boost::shared_array<sal_uInt8> aAlphaBuffer; + + // No alpha buffer for Calc: it would result in misrendered hyperlinks with + // pre-cairo headless codepath. + if (doc_getDocumentType(pThis) != LOK_DOCTYPE_SPREADSHEET) + aAlphaBuffer.reset(aAlpha.data(), NoDelete<sal_uInt8>()); pDevice->SetOutputSizePixelScaleOffsetAndBuffer( Size(nCanvasWidth, nCanvasHeight), Fraction(1.0), Point(), _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits