diff --git a/Pdf4QtLib/sources/pdfpagecontentprocessor.cpp b/Pdf4QtLib/sources/pdfpagecontentprocessor.cpp index a8d9552..702593b 100644 --- a/Pdf4QtLib/sources/pdfpagecontentprocessor.cpp +++ b/Pdf4QtLib/sources/pdfpagecontentprocessor.cpp @@ -3451,7 +3451,7 @@ void PDFPageContentProcessor::PDFPageContentProcessorState::setFillColorSpace(co void PDFPageContentProcessor::PDFPageContentProcessorState::setStrokeColor(const QColor& strokeColor, const PDFColor& originalColor) { - if (m_strokeColor != strokeColor) + if (m_strokeColor != strokeColor || m_strokeColorOriginal != originalColor) { m_strokeColor = strokeColor; m_strokeColorOriginal = originalColor; @@ -3461,7 +3461,7 @@ void PDFPageContentProcessor::PDFPageContentProcessorState::setStrokeColor(const void PDFPageContentProcessor::PDFPageContentProcessorState::setFillColor(const QColor& fillColor, const PDFColor& originalColor) { - if (m_fillColor != fillColor) + if (m_fillColor != fillColor || m_fillColorOriginal != originalColor) { m_fillColor = fillColor; m_fillColorOriginal = originalColor; diff --git a/Pdf4QtLib/sources/pdftransparencyrenderer.cpp b/Pdf4QtLib/sources/pdftransparencyrenderer.cpp index 567792a..b5b5fd8 100644 --- a/Pdf4QtLib/sources/pdftransparencyrenderer.cpp +++ b/Pdf4QtLib/sources/pdftransparencyrenderer.cpp @@ -907,6 +907,10 @@ void PDFTransparencyRenderer::performRestoreGraphicState(ProcessOrder order) { m_painterStateStack.pop(); } + if (order == ProcessOrder::AfterOperation) + { + invalidateCachedItems(); + } } void PDFTransparencyRenderer::performBeginTransparencyGroup(ProcessOrder order, const PDFTransparencyGroup& transparencyGroup)