<?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>50775</bug_id>
          
          <creation_ts>2010-12-09 12:11:07 -0800</creation_ts>
          <short_desc>Jittering when animating a rotated image</short_desc>
          <delta_ts>2022-07-18 13:57: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>Canvas</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Mac (Intel)</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>CONFIGURATION CHANGED</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>0</everconfirmed>
          <reporter name="Daniel Rice">danrice</reporter>
          <assigned_to name="Matthew Delaney">mdelaney7</assigned_to>
          <cc>bdakin</cc>
    
    <cc>bfulgham</cc>
    
    <cc>dmitry</cc>
    
    <cc>eric</cc>
    
    <cc>jamesr</cc>
    
    <cc>kbr</cc>
    
    <cc>mdelaney7</cc>
    
    <cc>reed</cc>
    
    <cc>senorblanco</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>vangelis</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>319640</commentid>
    <comment_count>0</comment_count>
      <attachid>76102</attachid>
    <who name="Daniel Rice">danrice</who>
    <bug_when>2010-12-09 12:11:07 -0800</bug_when>
    <thetext>Created attachment 76102
Reproducible test case

The attached html/js file displays an animation of a rotating checkerboard image, along with a magnified view of each frame as it is drawn.  When the image is at a rotation angle near 45 degrees, it appears to shake.  Playing the same animation on Firefox gives a smooth appearance, where the antialiasing around the internal edges changes in a steady manner from frame to frame.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>321485</commentid>
    <comment_count>1</comment_count>
    <who name="Matthew Delaney">mdelaney7</who>
    <bug_when>2010-12-13 15:22:18 -0800</bug_when>
    <thetext>Hi Daniel, I&apos;m not seeing any shaking on my current build on my machine. Though, I&apos;m not quite sure what you mean by shaking - could you maybe elaborate a little more. As a baseline, firefox 4 beta does the same as my Safari build.

Are the details you listed in the bug all correct? (i.e. Are you on Leopard, running a nightly?) If so, which nightly? Any other relevant info for me to try to reproduce would be great.

Also, if you could try the latest webkit nightly on a Leopard or Snow Leopard install and let me know if you still see the jittering that&apos;d be great. Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>350972</commentid>
    <comment_count>2</comment_count>
    <who name="Dmitry Chestnykh">dmitry</who>
    <bug_when>2011-02-14 16:38:42 -0800</bug_when>
    <thetext>Matthew, (In reply to comment #1)

Here&apos;s the similar bug I filed in Chromium bug tracker: http://code.google.com/p/chromium/issues/detail?id=67555

You can reproduce it by running WebKit&apos;s 32-bit build.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>350998</commentid>
    <comment_count>3</comment_count>
    <who name="Dmitry Chestnykh">dmitry</who>
    <bug_when>2011-02-14 17:17:16 -0800</bug_when>
    <thetext>This commit might be related: http://trac.webkit.org/changeset/15470</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>354614</commentid>
    <comment_count>4</comment_count>
    <who name="Stephen White">senorblanco</who>
    <bug_when>2011-02-21 08:37:48 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; This commit might be related: http://trac.webkit.org/changeset/15470

Looks like this all started back in http://trac.webkit.org/changeset/14739, to fix &quot;Pixel cracks in weather widget at 1.83 scaling&quot; (in Radar, unfortunately, so I have no way to repro this).  I have noticed similar problems with CoreGraphics image scaling before, but I don&apos;t think these apply to Skia, but I could be wrong.

I&apos;m tempted to</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>354615</commentid>
    <comment_count>5</comment_count>
    <who name="Stephen White">senorblanco</who>
    <bug_when>2011-02-21 08:40:06 -0800</bug_when>
    <thetext>I&apos;m tempted to say let&apos;s just rip it out on the Skia path (which is what Android have done, with no apparent ill effects).  But obviously that won&apos;t help Chrome/Mac, nor Safari.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>354620</commentid>
    <comment_count>6</comment_count>
    <who name="Dmitry Chestnykh">dmitry</who>
    <bug_when>2011-02-21 08:59:21 -0800</bug_when>
    <thetext>Moreover, change 14739 seem to no longer fix what it supposed to fix, at least on 10.6.6. The weather widget is broken at scale factor 1.5: http://i.imgur.com/IiT7S.png</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>354697</commentid>
    <comment_count>7</comment_count>
      <attachid>83193</attachid>
    <who name="Stephen White">senorblanco</who>
    <bug_when>2011-02-21 11:07:39 -0800</bug_when>
    <thetext>Created attachment 83193
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>355285</commentid>
    <comment_count>8</comment_count>
    <who name="Stephen White">senorblanco</who>
    <bug_when>2011-02-22 08:25:40 -0800</bug_when>
    <thetext>Some more data: the test case in https://bugs.webkit.org/show_bug.cgi?id=15720 (non-canvas draws, which do not yet have this coordinate adjustment) shows cracks in Chrome/Mac and Safari, but not in Chrome/Win.  This confirms that this is a CoreGraphics-specific issue, and doesn&apos;t apply to Skia.  So I think it is safe to land the attached patch.

For the CoreGraphics path, how about this for a compromise:  If the matrix contains a rotation, do not snap to integral pixel boundaries (ie., return the original coordinates).  Then there would be no cracks in the common case (scales, translations) such as that in the OSX weather widget, and rotations wouldn&apos;t show jitter, although they would show cracks if multiple parallel images were rotated together.  The latter seems like a less common case compared to the others.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>355293</commentid>
    <comment_count>9</comment_count>
    <who name="Dmitry Chestnykh">dmitry</who>
    <bug_when>2011-02-22 08:34:36 -0800</bug_when>
    <thetext>Stephen, but the compromise won&apos;t fix the zooming jitter (as this test case: http://code.google.com/p/chromium/issues/detail?id=67555#c18), will it?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>355309</commentid>
    <comment_count>10</comment_count>
    <who name="Stephen White">senorblanco</who>
    <bug_when>2011-02-22 08:51:03 -0800</bug_when>
    <thetext>(In reply to comment #9)
&gt; Stephen, but the compromise won&apos;t fix the zooming jitter (as this test case: http://code.google.com/p/chromium/issues/detail?id=67555#c18), will it?

True.  Zooming would still jitter.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>355448</commentid>
    <comment_count>11</comment_count>
      <attachid>83193</attachid>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2011-02-22 11:40:42 -0800</bug_when>
    <thetext>Comment on attachment 83193
Patch

Looks fine to me. If this is the solution desired, we could always #ifdef the similar code in GraphicsContextCG.cpp with !PLATFORM(CHROMIUM).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>356017</commentid>
    <comment_count>12</comment_count>
    <who name="Stephen White">senorblanco</who>
    <bug_when>2011-02-23 04:16:32 -0800</bug_when>
    <thetext>Landed as http://trac.webkit.org/changeset/79437.  Leaving the bug open while we decide what to do on other platforms.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>358324</commentid>
    <comment_count>13</comment_count>
    <who name="Vangelis Kokkevis">vangelis</who>
    <bug_when>2011-02-25 18:07:46 -0800</bug_when>
    <thetext>(In reply to comment #10)
&gt; (In reply to comment #9)
&gt; &gt; Stephen, but the compromise won&apos;t fix the zooming jitter (as this test case: http://code.google.com/p/chromium/issues/detail?id=67555#c18), will it?
&gt; 
&gt; True.  Zooming would still jitter.

I&apos;m confused.. why would zooming still jitter if you&apos;re only only apply the fix when the matrix has a rotation?  Do you mean if it has both rotation and scale? 

I actually applied a patch locally to eliminate the code in roundToDevicePixels and the zooming example from the crbug seems nice and smooth.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>358445</commentid>
    <comment_count>14</comment_count>
    <who name="Dmitry Chestnykh">dmitry</who>
    <bug_when>2011-02-26 03:19:32 -0800</bug_when>
    <thetext>(In reply to comment #13)
&gt; (In reply to comment #10)
&gt; &gt; (In reply to comment #9)
&gt; &gt; &gt; Stephen, but the compromise won&apos;t fix the zooming jitter (as this test case: http://code.google.com/p/chromium/issues/detail?id=67555#c18), will it?
&gt; &gt; 
&gt; &gt; True.  Zooming would still jitter.
&gt; 
&gt; I&apos;m confused.. why would zooming still jitter if you&apos;re only only apply the fix when the matrix has a rotation?  Do you mean if it has both rotation and scale? 

The proposed fix for CG was to _skip_ roundToDevicePixels when the matrix has rotation. But in case of zooming this will not work (as roundToDevicePixels still applies in this case).
 
&gt; I actually applied a patch locally to eliminate the code in roundToDevicePixels and the zooming example from the crbug seems nice and smooth.

That&apos;s because you eliminated roundToDevicePixels, and that&apos;s the goal. However, there seem to be the case that eliminating roundToDevicePixels completely in CoreGraphics version introduces pixel cracks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>363750</commentid>
    <comment_count>15</comment_count>
    <who name="Vangelis Kokkevis">vangelis</who>
    <bug_when>2011-03-07 18:39:19 -0800</bug_when>
    <thetext>(In reply to comment #14)
&gt; (In reply to comment #13)
&gt; &gt; (In reply to comment #10)
&gt; &gt; &gt; (In reply to comment #9)
&gt; &gt; &gt; &gt; Stephen, but the compromise won&apos;t fix the zooming jitter (as this test case: http://code.google.com/p/chromium/issues/detail?id=67555#c18), will it?
&gt; &gt; &gt; 
&gt; &gt; &gt; True.  Zooming would still jitter.
&gt; &gt; 
&gt; &gt; I&apos;m confused.. why would zooming still jitter if you&apos;re only only apply the fix when the matrix has a rotation?  Do you mean if it has both rotation and scale? 
&gt; 
&gt; The proposed fix for CG was to _skip_ roundToDevicePixels when the matrix has rotation. But in case of zooming this will not work (as roundToDevicePixels still applies in this case).
&gt; 
&gt; &gt; I actually applied a patch locally to eliminate the code in roundToDevicePixels and the zooming example from the crbug seems nice and smooth.
&gt; 
&gt; That&apos;s because you eliminated roundToDevicePixels, and that&apos;s the goal. However, there seem to be the case that eliminating roundToDevicePixels completely in CoreGraphics version introduces pixel cracks.

Oh, I see.

Is there any way to test that cracks are still an issue for the CG path? The fix/workaround: http://trac.webkit.org/changeset/14739   was checked in 5 years ago.  Anybody have access to the original rdar repro case?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>379530</commentid>
    <comment_count>16</comment_count>
      <attachid>88224</attachid>
    <who name="Stephen White">senorblanco</who>
    <bug_when>2011-04-05 07:12:52 -0700</bug_when>
    <thetext>Created attachment 88224
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>380984</commentid>
    <comment_count>17</comment_count>
      <attachid>88224</attachid>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2011-04-06 17:16:19 -0700</bug_when>
    <thetext>Comment on attachment 88224
Patch

Looks good to me as long as it&apos;s been tested.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>383488</commentid>
    <comment_count>18</comment_count>
    <who name="Stephen White">senorblanco</who>
    <bug_when>2011-04-11 13:57:56 -0700</bug_when>
    <thetext>Landed the second patch as r83490.  Leaving the bug open in case other ports (e.g., Safari) want to do something about this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1884847</commentid>
    <comment_count>19</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2022-07-18 13:56:53 -0700</bug_when>
    <thetext>Safari, Chrome, and Firefox all agree on rendering for this test case. I don&apos;t believe there is any remaining compatibility issue.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1884848</commentid>
    <comment_count>20</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-07-18 13:57:17 -0700</bug_when>
    <thetext>&lt;rdar://problem/97218274&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>76102</attachid>
            <date>2010-12-09 12:11:07 -0800</date>
            <delta_ts>2011-02-24 22:07:15 -0800</delta_ts>
            <desc>Reproducible test case</desc>
            <filename>rotate.html</filename>
            <type>text/html</type>
            <size>2447</size>
            <attacher name="Daniel Rice">danrice</attacher>
            
              <data encoding="base64">PGh0bWw+Cjxib2R5Pgo8IS0tIFNtYWxsIGNhbnZhcyAtLT4KPGNhbnZhcyBpZD0iY2FudmFzMSIg
d2lkdGg9IjQwcHgiIGhlaWdodD0iNDBweCI+PC9jYW52YXM+Cjxocj48L2hyPgo8IS0tIExhcmdl
IGNhbnZhcywgc2hvdWxkIGJlIGFuIGludGVnZXIgbXVsdGlwbGUgb2YgdGhlIHNtYWxsIGNhbnZh
cyAtLT4KPGNhbnZhcyBpZD0iY2FudmFzMiIgd2lkdGg9IjQwMHB4IiBoZWlnaHQ9IjQwMHB4Ij48
L2NhbnZhcz4KPGhyPjwvaHI+Cgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CgovLyBN
YWduaWZ5IHRoZSBzbWFsbCBjYW52YXMgb250byB0aGUgYmlnIGNuYXZhcyB1c2luZyBwaXhlbCBy
ZXBsaWNhdGlvbgpmdW5jdGlvbiBtYWduaWZ5KCkgewogIHZhciBzbWFsbCA9IGN0eC5nZXRJbWFn
ZURhdGEoMCwgMCwgc3csIHNoKTsKICB2YXIgYmlnID0gY3R4LmNyZWF0ZUltYWdlRGF0YShidywg
YmgpOwoKICB2YXIgc2RhdGEgPSBzbWFsbC5kYXRhOwogIHZhciBiZGF0YSA9IGJpZy5kYXRhOwog
IGZvciAoaiA9IDA7IGogPCA0MDsgaisrKSB7CiAgICB2YXIgb2ZmID0gNCAqIHN3ICogajsKICAg
IGZvciAoaSA9IDA7IGkgPCA0MDsgaSsrKSB7CiAgICAgIC8vIFJlYWQgYSBwaXhlbAogICAgICB2
YXIgciA9IHNkYXRhW29mZisrXTsKICAgICAgdmFyIGcgPSBzZGF0YVtvZmYrK107CiAgICAgIHZh
ciBiID0gc2RhdGFbb2ZmKytdOwogICAgICBvZmYrKzsKCiAgICAgIC8vIERyYXcgYSBtYWcgKiBt
YWcgc3F1YXJlIG9mIGlkZW50aWNhbCBwaXhlbHMKICAgICAgdmFyIHggPSBpICogbWFnOwogICAg
ICB2YXIgeSA9IGogKiBtYWc7CiAgICAgIGZvciAodiA9IDA7IHYgPCBtYWc7IHYrKywgeSsrKSB7
CiAgICAgICAgdmFyIGJvZmYgPSA0ICogKGJ3ICogeSArIHgpOwogICAgICAgIGZvciAodSA9IDA7
IHUgPCBtYWc7IHUrKykgewogICAgICAgICAgYmRhdGFbYm9mZisrXSA9IHI7CiAgICAgICAgICBi
ZGF0YVtib2ZmKytdID0gZzsKICAgICAgICAgIGJkYXRhW2JvZmYrK10gPSBiOwogICAgICAgICAg
YmRhdGFbYm9mZisrXSA9IDI1NTsKICAgICAgICB9CiAgICAgIH0KICAgIH0KICB9CgogIGN0eDIu
ZmlsbFN0eWxlID0gIiNmZjAwMDAiOwogIGN0eDIuZmlsbFJlY3QoMCwgMCwgYncsIGJoKTsKICBj
dHgyLnB1dEltYWdlRGF0YShiaWcsIDAsIDApOwp9CgovLyBEcmF3IGEgcm90YXRlZCBjaGVja2Jv
YXJkIG9udG8gdGhlIHNtYWxsIGNhbnZhcwovLyBhbmQgbWFnbmlmeSB0aGUgcmVzdWx0CmZ1bmN0
aW9uIHBhaW50KCkgewogIGN0eC5zYXZlKCk7CgogIC8vIERyYXcgYSByZWQgYmFja2dyb3VuZAog
IGN0eC5maWxsU3R5bGUgPSAiI2ZmMDAwMCI7CiAgY3R4LmZpbGxSZWN0KDAsIDAsIHN3LCBzaCk7
CgogIC8vIFJvdGF0ZSBhYm91dCB0aGUgY2VudGVyIG9mIHRoZSBjYW52YXMKICBjdHgudHJhbnNs
YXRlKHN3IC8gMiwgc2ggLyAyKTsKICBjdHgucm90YXRlKGFuZ2xlKTsKICBjdHgudHJhbnNsYXRl
KC1zdyAvIDIsIC1zaCAvIDIpOwoKICAvLyBEcmF3IHRoZSBpbWFnZSwgYWxpZ25pbmcgdGhlIGlt
YWdlIGNlbnRlciB3aXRoIHRoZSBjYW52YXMgY2VudGVyCiAgY3R4LmRyYXdJbWFnZShpbWFnZSwg
c3cgLyAyIC0gY3cgLyAyLCBzaCAvIDIgLSBjdyAvIDIpOwoKICBjdHgucmVzdG9yZSgpOwoKICAv
LyBEaXNwbGF5IGEgbWFnbmlmaWVkIHZlcnNpb24gb2YgdGhlIHJvdGF0ZWQgaW1hZ2UKICBtYWdu
aWZ5KCk7CgogIGFuZ2xlICs9IDAuMDE7Cn0KCnZhciBjYW52YXMxID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNhbnZhczEiKTsKdmFyIGNhbnZhczIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY2FudmFzMiIpOwp2YXIgY3R4ID0gY2FudmFzMS5nZXRDb250ZXh0KCIyZCIpOwp2YXIgY3R4
MiA9IGNhbnZhczIuZ2V0Q29udGV4dCgiMmQiKTsKCnZhciBzdyA9IGNhbnZhczEud2lkdGg7CnZh
ciBzaCA9IGNhbnZhczEuaGVpZ2h0Owp2YXIgYncgPSBjYW52YXMyLndpZHRoOwp2YXIgYmggPSBj
YW52YXMyLmhlaWdodDsKdmFyIG1hZyA9IGJ3IC8gc3c7Cgp2YXIgY3cgPSAyMDsgLy8gY2hlY2ti
b2FyZCB3aWR0aAp2YXIgaW1hZ2UgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJjYW52YXMiKTsK
dmFyIGljdHggPSBpbWFnZS5nZXRDb250ZXh0KCIyZCIpOwppbWFnZS53aWR0aCA9IGN3OwppbWFn
ZS5oZWlnaHQgPSBjdzsKaWN0eC5maWxsU3R5bGUgPSAiIzAwMDAwMCI7CmljdHguZmlsbFJlY3Qo
MCwgMCwgY3csIGN3KTsKaWN0eC5maWxsU3R5bGUgPSAiI2ZmZmZmZiI7CmljdHguZmlsbFJlY3Qo
MCwgMCwgY3cgLyAyLCBjdyAvIDIpOwppY3R4LmZpbGxSZWN0KGN3IC8gMiwgY3cgLyAyLCBjdyAv
IDIsIGN3IC8gMik7CgovLyBEcmF3IGEgZnJhbWUgZXZlciAzMyBtc2VjCnZhciBhbmdsZSA9IDA7
CnNldEludGVydmFsKHBhaW50LCAzMyk7Cgo8L3NjcmlwdD4KCjwvYm9keT4KPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>83193</attachid>
            <date>2011-02-21 11:07:39 -0800</date>
            <delta_ts>2011-04-05 07:12:47 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-50775-20110221140737.patch</filename>
            <type>text/plain</type>
            <size>3153</size>
            <attacher name="Stephen White">senorblanco</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDc5MjM2KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTEtMDItMjEgIFN0ZXBoZW4g
V2hpdGUgIDxzZW5vcmJsYW5jb0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSml0dGVyaW5nIHdoZW4gYW5pbWF0aW5nIGEgcm90
YXRlZCBpbWFnZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9NTA3NzUKKworICAgICAgICBTaW5jZSBTa2lhIGRvZXMgbm90IHNlZW0gdG8gc3VmZmVyIGZy
b20gcGl4ZWwgY3JhY2tzIHdoZW4gc2NhbGluZyB0bworICAgICAgICBub24taW50ZWdyYWwgc2l6
ZXMgdGhlIHdheSBDRyBkb2VzLCBuby1vcCByb3VuZFRvRGV2aWNlUGl4ZWxzIG9uIHRoZQorICAg
ICAgICBTa2lhIGltcGxlbWVudGF0aW9uLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cy4KKworICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3NraWEvR3JhcGhpY3NDb250ZXh0U2tpYS5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQ6OnJvdW5kVG9EZXZpY2VQaXhlbHMpOgor
CiAyMDExLTAyLTIxICBQYXZlbCBGZWxkbWFuICA8cGZlbGRtYW5AY2hyb21pdW0ub3JnPgogCiAg
ICAgICAgIFJldmlld2VkIGJ5IFl1cnkgU2VtaWtoYXRza3kuCkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9za2lhL0dyYXBoaWNzQ29udGV4dFNraWEuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3NraWEvR3JhcGhpY3NDb250
ZXh0U2tpYS5jcHAJKHJldmlzaW9uIDc5MjI3KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3Mvc2tpYS9HcmFwaGljc0NvbnRleHRTa2lhLmNwcAkod29ya2luZyBjb3B5KQpAQCAt
ODY5LDQzICs4NjksNyBAQCBBZmZpbmVUcmFuc2Zvcm0gR3JhcGhpY3NDb250ZXh0OjpnZXRDVE0o
CiAKIEZsb2F0UmVjdCBHcmFwaGljc0NvbnRleHQ6OnJvdW5kVG9EZXZpY2VQaXhlbHMoY29uc3Qg
RmxvYXRSZWN0JiByZWN0KQogewotICAgIC8vIFRoaXMgbG9naWMgaXMgY29waWVkIGZyb20gR3Jh
cGhpY3NDb250ZXh0Q0csIGVzZWlkZWwgNS8wNS8wOAotCi0gICAgLy8gSXQgaXMgbm90IGVub3Vn
aCBqdXN0IHRvIHJvdW5kIHRvIHBpeGVscyBpbiBkZXZpY2Ugc3BhY2UuIFRoZSByb3RhdGlvbgot
ICAgIC8vIHBhcnQgb2YgdGhlIGFmZmluZSB0cmFuc2Zvcm0gbWF0cml4IHRvIGRldmljZSBzcGFj
ZSBjYW4gbWVzcyB3aXRoIHRoaXMKLSAgICAvLyBjb252ZXJzaW9uIGlmIHdlIGhhdmUgYSByb3Rh
dGluZyBpbWFnZSBsaWtlIHRoZSBoYW5kcyBvZiB0aGUgd29ybGQgY2xvY2sKLSAgICAvLyB3aWRn
ZXQuIFdlIGp1c3QgbmVlZCB0aGUgc2NhbGUsIHNvIHdlIGdldCB0aGUgYWZmaW5lIHRyYW5zZm9y
bSBtYXRyaXggYW5kCi0gICAgLy8gZXh0cmFjdCB0aGUgc2NhbGUuCi0KLSAgICBjb25zdCBTa01h
dHJpeCYgZGV2aWNlTWF0cml4ID0gcGxhdGZvcm1Db250ZXh0KCktPmNhbnZhcygpLT5nZXRUb3Rh
bE1hdHJpeCgpOwotICAgIGlmIChkZXZpY2VNYXRyaXguaXNJZGVudGl0eSgpKQotICAgICAgICBy
ZXR1cm4gcmVjdDsKLQotICAgIGZsb2F0IGRldmljZVNjYWxlWCA9IHNxcnRmKHNxdWFyZShkZXZp
Y2VNYXRyaXguZ2V0U2NhbGVYKCkpCi0gICAgICAgICsgc3F1YXJlKGRldmljZU1hdHJpeC5nZXRT
a2V3WSgpKSk7Ci0gICAgZmxvYXQgZGV2aWNlU2NhbGVZID0gc3FydGYoc3F1YXJlKGRldmljZU1h
dHJpeC5nZXRTa2V3WCgpKQotICAgICAgICArIHNxdWFyZShkZXZpY2VNYXRyaXguZ2V0U2NhbGVZ
KCkpKTsKLQotICAgIEZsb2F0UG9pbnQgZGV2aWNlT3JpZ2luKHJlY3QueCgpICogZGV2aWNlU2Nh
bGVYLCByZWN0LnkoKSAqIGRldmljZVNjYWxlWSk7Ci0gICAgRmxvYXRQb2ludCBkZXZpY2VMb3dl
clJpZ2h0KChyZWN0LngoKSArIHJlY3Qud2lkdGgoKSkgKiBkZXZpY2VTY2FsZVgsCi0gICAgICAg
IChyZWN0LnkoKSArIHJlY3QuaGVpZ2h0KCkpICogZGV2aWNlU2NhbGVZKTsKLQotICAgIGRldmlj
ZU9yaWdpbi5zZXRYKHJvdW5kZihkZXZpY2VPcmlnaW4ueCgpKSk7Ci0gICAgZGV2aWNlT3JpZ2lu
LnNldFkocm91bmRmKGRldmljZU9yaWdpbi55KCkpKTsKLSAgICBkZXZpY2VMb3dlclJpZ2h0LnNl
dFgocm91bmRmKGRldmljZUxvd2VyUmlnaHQueCgpKSk7Ci0gICAgZGV2aWNlTG93ZXJSaWdodC5z
ZXRZKHJvdW5kZihkZXZpY2VMb3dlclJpZ2h0LnkoKSkpOwotCi0gICAgLy8gRG9uJ3QgbGV0IHRo
ZSBoZWlnaHQgb3Igd2lkdGggcm91bmQgdG8gMCB1bmxlc3MgZWl0aGVyIHdhcyBvcmlnaW5hbGx5
IDAKLSAgICBpZiAoZGV2aWNlT3JpZ2luLnkoKSA9PSBkZXZpY2VMb3dlclJpZ2h0LnkoKSAmJiBy
ZWN0LmhlaWdodCgpKQotICAgICAgICBkZXZpY2VMb3dlclJpZ2h0Lm1vdmUoMCwgMSk7Ci0gICAg
aWYgKGRldmljZU9yaWdpbi54KCkgPT0gZGV2aWNlTG93ZXJSaWdodC54KCkgJiYgcmVjdC53aWR0
aCgpKQotICAgICAgICBkZXZpY2VMb3dlclJpZ2h0Lm1vdmUoMSwgMCk7Ci0KLSAgICBGbG9hdFBv
aW50IHJvdW5kZWRPcmlnaW4oZGV2aWNlT3JpZ2luLngoKSAvIGRldmljZVNjYWxlWCwKLSAgICAg
ICAgZGV2aWNlT3JpZ2luLnkoKSAvIGRldmljZVNjYWxlWSk7Ci0gICAgRmxvYXRQb2ludCByb3Vu
ZGVkTG93ZXJSaWdodChkZXZpY2VMb3dlclJpZ2h0LngoKSAvIGRldmljZVNjYWxlWCwKLSAgICAg
ICAgZGV2aWNlTG93ZXJSaWdodC55KCkgLyBkZXZpY2VTY2FsZVkpOwotICAgIHJldHVybiBGbG9h
dFJlY3Qocm91bmRlZE9yaWdpbiwgcm91bmRlZExvd2VyUmlnaHQgLSByb3VuZGVkT3JpZ2luKTsK
KyAgICByZXR1cm4gcmVjdDsKIH0KIAogdm9pZCBHcmFwaGljc0NvbnRleHQ6OnNjYWxlKGNvbnN0
IEZsb2F0U2l6ZSYgc2l6ZSkK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>88224</attachid>
            <date>2011-04-05 07:12:52 -0700</date>
            <delta_ts>2011-06-18 12:39:20 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-50775-20110405101250.patch</filename>
            <type>text/plain</type>
            <size>1880</size>
            <attacher name="Stephen White">senorblanco</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDgyOTM2KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTEtMDQtMDUgIFN0ZXBoZW4g
V2hpdGUgIDxzZW5vcmJsYW5jb0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgRml4IGZvciBqaXR0
ZXJpbmcgd2hlbiBhbmltYXRpbmcgYSByb3RhdGVkIGltYWdlLgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTA3NzUKKworICAgICAgICBNYWtlIEdyYXBo
aWNzQ29udGV4dDo6cm91bmRUb0RldmljZVBpeGVscyBhIG5vLW9wIG9uIENocm9tZS9NYWMuCisK
KyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jZy9HcmFwaGljc0NvbnRleHRDRy5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQ6OnJvdW5kVG9EZXZpY2VQaXhlbHMpOgor
CiAyMDExLTA0LTA1ICBOaWtvbGFzIFppbW1lcm1hbm4gIDxuemltbWVybWFubkByaW0uY29tPgog
CiAgICAgICAgIFJldmlld2VkIGJ5IEFuZHJlYXMgS2xpbmcuCkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9HcmFwaGljc0NvbnRleHRDRy5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvR3JhcGhpY3NDb250ZXh0Q0cu
Y3BwCShyZXZpc2lvbiA4MjkzNikKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2NnL0dyYXBoaWNzQ29udGV4dENHLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTE2OSw2ICsxMTY5
LDkgQEAgQWZmaW5lVHJhbnNmb3JtIEdyYXBoaWNzQ29udGV4dDo6Z2V0Q1RNKAogCiBGbG9hdFJl
Y3QgR3JhcGhpY3NDb250ZXh0Ojpyb3VuZFRvRGV2aWNlUGl4ZWxzKGNvbnN0IEZsb2F0UmVjdCYg
cmVjdCkKIHsKKyNpZiBQTEFURk9STShDSFJPTUlVTSkKKyAgICByZXR1cm4gcmVjdDsKKyNlbHNl
CiAgICAgLy8gSXQgaXMgbm90IGVub3VnaCBqdXN0IHRvIHJvdW5kIHRvIHBpeGVscyBpbiBkZXZp
Y2Ugc3BhY2UuIFRoZSByb3RhdGlvbiBwYXJ0IG9mIHRoZQogICAgIC8vIGFmZmluZSB0cmFuc2Zv
cm0gbWF0cml4IHRvIGRldmljZSBzcGFjZSBjYW4gbWVzcyB3aXRoIHRoaXMgY29udmVyc2lvbiBp
ZiB3ZSBoYXZlIGEKICAgICAvLyByb3RhdGluZyBpbWFnZSBsaWtlIHRoZSBoYW5kcyBvZiB0aGUg
d29ybGQgY2xvY2sgd2lkZ2V0LiBXZSBqdXN0IG5lZWQgdGhlIHNjYWxlLCBzbwpAQCAtMTIwNCw2
ICsxMjA3LDcgQEAgRmxvYXRSZWN0IEdyYXBoaWNzQ29udGV4dDo6cm91bmRUb0RldmljZQogICAg
IEZsb2F0UG9pbnQgcm91bmRlZE9yaWdpbiA9IEZsb2F0UG9pbnQoZGV2aWNlT3JpZ2luLnggLyBk
ZXZpY2VTY2FsZVgsIGRldmljZU9yaWdpbi55IC8gZGV2aWNlU2NhbGVZKTsKICAgICBGbG9hdFBv
aW50IHJvdW5kZWRMb3dlclJpZ2h0ID0gRmxvYXRQb2ludChkZXZpY2VMb3dlclJpZ2h0LnggLyBk
ZXZpY2VTY2FsZVgsIGRldmljZUxvd2VyUmlnaHQueSAvIGRldmljZVNjYWxlWSk7CiAgICAgcmV0
dXJuIEZsb2F0UmVjdChyb3VuZGVkT3JpZ2luLCByb3VuZGVkTG93ZXJSaWdodCAtIHJvdW5kZWRP
cmlnaW4pOworI2VuZGlmCiB9CiAKIHZvaWQgR3JhcGhpY3NDb250ZXh0OjpkcmF3TGluZUZvclRl
eHQoY29uc3QgRmxvYXRQb2ludCYgcG9pbnQsIGZsb2F0IHdpZHRoLCBib29sIHByaW50aW5nKQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>