<?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>35520</bug_id>
          
          <creation_ts>2010-03-01 03:53:27 -0800</creation_ts>
          <short_desc>[Qt] GraphicsLayer: matrix interpolations in transform-animations don&apos;t behave correctly</short_desc>
          <delta_ts>2010-03-21 19:49:39 -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>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</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>Qt</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Noam Rosenthal">noam</reporter>
          <assigned_to name="Noam Rosenthal">noam</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>kent.hansen</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>194670</commentid>
    <comment_count>0</comment_count>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2010-03-01 03:53:27 -0800</bug_when>
    <thetext>GraphicsLayer.h has an API that helps realizing whether AC should avoid taking control of the animation.
The Mac implementation, for example, avoids &gt; 180 deg. rotations. Right now Qt tries to do those rotations anyway, and it doesn&apos;t look right.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>195420</commentid>
    <comment_count>1</comment_count>
      <attachid>49889</attachid>
    <who name="Kim Grönholm">kim.1.gronholm</who>
    <bug_when>2010-03-03 01:56:41 -0800</bug_when>
    <thetext>Created attachment 49889
Test page for testing transitions and animations with empty source list

The &gt;180deg rotation animations don&apos;t work properly (meaning that they &quot;take the shortest way&quot;) if the rotation is not interpolated as an angle value but as a transformation matrix. This also happens without AC. 

However, there were actually two bugs in determining whether to fall back to matrix interpolation in case of AC:
1. When the source transformation is empty, AC still falls to matrix interpolation even though it should not.
2. If the source and target transformationlists are of same size but mismatch, AC doesn&apos;t fall to matrix interpolation even though it should

Then there also was a bug in the actual interpolation of matrices (target matrix was not taken as is but first combined with source matrix).

I&apos;ll attach test cases for both situations and a patch to fix all the mentioned issues.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>195421</commentid>
    <comment_count>2</comment_count>
      <attachid>49890</attachid>
    <who name="Kim Grönholm">kim.1.gronholm</who>
    <bug_when>2010-03-03 01:58:14 -0800</bug_when>
    <thetext>Created attachment 49890
Test page for testing animations and transitions with same sized but mismatching transform lists</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>195422</commentid>
    <comment_count>3</comment_count>
      <attachid>49891</attachid>
    <who name="Kim Grönholm">kim.1.gronholm</who>
    <bug_when>2010-03-03 02:10:02 -0800</bug_when>
    <thetext>Created attachment 49891
Fixes animations behavior with AC to match non-AC in some special cases

Submitted a patch that solves the issues making the test cases behave similarly with AC than without AC.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>196518</commentid>
    <comment_count>4</comment_count>
    <who name="Tor Arne Vestbø">vestbo</who>
    <bug_when>2010-03-05 09:39:49 -0800</bug_when>
    <thetext>
Please follow the QtWebKit bug reporting guidelines when reporting bugs.

See http://trac.webkit.org/wiki/QtWebKitBugs

Specifically:

  - The &apos;QtWebKit&apos; component should be used for bugs/features in the public QtWebKit API layer, not to signify that the bug is specific to the Qt port of WebKit

    http://trac.webkit.org/wiki/QtWebKitBugs#Component</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>196723</commentid>
    <comment_count>5</comment_count>
      <attachid>49891</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-03-05 15:14:47 -0800</bug_when>
    <thetext>Comment on attachment 49891
Fixes animations behavior with AC to match non-AC in some special cases

Needs a test.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>200414</commentid>
    <comment_count>6</comment_count>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2010-03-16 13:58:34 -0700</bug_when>
    <thetext>This is a good test for &gt;180 degree rotations: http://qt.gitorious.org/qt-labs/scxml/blobs/raw/statechartz/statechartz/demo.html

We should test if the patch fixes this site, and doesn&apos;t regress anything else.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>201202</commentid>
    <comment_count>7</comment_count>
      <attachid>51010</attachid>
    <who name="Kim Grönholm">kim.1.gronholm</who>
    <bug_when>2010-03-18 00:04:59 -0700</bug_when>
    <thetext>Created attachment 51010
Fixes the transform animations by correctly deciding whether to do matrix interpolation or not</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>201210</commentid>
    <comment_count>8</comment_count>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2010-03-18 00:49:24 -0700</bug_when>
    <thetext>Signed of by /me :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>202335</commentid>
    <comment_count>9</comment_count>
      <attachid>51010</attachid>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2010-03-21 15:13:26 -0700</bug_when>
    <thetext>Comment on attachment 51010
Fixes the transform animations by correctly deciding whether to do matrix interpolation or not

You might consider using WebCore/manual-tests or manual-tests/qt for manual tests.

But we _really_ need layout tests for this code.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>202353</commentid>
    <comment_count>10</comment_count>
      <attachid>51010</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-03-21 15:53:02 -0700</bug_when>
    <thetext>Comment on attachment 51010
Fixes the transform animations by correctly deciding whether to do matrix interpolation or not

Clearing flags on attachment: 51010

Committed r56321: &lt;http://trac.webkit.org/changeset/56321&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>202354</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-03-21 15:53:06 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>202381</commentid>
    <comment_count>12</comment_count>
      <attachid>51010</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2010-03-21 17:13:19 -0700</bug_when>
    <thetext>Comment on attachment 51010
Fixes the transform animations by correctly deciding whether to do matrix interpolation or not


&gt; +                else
&gt; +                    for (size_t j = 0; j &lt; sourceOperationCount &amp;&amp; validTransformLists; ++j)
&gt; +                        if (!sourceOperations.operations()[j]-&gt;isSameType(*targetOperations.operations()[j]))
&gt; +                            validTransformLists = false;

Simon the patch you reviewed has wrong coding style.

The else and for has contents that spans multiple real lines in total. Both the else and the for should use braces. The if doesn&apos;t not need braces, thus it is correct.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>202386</commentid>
    <comment_count>13</comment_count>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2010-03-21 19:49:39 -0700</bug_when>
    <thetext>ah, right Kenneth.
Should I submit a style-fix patch for that and a few other style issues?</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>49889</attachid>
            <date>2010-03-03 01:56:41 -0800</date>
            <delta_ts>2010-03-03 01:56:41 -0800</delta_ts>
            <desc>Test page for testing transitions and animations with empty source list</desc>
            <filename>animation-empty-source.html</filename>
            <type>text/html</type>
            <size>1532</size>
            <attacher name="Kim Grönholm">kim.1.gronholm</attacher>
            
              <data encoding="base64">PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgU3RyaWN0Ly9FTiIK
ICAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtc3RyaWN0LmR0ZCI+Cjxo
dG1sIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIiB4bWw6bGFuZz0iZW4iIGxh
bmc9ImVuIj4KCjxoZWFkPgogICAgPHRpdGxlPkFuaW1hdGlvbjwvdGl0bGU+CiAgICA8bWV0YSBo
dHRwLWVxdWl2PSJjb250ZW50LXR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDtjaGFyc2V0PXV0Zi04
IiAvPgogICAgPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KICAgICAgICAjYW5pbWNvbnRhaW5lciBk
aXYgewogICAgICAgICAgICB3aWR0aDogMTAwcHg7CiAgICAgICAgICAgIGhlaWdodDogMTAwcHg7
CiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICAgICAgdG9wOiAxMDBweDsK
ICAgICAgICB9CgogICAgICAgICNlbGVtZW50MSB7CiAgICAgICAgICAgIGxlZnQ6IDEwMHB4Owog
ICAgICAgICAgICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDNzOwogICAgICAgICAgICAt
d2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IC13ZWJraXQtdHJhbnNmb3JtOwogICAgICAgICAg
ICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMGZmOwogICAgICAgICAgICBsZWZ0OiA1MHB4OwogICAg
ICAgIH0KCiAgICAgICAgI2VsZW1lbnQyIHsKICAgICAgICAgICAgbGVmdDogMzAwcHg7CiAgICAg
ICAgICAgIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAzczsKICAgICAgICAgICAgLXdlYmtp
dC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAxOwogICAgICAgICAgICBiYWNrZ3JvdW5kLWNv
bG9yOiAjZmYwMDAwOwogICAgICAgICAgICBsZWZ0OiAyMDBweDsKICAgICAgICB9CgogICAgICAg
IEAtd2Via2l0LWtleWZyYW1lcyAiYW5pbSIgewogICAgICAgICAgICBmcm9tIHsgfQogICAgICAg
ICAgICB0byAgIHsgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB9CiAgICAgICAg
fQoKICAgIDwvc3R5bGU+CiAgICA8c2NyaXB0IGxhbmd1YWdlPSJKYXZhU2NyaXB0Ij4KICAgICAg
ICBmdW5jdGlvbiBydW5UZXN0KCkKICAgICAgICB7CiAgICAgICAgICAgIGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCdlbGVtZW50MScpLnN0eWxlLndlYmtpdFRyYW5zZm9ybT0icm90YXRlKDM2MGRl
ZykiOwogICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZWxlbWVudDInKS5zdHls
ZS53ZWJraXRBbmltYXRpb25OYW1lPSJhbmltIjsKICAgICAgICB9CiAgICAgICAgc2V0VGltZW91
dCgicnVuVGVzdCgpIiwxNTAwKTsKICAgIDwvc2NyaXB0Pgo8L2hlYWQ+Cgo8Ym9keSBzdHlsZT0i
YmFja2dyb3VuZDogd2hpdGU7Ij4KICAgIDxkaXYgaWQ9ImFuaW1jb250YWluZXIiPgogICAgICAg
IDxkaXYgaWQ9ImVsZW1lbnQxIj5UcmFuc2l0aW9uPC9kaXY+CiAgICAgICAgPGRpdiBpZD0iZWxl
bWVudDIiPkFuaW1hdGlvbjwvZGl2PgogICAgPC9kaXY+CjwvYm9keT4KPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>49890</attachid>
            <date>2010-03-03 01:58:14 -0800</date>
            <delta_ts>2010-03-03 01:58:14 -0800</delta_ts>
            <desc>Test page for testing animations and transitions with same sized but mismatching transform lists</desc>
            <filename>animation-mismatching-transformlists.html</filename>
            <type>text/html</type>
            <size>1662</size>
            <attacher name="Kim Grönholm">kim.1.gronholm</attacher>
            
              <data encoding="base64">PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgU3RyaWN0Ly9FTiIK
ICAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtc3RyaWN0LmR0ZCI+Cjxo
dG1sIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIiB4bWw6bGFuZz0iZW4iIGxh
bmc9ImVuIj4KCjxoZWFkPgogICAgPHRpdGxlPkFuaW1hdGlvbjwvdGl0bGU+CiAgICA8bWV0YSBo
dHRwLWVxdWl2PSJjb250ZW50LXR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDtjaGFyc2V0PXV0Zi04
IiAvPgogICAgPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KICAgICAgICAjYW5pbWNvbnRhaW5lciBk
aXYgewogICAgICAgICAgICB3aWR0aDogMTAwcHg7CiAgICAgICAgICAgIGhlaWdodDogMTAwcHg7
CiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICAgICAgdG9wOiAxMDBweDsK
ICAgICAgICB9CgogICAgICAgICNlbGVtZW50MSB7CiAgICAgICAgICAgIGxlZnQ6IDEwMHB4Owog
ICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDEwZGVnKTsKICAgICAgICAgICAg
LXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAzczsKICAgICAgICAgICAgLXdlYmtpdC10cmFu
c2l0aW9uLXByb3BlcnR5OiAtd2Via2l0LXRyYW5zZm9ybTsKICAgICAgICAgICAgYmFja2dyb3Vu
ZC1jb2xvcjogIzAwMDBmZjsKICAgICAgICAgICAgbGVmdDogNTBweDsKICAgICAgICB9CgogICAg
ICAgICNlbGVtZW50MiB7CiAgICAgICAgICAgIGxlZnQ6IDMwMHB4OwogICAgICAgICAgICAtd2Vi
a2l0LXRyYW5zZm9ybTogcm90YXRlKDEwZGVnKTsKICAgICAgICAgICAgLXdlYmtpdC1hbmltYXRp
b24tZHVyYXRpb246IDNzOwogICAgICAgICAgICAtd2Via2l0LWFuaW1hdGlvbi1pdGVyYXRpb24t
Y291bnQ6IDE7CiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjAwMDA7CiAgICAgICAg
ICAgIGxlZnQ6IDIwMHB4OwogICAgICAgIH0KCiAgICAgICAgQC13ZWJraXQta2V5ZnJhbWVzICJh
bmltIiB7CiAgICAgICAgICAgIGZyb20geyAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDEwZGVn
KTsgfQogICAgICAgICAgICB0byAgIHsgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgxMDBw
eCk7IH0KICAgICAgICB9CgogICAgPC9zdHlsZT4KICAgIDxzY3JpcHQgbGFuZ3VhZ2U9IkphdmFT
Y3JpcHQiPgogICAgICAgIGZ1bmN0aW9uIHJ1blRlc3QoKQogICAgICAgIHsKICAgICAgICAgICAg
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2VsZW1lbnQxJykuc3R5bGUud2Via2l0VHJhbnNmb3Jt
PSJ0cmFuc2xhdGUoMTAwcHgpIjsKICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
J2VsZW1lbnQyJykuc3R5bGUud2Via2l0QW5pbWF0aW9uTmFtZT0iYW5pbSI7CiAgICAgICAgfQog
ICAgICAgIHNldFRpbWVvdXQoInJ1blRlc3QoKSIsMTUwMCk7CiAgICA8L3NjcmlwdD4KPC9oZWFk
PgoKPGJvZHkgc3R5bGU9ImJhY2tncm91bmQ6IHdoaXRlOyI+CiAgICA8ZGl2IGlkPSJhbmltY29u
dGFpbmVyIj4KICAgICAgICA8ZGl2IGlkPSJlbGVtZW50MSI+VHJhbnNpdGlvbjwvZGl2PgogICAg
ICAgIDxkaXYgaWQ9ImVsZW1lbnQyIj5BbmltYXRpb248L2Rpdj4KICAgIDwvZGl2Pgo8L2JvZHk+
CjwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>49891</attachid>
            <date>2010-03-03 02:10:02 -0800</date>
            <delta_ts>2010-03-18 00:04:59 -0700</delta_ts>
            <desc>Fixes animations behavior with AC to match non-AC in some special cases</desc>
            <filename>patch-35520</filename>
            <type>text/plain</type>
            <size>2611</size>
            <attacher name="Kim Grönholm">kim.1.gronholm</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
ZDc0YjRmNC4uYjBmZDlmOSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxMC0wMy0wMyAgS2ltIEdyw7ZuaG9s
bSAgPGtpbS5ncm9uaG9sbUBub21vdm9rLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBbUXRdIEdyYXBoaWNzTGF5ZXI6IHdyb25nIGhhbmRsaW5n
IG9mID4xODAgcm90YXRpb25zCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0zNTUyMAorCisgICAgICAgIE5vIG5ldyB0ZXN0cy4KKworICAgICAgICAqIHBs
YXRmb3JtL2dyYXBoaWNzL3F0L0dyYXBoaWNzTGF5ZXJRdC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpUcmFuc2Zvcm1BbmltYXRpb25RdDo6YXBwbHlGcmFtZSk6CisKIDIwMTAtMDEtMjggIEhvbGdl
ciBIYW5zIFBldGVyIEZyZXl0aGVyICA8emVja2VAc2VsZmlzaC5vcmc+CiAKICAgICAgICAgUmV2
aWV3ZWQgYnkgQXJpeWEgSGlkYXlhdC4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvcXQvR3JhcGhpY3NMYXllclF0LmNwcCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
cXQvR3JhcGhpY3NMYXllclF0LmNwcAppbmRleCA5NzQ1YmQwLi4wZmViMDE3IDEwMDY0NAotLS0g
YS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L0dyYXBoaWNzTGF5ZXJRdC5jcHAKKysrIGIv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9HcmFwaGljc0xheWVyUXQuY3BwCkBAIC0xMDg4
LDEzICsxMDg4LDI3IEBAIHB1YmxpYzoKICAgICAgICAgICAgIHNvdXJjZU9wZXJhdGlvbnMuYXBw
bHkobV9ib3hTaXplLCBzb3VyY2VNYXRyaXgpOwogICAgICAgICAgICAgdHJhbnNmb3JtTWF0cml4
ID0gbV9zb3VyY2VNYXRyaXg7CiAgICAgICAgICAgICB0cmFuc2Zvcm1NYXRyaXguYmxlbmQoc291
cmNlTWF0cml4LCAxIC0gcHJvZ3Jlc3MpOwotICAgICAgICB9IGVsc2UgaWYgKHRhcmdldE9wZXJh
dGlvbnMuc2l6ZSgpICE9IHNvdXJjZU9wZXJhdGlvbnMuc2l6ZSgpKSB7Ci0gICAgICAgICAgICB0
cmFuc2Zvcm1NYXRyaXggPSBtX3NvdXJjZU1hdHJpeDsKLSAgICAgICAgICAgIHRhcmdldE9wZXJh
dGlvbnMuYXBwbHkobV9ib3hTaXplLCB0cmFuc2Zvcm1NYXRyaXgpOwotICAgICAgICAgICAgdHJh
bnNmb3JtTWF0cml4LmJsZW5kKG1fc291cmNlTWF0cml4LCBwcm9ncmVzcyk7CiAgICAgICAgIH0g
ZWxzZSB7Ci0gICAgICAgICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IHRhcmdldE9wZXJhdGlv
bnMuc2l6ZSgpOyArK2kpCi0gICAgICAgICAgICAgICAgdGFyZ2V0T3BlcmF0aW9ucy5vcGVyYXRp
b25zKClbaV0tPmJsZW5kKHNvdXJjZU9wZXJhdGlvbnMuYXQoaSksIHByb2dyZXNzKS0+YXBwbHko
dHJhbnNmb3JtTWF0cml4LCBtX2JveFNpemUpOworICAgICAgICAgICAgYm9vbCB2YWxpZFRyYW5z
Zm9ybUxpc3RzID0gdHJ1ZTsKKyAgICAgICAgICAgIGlmIChzb3VyY2VPcGVyYXRpb25zLnNpemUo
KSkgeworICAgICAgICAgICAgICAgIGlmICh0YXJnZXRPcGVyYXRpb25zLnNpemUoKSAhPQorICAg
ICAgICAgICAgICAgICAgICBzb3VyY2VPcGVyYXRpb25zLnNpemUoKSkgdmFsaWRUcmFuc2Zvcm1M
aXN0cyA9IGZhbHNlOworICAgICAgICAgICAgICAgICAgICBlbHNlIHsKKyAgICAgICAgICAgICAg
ICAgICAgICAgIGZvciAoc2l6ZV90IGogPSAwOyBqIDwgc291cmNlT3BlcmF0aW9ucy5zaXplKCk7
ICsraikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXNvdXJjZU9wZXJhdGlvbnMu
b3BlcmF0aW9ucygpW2pdLT5pc1NhbWVUeXBlKCp0YXJnZXRPcGVyYXRpb25zLm9wZXJhdGlvbnMo
KVtqXSkpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsaWRUcmFuc2Zvcm1M
aXN0cyA9IGZhbHNlOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgIH0KKworICAgICAgICAgICAgaWYgKHZhbGlkVHJhbnNmb3JtTGlzdHMpIHsKKyAgICAg
ICAgICAgICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IHRhcmdldE9wZXJhdGlvbnMuc2l6ZSgp
OyArK2kpCisgICAgICAgICAgICAgICAgICAgIHRhcmdldE9wZXJhdGlvbnMub3BlcmF0aW9ucygp
W2ldLT5ibGVuZChzb3VyY2VPcGVyYXRpb25zLmF0KGkpLCBwcm9ncmVzcyktPmFwcGx5KHRyYW5z
Zm9ybU1hdHJpeCwgbV9ib3hTaXplKTsKKyAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAg
ICAgICAgdGFyZ2V0T3BlcmF0aW9ucy5hcHBseShtX2JveFNpemUsIHRyYW5zZm9ybU1hdHJpeCk7
CisgICAgICAgICAgICAgICAgdHJhbnNmb3JtTWF0cml4LmJsZW5kKG1fc291cmNlTWF0cml4LCBw
cm9ncmVzcyk7CisgICAgICAgICAgICB9CiAgICAgICAgIH0KICAgICAgICAgbV9sYXllci5kYXRh
KCktPnNldEJhc2VUcmFuc2Zvcm0odHJhbnNmb3JtTWF0cml4KTsKICAgICB9Cg==
</data>
<flag name="review"
          id="32877"
          type_id="1"
          status="-"
          setter="eric"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>51010</attachid>
            <date>2010-03-18 00:04:59 -0700</date>
            <delta_ts>2010-03-21 17:13:19 -0700</delta_ts>
            <desc>Fixes the transform animations by correctly deciding whether to do matrix interpolation or not</desc>
            <filename>patch-35520-2.diff</filename>
            <type>text/plain</type>
            <size>3106</size>
            <attacher name="Kim Grönholm">kim.1.gronholm</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
YzFlY2I0Zi4uYTA2NGJiYyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMyBAQAorMjAxMC0wMy0xNyAgS2ltIEdyw7ZuaG9s
bSAgPGtpbS5ncm9uaG9sbUBub21vdm9rLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBbUXRdIEdyYXBoaWNzTGF5ZXI6IG1hdHJpeCBpbnRlcnBv
bGF0aW9ucyBpbiB0cmFuc2Zvcm0tYW5pbWF0aW9ucyBkb24ndCBiZWhhdmUgY29ycmVjdGx5Cisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zNTUyMAorICAg
ICAgICAKKyAgICAgICAgVGhlIGNhc2Ugd2hlcmUgdGhlIGxpc3Qgb2Ygc291cmNlIGFuZCB0YXJn
ZXQgdHJhbnNmb3JtIG9wZXJhdGlvbnMgYXJlIAorICAgICAgICBub3QgdGhlIHNhbWUgYnV0IGhh
dmUgdGhlIHNhbWUgc2l6ZSBuZWVkcyB0byBiZSBzcGVjaWFsLWNhc2VkIGluCisgICAgICAgIEdy
YXBoaWNzTGF5ZXJRdCwgYXMgd2VsbCBhcyB0aGUgY2FzZSB3aGVyZSB0aGUgc291cmNlIG9yIHRh
cmdldAorICAgICAgICBvcGVyYXRpb24gbGlzdCBpcyBlbXB0eS4gVGhlIFVSTHMgbGlzdGVkIGhl
cmUgcmVuZGVyIGNvcnJlY3RseSBhZnRlcgorICAgICAgICBhcHBseWluZyB0aGUgcGF0Y2guCisK
KyAgICAgICAgVGVzdHM6IGh0dHBzOi8vYnVnLTM1NTIwLWF0dGFjaG1lbnRzLndlYmtpdC5vcmcv
YXR0YWNobWVudC5jZ2k/aWQ9NDk4OTAKKyAgICAgICAgICAgICAgIGh0dHBzOi8vYnVnLTM1NTIw
LWF0dGFjaG1lbnRzLndlYmtpdC5vcmcvYXR0YWNobWVudC5jZ2k/aWQ9NDk4ODkKKyAgICAgICAg
ICAgIAorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvcXQvR3JhcGhpY3NMYXllclF0LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlRyYW5zZm9ybUFuaW1hdGlvblF0OjphcHBseUZyYW1lKToK
KwogMjAxMC0wMy0xNyAgU3RldmUgQmxvY2sgIDxzdGV2ZWJsb2NrQGdvb2dsZS5jb20+CiAKICAg
ICAgICAgUmV2aWV3ZWQgYnkgRGltaXRyaSBHbGF6a292LgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9xdC9HcmFwaGljc0xheWVyUXQuY3BwIGIvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9xdC9HcmFwaGljc0xheWVyUXQuY3BwCmluZGV4IDk1N2I0OWMuLjNmZjA5OTEg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvR3JhcGhpY3NMYXllclF0
LmNwcAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L0dyYXBoaWNzTGF5ZXJRdC5j
cHAKQEAgLTEwOTIsMTMgKzEwOTIsMjUgQEAgcHVibGljOgogICAgICAgICAgICAgc291cmNlT3Bl
cmF0aW9ucy5hcHBseShtX2JveFNpemUsIHNvdXJjZU1hdHJpeCk7CiAgICAgICAgICAgICB0cmFu
c2Zvcm1NYXRyaXggPSBtX3NvdXJjZU1hdHJpeDsKICAgICAgICAgICAgIHRyYW5zZm9ybU1hdHJp
eC5ibGVuZChzb3VyY2VNYXRyaXgsIDEgLSBwcm9ncmVzcyk7Ci0gICAgICAgIH0gZWxzZSBpZiAo
dGFyZ2V0T3BlcmF0aW9ucy5zaXplKCkgIT0gc291cmNlT3BlcmF0aW9ucy5zaXplKCkpIHsKLSAg
ICAgICAgICAgIHRyYW5zZm9ybU1hdHJpeCA9IG1fc291cmNlTWF0cml4OwotICAgICAgICAgICAg
dGFyZ2V0T3BlcmF0aW9ucy5hcHBseShtX2JveFNpemUsIHRyYW5zZm9ybU1hdHJpeCk7Ci0gICAg
ICAgICAgICB0cmFuc2Zvcm1NYXRyaXguYmxlbmQobV9zb3VyY2VNYXRyaXgsIHByb2dyZXNzKTsK
ICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgdGFy
Z2V0T3BlcmF0aW9ucy5zaXplKCk7ICsraSkKLSAgICAgICAgICAgICAgICB0YXJnZXRPcGVyYXRp
b25zLm9wZXJhdGlvbnMoKVtpXS0+YmxlbmQoc291cmNlT3BlcmF0aW9ucy5hdChpKSwgcHJvZ3Jl
c3MpLT5hcHBseSh0cmFuc2Zvcm1NYXRyaXgsIG1fYm94U2l6ZSk7CisgICAgICAgICAgICBib29s
IHZhbGlkVHJhbnNmb3JtTGlzdHMgPSB0cnVlOworICAgICAgICAgICAgY29uc3QgaW50IHNvdXJj
ZU9wZXJhdGlvbkNvdW50ID0gc291cmNlT3BlcmF0aW9ucy5zaXplKCk7CisgICAgICAgICAgICBp
ZiAoc291cmNlT3BlcmF0aW9uQ291bnQpIHsKKyAgICAgICAgICAgICAgICBpZiAodGFyZ2V0T3Bl
cmF0aW9ucy5zaXplKCkgIT0gc291cmNlT3BlcmF0aW9uQ291bnQpCisgICAgICAgICAgICAgICAg
ICAgIHZhbGlkVHJhbnNmb3JtTGlzdHMgPSBmYWxzZTsKKyAgICAgICAgICAgICAgICBlbHNlCisg
ICAgICAgICAgICAgICAgICAgIGZvciAoc2l6ZV90IGogPSAwOyBqIDwgc291cmNlT3BlcmF0aW9u
Q291bnQgJiYgdmFsaWRUcmFuc2Zvcm1MaXN0czsgKytqKQorICAgICAgICAgICAgICAgICAgICAg
ICAgaWYgKCFzb3VyY2VPcGVyYXRpb25zLm9wZXJhdGlvbnMoKVtqXS0+aXNTYW1lVHlwZSgqdGFy
Z2V0T3BlcmF0aW9ucy5vcGVyYXRpb25zKClbal0pKQorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHZhbGlkVHJhbnNmb3JtTGlzdHMgPSBmYWxzZTsKKyAgICAgICAgICAgIH0KKworICAgICAg
ICAgICAgaWYgKHZhbGlkVHJhbnNmb3JtTGlzdHMpIHsKKyAgICAgICAgICAgICAgICBmb3IgKHNp
emVfdCBpID0gMDsgaSA8IHRhcmdldE9wZXJhdGlvbnMuc2l6ZSgpOyArK2kpCisgICAgICAgICAg
ICAgICAgICAgIHRhcmdldE9wZXJhdGlvbnMub3BlcmF0aW9ucygpW2ldLT5ibGVuZChzb3VyY2VP
cGVyYXRpb25zLmF0KGkpLCBwcm9ncmVzcyktPmFwcGx5KHRyYW5zZm9ybU1hdHJpeCwgbV9ib3hT
aXplKTsKKyAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgdGFyZ2V0T3BlcmF0
aW9ucy5hcHBseShtX2JveFNpemUsIHRyYW5zZm9ybU1hdHJpeCk7CisgICAgICAgICAgICAgICAg
dHJhbnNmb3JtTWF0cml4LmJsZW5kKG1fc291cmNlTWF0cml4LCBwcm9ncmVzcyk7CisgICAgICAg
ICAgICB9CiAgICAgICAgIH0KICAgICAgICAgbV9sYXllci5kYXRhKCktPnNldEJhc2VUcmFuc2Zv
cm0odHJhbnNmb3JtTWF0cml4KTsKICAgICB9Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>