While PDF annotations or forms are being edited, okular needs to re-render the whole page. In rotated documents, these renderings often look very low quality. This issue mostly applies to PDF documents, but the issue is in the core so I've reported it against the general component. Reproducible: Always Steps to Reproduce: 1. Open a document with annotations or forms 2. Rotate it by 90 degrees from the original orientation 3. Edit annotations or forms and notice how renderings have alternating "good" and "bad" quality Expected Results: Always good quality, of course.
Created attachment 79430 [details] Proposed patch I've identified the issue to be in DocumentPrivate::refreshPixmaps swapping width and height. Since generators swap them again, this results in pages being rendered with distorted proportions. I'm attaching a patch for it.
The alternating behavior comes from the fact that, if the previous rendering produced a distorted pixmap, swapping again will now produce correct results (and viceversa).
Created attachment 79431 [details] Hacky patch to test the previous one The previous patch is easy to test on PDF documents by playing with annotations or forms. For the other formats, I'm attaching an hacky patch that causes "Edit->Select all" to call DocumentPrivate::refreshPixmaps on the first page. Of course, this is for testing only and it's not meant to be shipped.
Patch looks good feel free to commit to 4.10 and merge to master
Git commit 9812f5277e97ded115515b0b6f5ad7b0e84dfa39 by Fabio D'Urso. Committed on 25/04/2013 at 01:57. Pushed by fabiod into branch 'KDE/4.10'. Do *not* swap width and height in DocumentPrivate::refreshPixmaps They must not be swapped, because generators already swap them on their own, and swapping them twice results in distorted pixmaps. FIXED-IN: 4.10.3 M +0 -2 core/document.cpp http://commits.kde.org/okular/9812f5277e97ded115515b0b6f5ad7b0e84dfa39