<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.kde.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.6"
          urlbase="https://bugs.kde.org/"
          
          maintainer="sysadmin@kde.org"
>

    <bug>
          <bug_id>318829</bug_id>
          
          <creation_ts>2013-04-25 01:20:17 +0000</creation_ts>
          <short_desc>Alternating &quot;bad&quot; and &quot;good&quot; quality while editing annotations or forms in rotated documents</short_desc>
          <delta_ts>2013-04-25 22:04:09 +0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>2</classification_id>
          <classification>Applications</classification>
          <product>okular</product>
          <component>general</component>
          <version>0.16.60</version>
          <rep_platform>Other</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>NOR</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Fabio D&apos;Urso">fabiodurso</reporter>
          <assigned_to name="Fabio D&apos;Urso">fabiodurso</assigned_to>
          <cc>aacid</cc>
          
          <cf_commitlink>http://commits.kde.org/okular/9812f5277e97ded115515b0b6f5ad7b0e84dfa39</cf_commitlink>
          <cf_versionfixedin>4.10.3</cf_versionfixedin>
          <cf_sentryurl></cf_sentryurl>
          <votes>0</votes>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1363775</commentid>
    <comment_count>0</comment_count>
    <who name="Fabio D&apos;Urso">fabiodurso</who>
    <bug_when>2013-04-25 01:20:17 +0000</bug_when>
    <thetext>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&apos;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 &quot;good&quot; and &quot;bad&quot; quality


Expected Results:  
Always good quality, of course.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1363776</commentid>
    <comment_count>1</comment_count>
      <attachid>79430</attachid>
    <who name="Fabio D&apos;Urso">fabiodurso</who>
    <bug_when>2013-04-25 01:26:28 +0000</bug_when>
    <thetext>Created attachment 79430
Proposed patch

I&apos;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&apos;m attaching a patch for it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1363777</commentid>
    <comment_count>2</comment_count>
    <who name="Fabio D&apos;Urso">fabiodurso</who>
    <bug_when>2013-04-25 01:38:03 +0000</bug_when>
    <thetext>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).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1363778</commentid>
    <comment_count>3</comment_count>
      <attachid>79431</attachid>
    <who name="Fabio D&apos;Urso">fabiodurso</who>
    <bug_when>2013-04-25 01:39:54 +0000</bug_when>
    <thetext>Created attachment 79431
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&apos;m attaching an hacky patch that causes &quot;Edit-&gt;Select all&quot; to call DocumentPrivate::refreshPixmaps on the first page. Of course, this is for testing only and it&apos;s not meant to be shipped.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1364004</commentid>
    <comment_count>4</comment_count>
    <who name="Albert Astals Cid">aacid</who>
    <bug_when>2013-04-25 21:33:50 +0000</bug_when>
    <thetext>Patch looks good feel free to commit to 4.10 and merge to master</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1364006</commentid>
    <comment_count>5</comment_count>
    <who name="Fabio D&apos;Urso">fabiodurso</who>
    <bug_when>2013-04-25 22:04:09 +0000</bug_when>
    <thetext>Git commit 9812f5277e97ded115515b0b6f5ad7b0e84dfa39 by Fabio D&apos;Urso.
Committed on 25/04/2013 at 01:57.
Pushed by fabiod into branch &apos;KDE/4.10&apos;.

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</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>79430</attachid>
            <date>2013-04-25 01:26:28 +0000</date>
            <delta_ts>2013-04-25 01:26:28 +0000</delta_ts>
            <desc>Proposed patch</desc>
            <filename>0001-Do-not-swap-width-and-height-in-DocumentPrivate-refr.patch</filename>
            <type>text/plain</type>
            <size>1009</size>
            <attacher name="Fabio D&apos;Urso">fabiodurso</attacher>
            
              <data encoding="base64">RnJvbSA1NzhlZDc3ZDE5YjVjMTQ3M2Y2NGY3OWJhYmFlN2JhNTVmMmQ5MjA0IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBGYWJpbyBEJ1Vyc28gPGZhYmlvZHVyc29AaG90bWFpbC5pdD4K
RGF0ZTogVGh1LCAyNSBBcHIgMjAxMyAwMTo1Nzo0NCArMDIwMApTdWJqZWN0OiBbUEFUQ0hdIERv
ICpub3QqIHN3YXAgd2lkdGggYW5kIGhlaWdodCBpbgogRG9jdW1lbnRQcml2YXRlOjpyZWZyZXNo
UGl4bWFwcwoKVGhleSBtdXN0IG5vdCBiZSBzd2FwcGVkLCBiZWNhdXNlIGdlbmVyYXRvcnMgYWxy
ZWFkeSBzd2FwIHRoZW0gb24gdGhlaXIKb3duLCBhbmQgc3dhcHBpbmcgdGhlbSB0d2ljZSByZXN1
bHRzIGluIGRpc3RvcnRlZCBwaXhtYXBzLgotLS0KIGNvcmUvZG9jdW1lbnQuY3BwIHwgMiAtLQog
MSBmaWxlIGNoYW5nZWQsIDIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvY29yZS9kb2N1bWVu
dC5jcHAgYi9jb3JlL2RvY3VtZW50LmNwcAppbmRleCBiZTRlOGFmLi4yNzMyNDQxIDEwMDY0NAot
LS0gYS9jb3JlL2RvY3VtZW50LmNwcAorKysgYi9jb3JlL2RvY3VtZW50LmNwcApAQCAtMTU1NSw4
ICsxNTU1LDYgQEAgdm9pZCBEb2N1bWVudFByaXZhdGU6OnJlZnJlc2hQaXhtYXBzKCBpbnQgcGFn
ZU51bWJlciApCiAgICAgZm9yICggOyBpdCAhPSBpdEVuZDsgKytpdCApCiAgICAgewogICAgICAg
ICBRU2l6ZSBzaXplID0gKCppdCkubV9waXhtYXAtPnNpemUoKTsKLSAgICAgICAgaWYgKCAoKml0
KS5tX3JvdGF0aW9uICUgMiApCi0gICAgICAgICAgICBzaXplLnRyYW5zcG9zZSgpOwogICAgICAg
ICBQaXhtYXBSZXF1ZXN0ICogcCA9IG5ldyBQaXhtYXBSZXF1ZXN0KCBpdC5rZXkoKSwgcGFnZU51
bWJlciwgc2l6ZS53aWR0aCgpLCBzaXplLmhlaWdodCgpLCAxLCBQaXhtYXBSZXF1ZXN0OjpBc3lu
Y2hyb25vdXMgKTsKICAgICAgICAgcC0+ZC0+bUZvcmNlID0gdHJ1ZTsKICAgICAgICAgcmVxdWVz
dGVkUGl4bWFwcy5wdXNoX2JhY2soIHAgKTsKLS0gCjEuOC4xLjQKCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>79431</attachid>
            <date>2013-04-25 01:39:54 +0000</date>
            <delta_ts>2013-04-25 01:39:54 +0000</delta_ts>
            <desc>Hacky patch to test the previous one</desc>
            <filename>remap-select-all.patch</filename>
            <type>text/plain</type>
            <size>1811</size>
            <attacher name="Fabio D&apos;Urso">fabiodurso</attacher>
            
              <data encoding="base64">RnJvbSA0NzQ1YTQwYTAzN2QxYmI4NjVhNjJlZjllZTAzNWJkMGY1MGJkNDdmIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBGYWJpbyBEJ1Vyc28gPGZhYmlvZHVyc29AaG90bWFpbC5pdD4K
RGF0ZTogVGh1LCAyNSBBcHIgMjAxMyAwMTo0MToyNiArMDIwMApTdWJqZWN0OiBbUEFUQ0hdIFtE
Ty1OT1QtUFVTSF0gUmVtYXBwZWQgRWRpdC0+U2VsZWN0IGFsbCB0bwogRG9jdW1lbnRQcml2YXRl
OjpyZWZyZXNoUGl4bWFwcygwKSBmb3IgZGVidWdnaW5nIHB1cnBvc2VzCgotLS0KIGNvcmUvZG9j
dW1lbnQuY3BwIHwgNSArKysrKwogY29yZS9kb2N1bWVudC5oICAgfCAyICsrCiBwYXJ0LmNwcCAg
ICAgICAgICB8IDIgKy0KIDMgZmlsZXMgY2hhbmdlZCwgOCBpbnNlcnRpb25zKCspLCAxIGRlbGV0
aW9uKC0pCgpkaWZmIC0tZ2l0IGEvY29yZS9kb2N1bWVudC5jcHAgYi9jb3JlL2RvY3VtZW50LmNw
cAppbmRleCAyNzMyNDQxLi45ZDI5MzA0IDEwMDY0NAotLS0gYS9jb3JlL2RvY3VtZW50LmNwcAor
KysgYi9jb3JlL2RvY3VtZW50LmNwcApAQCAtMTU0NCw2ICsxNTQ0LDExIEBAIHZvaWQgRG9jdW1l
bnRQcml2YXRlOjpzbG90R2VuZXJhdG9yQ29uZmlnQ2hhbmdlZCggY29uc3QgUVN0cmluZyYgKQog
ICAgICAgICBjbGVhbnVwUGl4bWFwTWVtb3J5KCk7CiB9CiAKK3ZvaWQgRG9jdW1lbnQ6OnJlZnJl
c2hQaXhtYXBzRm9yRmlyc3RQYWdlKCkKK3sKKyAgICBkLT5yZWZyZXNoUGl4bWFwcygwKTsKK30K
Kwogdm9pZCBEb2N1bWVudFByaXZhdGU6OnJlZnJlc2hQaXhtYXBzKCBpbnQgcGFnZU51bWJlciAp
CiB7CiAgICAgUGFnZSogcGFnZSA9IG1fcGFnZXNWZWN0b3IudmFsdWUoIHBhZ2VOdW1iZXIsIDAg
KTsKZGlmZiAtLWdpdCBhL2NvcmUvZG9jdW1lbnQuaCBiL2NvcmUvZG9jdW1lbnQuaAppbmRleCBk
NDQzOTE3Li4yNzZmNDhmIDEwMDY0NAotLS0gYS9jb3JlL2RvY3VtZW50LmgKKysrIGIvY29yZS9k
b2N1bWVudC5oCkBAIC03NDYsNiArNzQ2LDggQEAgY2xhc3MgT0tVTEFSX0VYUE9SVCBEb2N1bWVu
dCA6IHB1YmxpYyBRT2JqZWN0CiAgICAgICAgICAqLwogICAgICAgICB2b2lkIHJlZG8oKTsKIAor
ICAgICAgICB2b2lkIHJlZnJlc2hQaXhtYXBzRm9yRmlyc3RQYWdlKCk7CisKICAgICBRX1NJR05B
TFM6CiAgICAgICAgIC8qKgogICAgICAgICAgKiBUaGlzIHNpZ25hbCBpcyBlbWl0dGVkIHdoZW5l
dmVyIGFuIGFjdGlvbiByZXF1ZXN0cyBhCmRpZmYgLS1naXQgYS9wYXJ0LmNwcCBiL3BhcnQuY3Bw
CmluZGV4IGVhZTZhMmYuLjE0YzRiMDkgMTAwNjQ0Ci0tLSBhL3BhcnQuY3BwCisrKyBiL3BhcnQu
Y3BwCkBAIC03MjEsNyArNzIxLDcgQEAgdm9pZCBQYXJ0OjpzZXR1cEFjdGlvbnMoKQogCiAgICAg
bV9jb3B5ID0gS1N0YW5kYXJkQWN0aW9uOjpjcmVhdGUoIEtTdGFuZGFyZEFjdGlvbjo6Q29weSwg
bV9wYWdlVmlldywgU0xPVChjb3B5VGV4dFNlbGVjdGlvbigpKSwgYWMgKTsKIAotICAgIG1fc2Vs
ZWN0QWxsID0gS1N0YW5kYXJkQWN0aW9uOjpzZWxlY3RBbGwoIG1fcGFnZVZpZXcsIFNMT1Qoc2Vs
ZWN0QWxsKCkpLCBhYyApOworICAgIG1fc2VsZWN0QWxsID0gS1N0YW5kYXJkQWN0aW9uOjpzZWxl
Y3RBbGwoIG1fZG9jdW1lbnQsIFNMT1QocmVmcmVzaFBpeG1hcHNGb3JGaXJzdFBhZ2UoKSksIGFj
ICk7CiAKICAgICBtX3NhdmVDb3B5QXMgPSBLU3RhbmRhcmRBY3Rpb246OnNhdmVBcyggdGhpcywg
U0xPVChzbG90U2F2ZUNvcHlBcygpKSwgYWMgKTsKICAgICBtX3NhdmVDb3B5QXMtPnNldFRleHQo
IGkxOG4oICJTYXZlICZDb3B5IEFzLi4uIiApICk7Ci0tIAoxLjguMS40Cgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>