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

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>13578</bug_id>
          
          <creation_ts>2007-05-03 16:55:35 -0700</creation_ts>
          <short_desc>When QD plugins draw to an offscreen bitmap the origin is not correct</short_desc>
          <delta_ts>2007-05-15 16:40:17 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Plug-ins</component>
          <version>523.x (Safari 3)</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.4</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Bruce Q. Hammond">bruceq</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>11292</commentid>
    <comment_count>0</comment_count>
    <who name="Bruce Q. Hammond">bruceq</who>
    <bug_when>2007-05-03 16:55:35 -0700</bug_when>
    <thetext>The CGContextRef&apos;s origin  is ignored when the offscreen GWorld is constructed. 
The origin is implied by the CGContextRef&apos;s CGAffineTransform.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>11294</commentid>
    <comment_count>1</comment_count>
      <attachid>14323</attachid>
    <who name="Bruce Q. Hammond">bruceq</who>
    <bug_when>2007-05-03 17:05:33 -0700</bug_when>
    <thetext>Created attachment 14323
QD plugins now respect the origin of CGBitmapContext</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>11172</commentid>
    <comment_count>2</comment_count>
      <attachid>14323</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2007-05-04 08:01:13 -0700</bug_when>
    <thetext>Comment on attachment 14323
QD plugins now respect the origin of CGBitmapContext 

Looks fine. But why not use CGPointApplyAffineTransform instead of doing explicit multiplication?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>11170</commentid>
    <comment_count>3</comment_count>
    <who name="David Harrison">harrison</who>
    <bug_when>2007-05-04 10:28:33 -0700</bug_when>
    <thetext>rdar://5182103</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>11154</commentid>
    <comment_count>4</comment_count>
      <attachid>14323</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2007-05-04 14:12:59 -0700</bug_when>
    <thetext>Comment on attachment 14323
QD plugins now respect the origin of CGBitmapContext 

(int32)-boundsInWindow.origin.y - (offscreenBounds.bottom + offscreenMatrix.ty * offscreenMatrix.d)

Please explain why you need to multiply offscreenMatrix.ty by offscreenMatrix.d but not do something similar for offscreenMatrix.tx. Please explain this code better in the comments.

Can you also use CGPointApplyAffineTransform like Darin asked?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>10770</commentid>
    <comment_count>5</comment_count>
      <attachid>14323</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2007-05-07 14:50:53 -0700</bug_when>
    <thetext>Comment on attachment 14323
QD plugins now respect the origin of CGBitmapContext 

Someone told me that Bruce is working on a version of this that uses CGPointApplyAffineTransform, so review- until we have that one.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>10768</commentid>
    <comment_count>6</comment_count>
      <attachid>14404</attachid>
    <who name="Bruce Q. Hammond">bruceq</who>
    <bug_when>2007-05-07 16:29:38 -0700</bug_when>
    <thetext>Created attachment 14404
respect the origin implied by the bitmap contexts affine tranformation matrix

Implements the changes requested by reviewers to go though CGPointApplyAffineTransform to create the origin data.  Personally I don&apos;t like this patch as much as the previous one because it requires yet another call to CGPointApplyAffineTransform in order to determine if the axes are flipped.  However it is simply a mater of taste and is functionally identical;  it may be more clear to some maintainers what is happening.
I also now treat Y-Axis and and X-Axis identically even though inverting the X-Axis would be unusual.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>10757</commentid>
    <comment_count>7</comment_count>
      <attachid>14404</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2007-05-07 16:33:57 -0700</bug_when>
    <thetext>Comment on attachment 14404
respect the origin implied by the bitmap contexts affine tranformation matrix

r=me, assuming that you (Bruce) have a test case that shows this works well, since Safari doesn&apos;t use this code path.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>10727</commentid>
    <comment_count>8</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2007-05-08 16:34:44 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; r=me, assuming that you (Bruce) have a test case that shows this works well,
&gt; since Safari doesn&apos;t use this code path.

Bruce confirmed that he does have a test, so confirmed: r=me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>10660</commentid>
    <comment_count>9</comment_count>
    <who name="Mark Rowe (bdash)">mrowe</who>
    <bug_when>2007-05-08 21:31:23 -0700</bug_when>
    <thetext>Landed in r21322.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>10642</commentid>
    <comment_count>10</comment_count>
    <who name="Mark Rowe (bdash)">mrowe</who>
    <bug_when>2007-05-08 22:39:46 -0700</bug_when>
    <thetext>A build fix in r21323 was needed to keep things building with the ancient version of Xcode the buildslaves are currently using.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>9924</commentid>
    <comment_count>11</comment_count>
      <attachid>14573</attachid>
    <who name="Bruce Q. Hammond">bruceq</who>
    <bug_when>2007-05-15 14:29:07 -0700</bug_when>
    <thetext>Created attachment 14573
Fixes the sign of the Y-Origin adjustment

The Y-origin adjustment was backwards on the previous patch.  This fixes it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>9940</commentid>
    <comment_count>12</comment_count>
      <attachid>14573</attachid>
    <who name="Mark Rowe (bdash)">mrowe</who>
    <bug_when>2007-05-15 16:40:17 -0700</bug_when>
    <thetext>Comment on attachment 14573
Fixes the sign of the Y-Origin adjustment

It&apos;d be *really* handy if all of these changes had some form of regression testing.  There have been several issues with past iterations of related patches, and without any way to test these (Safari doesn&apos;t touch this code path) it&apos;s impossible to know if and when this codepath breaks in the future.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>14323</attachid>
            <date>2007-05-03 17:05:33 -0700</date>
            <delta_ts>2007-05-07 16:29:38 -0700</delta_ts>
            <desc>QD plugins now respect the origin of CGBitmapContext </desc>
            <filename>offscreen_qd_plugins_correct_origin.patch</filename>
            <type>text/plain</type>
            <size>4371</size>
            <attacher name="Bruce Q. Hammond">bruceq</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdC9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L0NoYW5nZUxvZwko
cmV2aXNpb24gMjEyNDApCisrKyBXZWJLaXQvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0x
LDMgKzEsMjEgQEAKKzIwMDctMDUtMDMgIEJydWNlIFEgSGFtbW9uZCAgYnJ1Y2VxQGFwcGxlLmNv
bQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogUGx1
Z2lucy9XZWJCYXNlTmV0c2NhcGVQbHVnaW5WaWV3Lm1tOgorICAgICAgICAoLVtXZWJCYXNlTmV0
c2NhcGVQbHVnaW5WaWV3IHNhdmVBbmRTZXROZXdQb3J0U3RhdGVGb3JVcGRhdGU6XSk6CisgICAg
ICAgIAorICAgICAgICBCdWd6aWxsYSBidWcgMTM1NzggIldoZW4gUUQgcGx1Z2lucyBkcmF3IHRv
IGFuIG9mZnNjcmVlbiBiaXRtYXAgdGhlIG9yaWdpbiBpcyBub3QgY29ycmVjdCIKKyAgICAgICAg
CisgICAgICAgIE5vdyB3ZSBoYXZlIGNvcnJlY3QgaGFuZGxpbmcgb2YgdGhlIG9yaWdpbiB3aGVu
IFFEIHBsdWdpbnMgZHJhdyB0bworICAgICAgICBvZmZzY3JlZW4gYml0bWFwcy4KKyAgICAgICAg
QWxzbyB0aGUgY2xpcHBpbmcgY29kZSBmb3IgdGhpcyBwYXRoIHdhcyBkb2luZyB1bm5lY2Vzc2Fy
eSB3b3JrIHdoaWNoCisgICAgICAgIGNhdXNlZCBpbmNvcnJlY3QgcmVzdWx0czsgaXQgaGFzIGJl
ZW4gcmVtb3ZlZC4KKyAgICAgICAgCisgICAgICAgIFRoaXMgY2hhbmdlIHNob3VsZCBub3QgYWZm
ZWN0IFNhZmFyaSBhbmQgaW4gZ2VuZXJhbCB3aWxsIG9ubHkgYWZmZWN0CisgICAgICAgIHBsdWdp
bnMgKGUuZy4gRmxhc2gpIGRyYXdpbmcgdG8gYSBDR0JpdG1hcENvbnRleHQuCisgICAgICAgIAor
CiAyMDA3LTA1LTAzICBUSW1vdGh5IEhhdGNoZXIgIDx0aW1vdGh5QGFwcGxlLmNvbT4KIAogICAg
ICAgICBSZXZpZXdlZCBieSBLZXZpbi4KSW5kZXg6IFdlYktpdC9QbHVnaW5zL1dlYkJhc2VOZXRz
Y2FwZVBsdWdpblZpZXcubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L1BsdWdpbnMvV2ViQmFzZU5l
dHNjYXBlUGx1Z2luVmlldy5tbQkocmV2aXNpb24gMjEyNDApCisrKyBXZWJLaXQvUGx1Z2lucy9X
ZWJCYXNlTmV0c2NhcGVQbHVnaW5WaWV3Lm1tCSh3b3JraW5nIGNvcHkpCkBAIC00NDQsOCArNDQ0
LDEyIEBAIHN0YXRpYyBpbmxpbmUgdm9pZCBnZXROUFJlY3QoY29uc3QgTlNSZWMKIAogICAgICAg
ICAgICAgICAgICAgICAgICAgblBvcnQucWRQb3J0LnBvcnQgPSBwb3J0OwogICAgICAgICAgICAg
ICAgICAgICAgICAgYm91bmRzSW5XaW5kb3cgPSBbc2VsZiBib3VuZHNdOwotICAgICAgICAgICAg
ICAgICAgICAgICAgblBvcnQucWRQb3J0LnBvcnR4ID0gKGludDMyKS1ib3VuZHNJbldpbmRvdy5v
cmlnaW4ueDsKLSAgICAgICAgICAgICAgICAgICAgICAgIG5Qb3J0LnFkUG9ydC5wb3J0eSA9IChp
bnQzMiktYm91bmRzSW5XaW5kb3cub3JpZ2luLnk7CisgICAgICAgICAgICAgICAgICAgICAgICAK
KyAgICAgICAgICAgICAgICAgICAgICAgIC8vIFRoZSBvcmlnaW4gYWRqdXN0IG9ubHkgd29ya3Mg
Zm9yIGFuIHVucm90YXRlZCBtYXRyaXgsIGJ1dCBRRCBkb2VzIG5vdCBzdXBwb3J0IGdlbmVyYWwK
KyAgICAgICAgICAgICAgICAgICAgICAgIC8vIHRyYW5zZm9ybXMgc28gdGhpcyBpcyBhYm91dCBh
cyByZWFzb25hYmxlIGFzIHdlIGNhbiBiZS4gIEludmVydGVkIFkgY29vcmRzIG1hdHJpeGVzIHNo
b3VsZCBiZSBvayBob3dldmVyLgorICAgICAgICAgICAgICAgICAgICAgICAgQ0dBZmZpbmVUcmFu
c2Zvcm0gb2Zmc2NyZWVuTWF0cml4ID0gQ0dDb250ZXh0R2V0Q1RNIChjdXJyZW50Q29udGV4dCk7
CisgICAgICAgICAgICAgICAgICAgICAgICBuUG9ydC5xZFBvcnQucG9ydHggPSAoaW50MzIpLWJv
dW5kc0luV2luZG93Lm9yaWdpbi54IC0gb2Zmc2NyZWVuTWF0cml4LnR4OworICAgICAgICAgICAg
ICAgICAgICAgICAgblBvcnQucWRQb3J0LnBvcnR5ID0gKGludDMyKS1ib3VuZHNJbldpbmRvdy5v
cmlnaW4ueSAtIChvZmZzY3JlZW5Cb3VuZHMuYm90dG9tICsgb2Zmc2NyZWVuTWF0cml4LnR5ICog
b2Zmc2NyZWVuTWF0cml4LmQpOwogICAgICAgICAgICAgICAgICAgICAgICAgd2luZG93LnggPSAw
OwogICAgICAgICAgICAgICAgICAgICAgICAgd2luZG93LnkgPSAwOwogICAgICAgICAgICAgICAg
ICAgICAgICAgd2luZG93LndpbmRvdyA9ICZuUG9ydDsKQEAgLTQ5MSwxMCArNDk1LDYgQEAgc3Rh
dGljIGlubGluZSB2b2lkIGdldE5QUmVjdChjb25zdCBOU1JlYwogICAgICAgICAgICAgICAgIC8v
IEludGVyc2VjdCB0aGUgZGlydHkgcmVnaW9uIHdpdGggdGhlIGNsaXAgcmVnaW9uLCBzbyB0aGF0
IHdlIG9ubHkgZHJhdyBvdmVyIGRpcnR5IHBhcnRzCiAgICAgICAgICAgICAgICAgU2VjdFJnbihj
bGlwUmVnaW9uLCB2aWV3Q2xpcFJlZ2lvbiwgY2xpcFJlZ2lvbik7CiAgICAgICAgICAgICAgICAg
RGlzcG9zZVJnbih2aWV3Q2xpcFJlZ2lvbik7Ci0gICAgICAgICAgICAgICAgaWYgKHBvcnQgPT0g
b2Zmc2NyZWVuR1dvcmxkKSB7Ci0gICAgICAgICAgICAgICAgICAgIEdldFJlZ2lvbkJvdW5kcyhj
bGlwUmVnaW9uLCAmY2xpcEJvdW5kcyk7Ci0gICAgICAgICAgICAgICAgICAgIE9mZnNldFJnbihj
bGlwUmVnaW9uLCAtY2xpcEJvdW5kcy5sZWZ0LCAtY2xpcEJvdW5kcy50b3ApOwotICAgICAgICAg
ICAgICAgIH0KICAgICAgICAgICAgIH0KIAogICAgICAgICAgICAgLy8gU3dpdGNoIHRvIHRoZSBw
b3J0IGFuZCBzZXQgaXQgdXAuCkBAIC01MTAsMTEgKzUxMCw2IEBAIHN0YXRpYyBpbmxpbmUgdm9p
ZCBnZXROUFJlY3QoY29uc3QgTlNSZWMKICAgICAgICAgICAgICAgICAvLyBCdXQgdGhlIGludmFs
aWQgcmVnaW9uIGF0IHRoYXQgbGV2ZWwgZGlkbid0IGluY2x1ZGUgQXBwS2l0J3Mgbm90aW9uIG9m
IHdoYXQgd2FzIG5vdCB2YWxpZC4KICAgICAgICAgICAgICAgICAvLyBXZSByZXNldCB0aGUgcG9y
dCdzIHZpc2libGUgcmVnaW9uIHRvIGNvdW50ZXJhY3Qgd2hhdCBCZWdpblVwZGF0ZSBkaWQuCiAg
ICAgICAgICAgICAgICAgU2V0UG9ydFZpc2libGVSZWdpb24oblBvcnQucWRQb3J0LnBvcnQsIGNs
aXBSZWdpb24pOwotCi0gICAgICAgICAgICAgICAgLy8gU29tZSBwbHVnaW5zIGRvIHRoZWlyIG93
biBCZWdpblVwZGF0ZS9FbmRVcGRhdGUuCi0gICAgICAgICAgICAgICAgLy8gRm9yIHRob3NlLCB3
ZSBtdXN0IG1ha2Ugc3VyZSB0aGF0IHRoZSB1cGRhdGUgcmVnaW9uIGNvbnRhaW5zIHRoZSBhcmVh
IHdlIHdhbnQgdG8gZHJhdy4KLSAgICAgICAgICAgICAgICBpZiAocG9ydCA9PSBvZmZzY3JlZW5H
V29ybGQpCi0gICAgICAgICAgICAgICAgICAgIE9mZnNldFJnbihjbGlwUmVnaW9uLCBjbGlwQm91
bmRzLmxlZnQsIGNsaXBCb3VuZHMudG9wKTsKICAgICAgICAgICAgICAgICBJbnZhbFdpbmRvd1Jn
bih3aW5kb3dSZWYsIGNsaXBSZWdpb24pOwogICAgICAgICAgICAgfQogICAgICAgICAgICAgCklu
ZGV4OiBXZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCShyZXZpc2lvbiAyMTI0
MCkKKysrIFdlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkod29ya2luZyBj
b3B5KQpAQCAtMTMyNCw3ICsxMzI0LDYgQEAKIAkJMDg2N0Q2OTBGRTg0MDI4RkMwMkFBQzA3IC8q
IFByb2plY3Qgb2JqZWN0ICovID0gewogCQkJaXNhID0gUEJYUHJvamVjdDsKIAkJCWJ1aWxkQ29u
ZmlndXJhdGlvbkxpc3QgPSAxNDlDMjgzMjA4OTAyQjBGMDA4QTlFRkMgLyogQnVpbGQgY29uZmln
dXJhdGlvbiBsaXN0IGZvciBQQlhQcm9qZWN0ICJXZWJLaXQiICovOwotCQkJY29tcGF0aWJpbGl0
eVZlcnNpb24gPSAiWGNvZGUgMi40IjsKIAkJCWhhc1NjYW5uZWRGb3JFbmNvZGluZ3MgPSAxOwog
CQkJa25vd25SZWdpb25zID0gKAogCQkJCUVuZ2xpc2gsCkBAIC0xMzM5LDcgKzEzMzgsNiBAQAog
CQkJcHJvZHVjdFJlZkdyb3VwID0gMDM0NzY4REZGRjM4QTUwNDExREI5QzhCIC8qIFByb2R1Y3Rz
ICovOwogCQkJcHJvamVjdERpclBhdGggPSAiIjsKIAkJCXByb2plY3RSb290ID0gIiI7Ci0JCQlz
aG91bGRDaGVja0NvbXBhdGliaWxpdHkgPSAxOwogCQkJdGFyZ2V0cyA9ICgKIAkJCQk5Mzk4MTAw
QTA4MjRCRjAxMDA4REYwMzggLyogV2ViS2l0ICovLAogCQkJKTsK
</data>
<flag name="review"
          id="5840"
          type_id="1"
          status="-"
          setter="darin"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>14404</attachid>
            <date>2007-05-07 16:29:38 -0700</date>
            <delta_ts>2007-05-15 14:30:26 -0700</delta_ts>
            <desc>respect the origin implied by the bitmap contexts affine tranformation matrix</desc>
            <filename>offscreen_qd_plugin_origin_fix2.patch</filename>
            <type>text/plain</type>
            <size>4405</size>
            <attacher name="Bruce Q. Hammond">bruceq</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdC9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L0NoYW5nZUxvZwko
cmV2aXNpb24gMjEyOTEpCisrKyBXZWJLaXQvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0x
LDMgKzEsMTggQEAKKzIwMDctMDUtMDcgIEJydWNlIFEgSGFtbW9uZCAgPHNldCBFTUFJTF9BRERS
RVNTIGVudmlyb25tZW50IHZhcmlhYmxlPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIE5vdyB3ZSBoYXZlIGNvcnJlY3QgaGFuZGxpbmcgb2YgdGhlIG9y
aWdpbiB3aGVuIFFEIHBsdWdpbnMgZHJhdyB0bworICAgICAgICBvZmZzY3JlZW4gYml0bWFwcy4K
KyAgICAgICAgQWxzbyB0aGUgY2xpcHBpbmcgY29kZSBmb3IgdGhpcyBwYXRoIHdhcyBkb2luZyB1
bm5lY2Vzc2FyeSB3b3JrIHdoaWNoCisgICAgICAgIGNhdXNlZCBpbmNvcnJlY3QgcmVzdWx0czsg
aXQgaGFzIGJlZW4gcmVtb3ZlZC4KKyAgICAgICAgCisgICAgICAgIFRoaXMgY2hhbmdlIHNob3Vs
ZCBub3QgYWZmZWN0IFNhZmFyaSBhbmQgaW4gZ2VuZXJhbCB3aWxsIG9ubHkgYWZmZWN0CisgICAg
ICAgIHBsdWdpbnMgKGUuZy4gRmxhc2gpIGRyYXdpbmcgdG8gYSBDR0JpdG1hcENvbnRleHQuCisK
KyAgICAgICAgKiBQbHVnaW5zL1dlYkJhc2VOZXRzY2FwZVBsdWdpblZpZXcubW06CisgICAgICAg
ICgtW1dlYkJhc2VOZXRzY2FwZVBsdWdpblZpZXcgc2F2ZUFuZFNldE5ld1BvcnRTdGF0ZUZvclVw
ZGF0ZTpdKToKKwogMjAwNy0wNS0wNyAgQnJhZHkgRWlkc29uICA8YmVpZHNvbkBhcHBsZS5jb20+
CiAKICAgICAgICAgQWN0dWFsbHkgZmluaXNoIHRoZSBjb2RlIG1vdmUgZnJvbSBteSBsYXN0IGNo
ZWNraW4KSW5kZXg6IFdlYktpdC9QbHVnaW5zL1dlYkJhc2VOZXRzY2FwZVBsdWdpblZpZXcubW0K
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gV2ViS2l0L1BsdWdpbnMvV2ViQmFzZU5ldHNjYXBlUGx1Z2luVmlldy5t
bQkocmV2aXNpb24gMjEyODgpCisrKyBXZWJLaXQvUGx1Z2lucy9XZWJCYXNlTmV0c2NhcGVQbHVn
aW5WaWV3Lm1tCSh3b3JraW5nIGNvcHkpCkBAIC00NDQsOCArNDQ0LDIwIEBAIHN0YXRpYyBpbmxp
bmUgdm9pZCBnZXROUFJlY3QoY29uc3QgTlNSZWMKIAogICAgICAgICAgICAgICAgICAgICAgICAg
blBvcnQucWRQb3J0LnBvcnQgPSBwb3J0OwogICAgICAgICAgICAgICAgICAgICAgICAgYm91bmRz
SW5XaW5kb3cgPSBbc2VsZiBib3VuZHNdOwotICAgICAgICAgICAgICAgICAgICAgICAgblBvcnQu
cWRQb3J0LnBvcnR4ID0gKGludDMyKS1ib3VuZHNJbldpbmRvdy5vcmlnaW4ueDsKLSAgICAgICAg
ICAgICAgICAgICAgICAgIG5Qb3J0LnFkUG9ydC5wb3J0eSA9IChpbnQzMiktYm91bmRzSW5XaW5k
b3cub3JpZ2luLnk7CisgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIEdlbmVyYXRlIGEgUUQgb3JpZ2luIGJhc2VkIG9uIHRoZSBjdXJyZW50IGFmZmlu
ZSB0cmFuc2Zvcm0gZm9yIGN1cnJlbnRDb250ZXh0LgorICAgICAgICAgICAgICAgICAgICAgICAg
Q0dBZmZpbmVUcmFuc2Zvcm0gb2Zmc2NyZWVuTWF0cml4ID0gQ0dDb250ZXh0R2V0Q1RNKGN1cnJl
bnRDb250ZXh0KTsKKyAgICAgICAgICAgICAgICAgICAgICAgIENHUG9pbnQgb3JpZ2luID0gezAs
MH07CisgICAgICAgICAgICAgICAgICAgICAgICBDR1BvaW50IGF4aXNGbGlwID0gezEsMX07Cisg
ICAgICAgICAgICAgICAgICAgICAgICBvcmlnaW4gPSBDR1BvaW50QXBwbHlBZmZpbmVUcmFuc2Zv
cm0ob3JpZ2luLCBvZmZzY3JlZW5NYXRyaXgpOworICAgICAgICAgICAgICAgICAgICAgICAgYXhp
c0ZsaXAgPSBDR1BvaW50QXBwbHlBZmZpbmVUcmFuc2Zvcm0oYXhpc0ZsaXAsIG9mZnNjcmVlbk1h
dHJpeCk7CisgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAg
IC8vIFF1YXJ0eiBiaXRtYXBzIGhhdmUgb3JpZ2lucyBhdCB0aGUgYm90dG9tIGxlZnQsIGJ1dCB0
aGUgYXhlcyBtYXkgYmUgaW52ZXJ0ZWQsIHNvIGhhbmRsZSB0aGF0LgorICAgICAgICAgICAgICAg
ICAgICAgICAgb3JpZ2luLnggPSBvZmZzY3JlZW5Cb3VuZHMubGVmdCAtIG9yaWdpbi54ICogKGF4
aXNGbGlwLnggLSBvcmlnaW4ueCk7CisgICAgICAgICAgICAgICAgICAgICAgICBvcmlnaW4ueSA9
IG9mZnNjcmVlbkJvdW5kcy5ib3R0b20gKyBvcmlnaW4ueSAqIChheGlzRmxpcC55IC0gb3JpZ2lu
LnkpOworICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICBu
UG9ydC5xZFBvcnQucG9ydHggPSAoaW50MzIpLWJvdW5kc0luV2luZG93Lm9yaWdpbi54ICsgb3Jp
Z2luLng7CisgICAgICAgICAgICAgICAgICAgICAgICBuUG9ydC5xZFBvcnQucG9ydHkgPSAoaW50
MzIpLWJvdW5kc0luV2luZG93Lm9yaWdpbi55ICsgb3JpZ2luLnk7ICAgICAgICAgICAgICAgICAg
ICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICB3aW5kb3cueCA9IDA7CiAgICAgICAgICAg
ICAgICAgICAgICAgICB3aW5kb3cueSA9IDA7CiAgICAgICAgICAgICAgICAgICAgICAgICB3aW5k
b3cud2luZG93ID0gJm5Qb3J0OwpAQCAtNDYzLDcgKzQ3NSw2IEBAIHN0YXRpYyBpbmxpbmUgdm9p
ZCBnZXROUFJlY3QoY29uc3QgTlNSZWMKICAgICAgICAgICAgIAogICAgICAgICAgICAgLy8gQ2xp
cCB0byBkaXJ0eSByZWdpb24gc28gcGx1Zy1pbiBkb2VzIG5vdCBkcmF3IG92ZXIgYWxyZWFkeS1k
cmF3biByZWdpb25zIG9mIHRoZSB3aW5kb3cgdGhhdCBhcmUKICAgICAgICAgICAgIC8vIG5vdCBn
b2luZyB0byBiZSByZWRyYXduIHRoaXMgdXBkYXRlLiAgVGhpcyBmb3JjZXMgcGx1Zy1pbnMgdG8g
cGxheSBuaWNlIHdpdGggei1pbmRleCBvcmRlcmluZy4KLSAgICAgICAgICAgIFJlY3QgY2xpcEJv
dW5kczsKICAgICAgICAgICAgIGlmIChmb3JVcGRhdGUpIHsKICAgICAgICAgICAgICAgICBSZ25I
YW5kbGUgdmlld0NsaXBSZWdpb24gPSBOZXdSZ24oKTsKICAgICAgICAgICAgICAgICAKQEAgLTQ5
MSwxMCArNTAyLDYgQEAgc3RhdGljIGlubGluZSB2b2lkIGdldE5QUmVjdChjb25zdCBOU1JlYwog
ICAgICAgICAgICAgICAgIC8vIEludGVyc2VjdCB0aGUgZGlydHkgcmVnaW9uIHdpdGggdGhlIGNs
aXAgcmVnaW9uLCBzbyB0aGF0IHdlIG9ubHkgZHJhdyBvdmVyIGRpcnR5IHBhcnRzCiAgICAgICAg
ICAgICAgICAgU2VjdFJnbihjbGlwUmVnaW9uLCB2aWV3Q2xpcFJlZ2lvbiwgY2xpcFJlZ2lvbik7
CiAgICAgICAgICAgICAgICAgRGlzcG9zZVJnbih2aWV3Q2xpcFJlZ2lvbik7Ci0gICAgICAgICAg
ICAgICAgaWYgKHBvcnQgPT0gb2Zmc2NyZWVuR1dvcmxkKSB7Ci0gICAgICAgICAgICAgICAgICAg
IEdldFJlZ2lvbkJvdW5kcyhjbGlwUmVnaW9uLCAmY2xpcEJvdW5kcyk7Ci0gICAgICAgICAgICAg
ICAgICAgIE9mZnNldFJnbihjbGlwUmVnaW9uLCAtY2xpcEJvdW5kcy5sZWZ0LCAtY2xpcEJvdW5k
cy50b3ApOwotICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgIH0KIAogICAgICAgICAgICAg
Ly8gU3dpdGNoIHRvIHRoZSBwb3J0IGFuZCBzZXQgaXQgdXAuCkBAIC01MTAsMTEgKzUxNyw2IEBA
IHN0YXRpYyBpbmxpbmUgdm9pZCBnZXROUFJlY3QoY29uc3QgTlNSZWMKICAgICAgICAgICAgICAg
ICAvLyBCdXQgdGhlIGludmFsaWQgcmVnaW9uIGF0IHRoYXQgbGV2ZWwgZGlkbid0IGluY2x1ZGUg
QXBwS2l0J3Mgbm90aW9uIG9mIHdoYXQgd2FzIG5vdCB2YWxpZC4KICAgICAgICAgICAgICAgICAv
LyBXZSByZXNldCB0aGUgcG9ydCdzIHZpc2libGUgcmVnaW9uIHRvIGNvdW50ZXJhY3Qgd2hhdCBC
ZWdpblVwZGF0ZSBkaWQuCiAgICAgICAgICAgICAgICAgU2V0UG9ydFZpc2libGVSZWdpb24oblBv
cnQucWRQb3J0LnBvcnQsIGNsaXBSZWdpb24pOwotCi0gICAgICAgICAgICAgICAgLy8gU29tZSBw
bHVnaW5zIGRvIHRoZWlyIG93biBCZWdpblVwZGF0ZS9FbmRVcGRhdGUuCi0gICAgICAgICAgICAg
ICAgLy8gRm9yIHRob3NlLCB3ZSBtdXN0IG1ha2Ugc3VyZSB0aGF0IHRoZSB1cGRhdGUgcmVnaW9u
IGNvbnRhaW5zIHRoZSBhcmVhIHdlIHdhbnQgdG8gZHJhdy4KLSAgICAgICAgICAgICAgICBpZiAo
cG9ydCA9PSBvZmZzY3JlZW5HV29ybGQpCi0gICAgICAgICAgICAgICAgICAgIE9mZnNldFJnbihj
bGlwUmVnaW9uLCBjbGlwQm91bmRzLmxlZnQsIGNsaXBCb3VuZHMudG9wKTsKICAgICAgICAgICAg
ICAgICBJbnZhbFdpbmRvd1Jnbih3aW5kb3dSZWYsIGNsaXBSZWdpb24pOwogICAgICAgICAgICAg
fQogICAgICAgICAgICAgCg==
</data>
<flag name="review"
          id="5868"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>14573</attachid>
            <date>2007-05-15 14:29:07 -0700</date>
            <delta_ts>2007-05-15 16:21:51 -0700</delta_ts>
            <desc>Fixes the sign of the Y-Origin adjustment</desc>
            <filename>correct_sign_y_origin_qd_plugin_offscreen.patch</filename>
            <type>text/plain</type>
            <size>1540</size>
            <attacher name="Bruce Q. Hammond">bruceq</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdC9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L0NoYW5nZUxvZwko
cmV2aXNpb24gMjE0OTQpCisrKyBXZWJLaXQvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0x
LDMgKzEsMTMgQEAKKzIwMDctMDUtMTUgIEJydWNlIFEgSGFtbW9uZCAgPHNldCBFTUFJTF9BRERS
RVNTIGVudmlyb25tZW50IHZhcmlhYmxlPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIENvcnJlY3Rpb24gb2YgcHJldmlvdXMgcGF0Y2ggZm9yICBodHRw
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzU3OAorICAgICAgICBUaGlzIGNv
cnJlY3RzIHRoZSBzaWduIG9mIHRoZSBZLUF4aXMgb3JpZ2luIGFkanVzdG1lbnQuCisgICAgICAg
IAorICAgICAgICAqIFBsdWdpbnMvV2ViQmFzZU5ldHNjYXBlUGx1Z2luVmlldy5tbToKKyAgICAg
ICAgKC1bV2ViQmFzZU5ldHNjYXBlUGx1Z2luVmlldyBzYXZlQW5kU2V0TmV3UG9ydFN0YXRlRm9y
VXBkYXRlOl0pOgorCiAyMDA3LTA1LTE1ICBHZW9mZnJleSBHYXJlbiAgPGdnYXJlbkBhcHBsZS5j
b20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgTWFjaWVqIFN0YWNob3dpYWsuCkluZGV4OiBXZWJL
aXQvUGx1Z2lucy9XZWJCYXNlTmV0c2NhcGVQbHVnaW5WaWV3Lm1tCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdl
YktpdC9QbHVnaW5zL1dlYkJhc2VOZXRzY2FwZVBsdWdpblZpZXcubW0JKHJldmlzaW9uIDIxNDkz
KQorKysgV2ViS2l0L1BsdWdpbnMvV2ViQmFzZU5ldHNjYXBlUGx1Z2luVmlldy5tbQkod29ya2lu
ZyBjb3B5KQpAQCAtNDU3LDcgKzQ1Nyw3IEBAIHN0YXRpYyBpbmxpbmUgdm9pZCBnZXROUFJlY3Qo
Y29uc3QgTlNSZWMKICAgICAgICAgICAgICAgICAgICAgICAgIG9yaWdpbi55ID0gb2Zmc2NyZWVu
Qm91bmRzLmJvdHRvbSArIG9yaWdpbi55ICogKGF4aXNGbGlwLnkgLSBvcmlnaW4ueSk7CiAgICAg
ICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgIG5Qb3J0LnFkUG9y
dC5wb3J0eCA9IHN0YXRpY19jYXN0PGludDMyPigtYm91bmRzSW5XaW5kb3cub3JpZ2luLnggKyBv
cmlnaW4ueCk7Ci0gICAgICAgICAgICAgICAgICAgICAgICBuUG9ydC5xZFBvcnQucG9ydHkgPSBz
dGF0aWNfY2FzdDxpbnQzMj4oLWJvdW5kc0luV2luZG93Lm9yaWdpbi55ICsgb3JpZ2luLnkpOwor
ICAgICAgICAgICAgICAgICAgICAgICAgblBvcnQucWRQb3J0LnBvcnR5ID0gc3RhdGljX2Nhc3Q8
aW50MzI+KC1ib3VuZHNJbldpbmRvdy5vcmlnaW4ueSAtIG9yaWdpbi55KTsKICAgICAgICAgICAg
ICAgICAgICAgICAgIHdpbmRvdy54ID0gMDsKICAgICAgICAgICAgICAgICAgICAgICAgIHdpbmRv
dy55ID0gMDsKICAgICAgICAgICAgICAgICAgICAgICAgIHdpbmRvdy53aW5kb3cgPSAmblBvcnQ7
Cg==
</data>
<flag name="review"
          id="5972"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>