If you update an object, its generation number will only be incremented in the cross-reference table, but e.g. not in the object header or, if it is the "Info" dictionary, in the "Info" entry of the trailer dictionary. To reproduce this bug, update an object (e.g. modify a single annotation in evince) and use "tail" unix utility with the "-n" option big enough (e.g. 100) to see the object header of the updated object. No matter how many times you update the object, the generation number is still the same. The generation number in the cross-reference table will be updated though.
Created attachment 125347 [details] [review] [PATCH] fix xref entry ref.gen updating
After some testing it seems that although it fixed the case of modifying annotations, it break the case of adding them. I will send a fix here if I figure out why this happens. Right now - no idea.
Ok. It doesn't happen if you use a non-poppler PDF viewer. It's largely a fault of the code responsible for reading a PDF. But it seems to me that at this point it's just too complex to fix. Perhaps it doesn't work as it ideally should, but well, it still works, so maybe let's leave it like that.
-- GitLab Migration Automatic Message -- This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity. You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/poppler/poppler/issues/583.
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.