Details
-
Type: Bug
-
Status: Closed
-
Priority: Major
-
Resolution: Fixed
-
Affects Version/s: 5.0
-
Fix Version/s: 5.0.1
-
Component/s: Core/Parsing
-
Labels:None
-
Environment:ICEpdf 5.0.0 open source release
Description
OptionalContentState keeps track of the visibility state as the PDF document is traversed. It considers content visible if the top of the element of the OptionalContent stack is visible. I believe this is not the correct way to handle this. Instead isVisible should return the logical 'and' of the visibility state of all elements in the stack.
The attached patch resolves this issue. Additionally it resolves a thread-safety issue related to OptionalContentState.
The attached patch resolves this issue. Additionally it resolves a thread-safety issue related to OptionalContentState.
Correct behavior can be verified using the PDF that is referenced in the comments of
PDF-571. By default the imagery of that PDF should not be displayed (at least that's what other PDF viewers do). ICEpdf 5.0.0 does consider them as visible and displays them. With this patch ICEpdf shows the expected contents.