<?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>15382</bug_id>
          
          <creation_ts>2007-10-05 14:42:12 -0700</creation_ts>
          <short_desc>[CAIRO] Canvas pattern support</short_desc>
          <delta_ts>2007-12-24 22:20:45 -0800</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>523.x (Safari 3)</version>
          <rep_platform>All</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>Cairo</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alp Toker">alp</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>57876</commentid>
    <comment_count>0</comment_count>
    <who name="Alp Toker">alp</who>
    <bug_when>2007-10-05 14:42:12 -0700</bug_when>
    <thetext>The Cairo Canvas implementation currently lacks support for patterns. This should be added to CanvasPattern.cpp.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>65127</commentid>
    <comment_count>1</comment_count>
      <attachid>18073</attachid>
    <who name="Alp Toker">alp</who>
    <bug_when>2007-12-23 13:11:41 -0800</bug_when>
    <thetext>Created attachment 18073
Add canvas pattern support</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>65150</commentid>
    <comment_count>2</comment_count>
      <attachid>18073</attachid>
    <who name="Holger Freyther">zecke</who>
    <bug_when>2007-12-23 16:48:29 -0800</bug_when>
    <thetext>Comment on attachment 18073
Add canvas pattern support

-Try to remove the whitespace change to the RGBA32 lines before landing

-Check for !m_cachedImage-&gt;image in CanvasPatern::createPattern

-Free the surface in void CanvasRenderingContext2D::drawImage

-The Image/BitmapImage changes somehow remind me of nativeImageForCurrentFrame()</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>65161</commentid>
    <comment_count>3</comment_count>
    <who name="Alp Toker">alp</who>
    <bug_when>2007-12-23 19:05:31 -0800</bug_when>
    <thetext>Landed in r28971, complete with the suggested nativeImageForCurrentFrame() change (decided not to copy the other ports but go with this cleaner abstraction).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>65219</commentid>
    <comment_count>4</comment_count>
    <who name="Alp Toker">alp</who>
    <bug_when>2007-12-24 22:20:45 -0800</bug_when>
    <thetext>*** Bug 16519 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>18073</attachid>
            <date>2007-12-23 13:11:41 -0800</date>
            <delta_ts>2007-12-23 16:48:29 -0800</delta_ts>
            <desc>Add canvas pattern support</desc>
            <filename>canvas-pattern.patch</filename>
            <type>text/plain</type>
            <size>10936</size>
            <attacher name="Alp Toker">alp</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiAyODk2NykKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsNDAgQEAKKzIwMDctMTItMjMgIEFscCBUb2tlciAgPGFscEBhdG9rZXIuY29tPgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIGh0dHA6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1MzgyCisgICAgICAgIFtDQUlST10gQ2Fu
dmFzIHBhdHRlcm4gc3VwcG9ydAorCisgICAgICAgIGh0dHA6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTE2NTc3CisgICAgICAgIE1lcmdlIENhaXJvIGVuaGFuY2VtZW50cyBmcm9t
IEFwb2xsbyBwcm9qZWN0CisKKyAgICAgICAgTWVyZ2UgQ2Fpcm8gY2FudmFzIGZpeGVzIGFuZCBl
bmhhbmNlbWVudHMuCisKKyAgICAgICAgQWRkIHN1cHBvcnQgZm9yIGNhbnZhcyBwYXR0ZXJucy4K
KworICAgICAgICBUaGUgZ2xvYmFsQWxwaGEgY2FudmFzIGZpeGVzIGFyZSBub3QgaW5jbHVkZWQg
aW4gdGhpcyBwYXRjaCBhcworICAgICAgICB0aGV5J3JlIHNsaWdodGx5IG1vcmUgaW50cnVzaXZl
IGFuZCBtYXkgY29uZmxpY3QgY29uY2VwdHVhbGx5IHdpdGgKKyAgICAgICAgR3JhcGhpY3NDb250
ZXh0OjpzZXRBbHBoYSgpLgorCisgICAgICAgICogaHRtbC9DYW52YXNQYXR0ZXJuLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkNhbnZhc1BhdHRlcm46OkNhbnZhc1BhdHRlcm4pOgorICAgICAgICAo
V2ViQ29yZTo6Q2FudmFzUGF0dGVybjo6fkNhbnZhc1BhdHRlcm4pOgorICAgICAgICAoV2ViQ29y
ZTo6Q2FudmFzUGF0dGVybjo6Y3JlYXRlUGF0dGVybik6CisgICAgICAgICogaHRtbC9DYW52YXNQ
YXR0ZXJuLmg6CisgICAgICAgIChXZWJDb3JlOjpDYW52YXNQYXR0ZXJuOjpwbGF0Zm9ybUltYWdl
KToKKyAgICAgICAgKiBodG1sL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQ6OnNldFNoYWRvdyk6CisgICAgICAg
IChXZWJDb3JlOjpDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQ6OmFwcGx5U2hhZG93KToKKyAgICAg
ICAgKFdlYkNvcmU6OkNhbnZhc1JlbmRlcmluZ0NvbnRleHQyRDo6ZHJhd0ltYWdlKToKKyAgICAg
ICAgKFdlYkNvcmU6OkNhbnZhc1JlbmRlcmluZ0NvbnRleHQyRDo6Y3JlYXRlUGF0dGVybik6Cisg
ICAgICAgIChXZWJDb3JlOjpDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQ6OmFwcGx5U3Ryb2tlUGF0
dGVybik6CisgICAgICAgIChXZWJDb3JlOjpDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQ6OmFwcGx5
RmlsbFBhdHRlcm4pOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0JpdG1hcEltYWdlLmg6
CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2UuaDoKKyAgICAgICAgKFdlYkNvcmU6
OkltYWdlOjpnZXRDYWlyb1N1cmZhY2UpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nh
aXJvL0ltYWdlQ2Fpcm8uY3BwOgorICAgICAgICAoV2ViQ29yZTo6Qml0bWFwSW1hZ2U6OmdldENh
aXJvU3VyZmFjZSk6CisKIDIwMDctMTItMjMgIE5pa29sYXMgWmltbWVybWFubiAgPHppbW1lcm1h
bm5Aa2RlLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBNYXJrLgpJbmRleDogV2ViQ29yZS9o
dG1sL0NhbnZhc1BhdHRlcm4uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvaHRtbC9DYW52YXNQ
YXR0ZXJuLmNwcAkocmV2aXNpb24gMjg5NjYpCisrKyBXZWJDb3JlL2h0bWwvQ2FudmFzUGF0dGVy
bi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTczLDExICs3MywyMSBAQCBDYW52YXNQYXR0ZXJuOjpD
YW52YXNQYXR0ZXJuKENHSW1hZ2VSZWYgCiB7CiB9CiAKKyNlbGlmIFBMQVRGT1JNKENBSVJPKQor
CitDYW52YXNQYXR0ZXJuOjpDYW52YXNQYXR0ZXJuKGNhaXJvX3N1cmZhY2VfdCogc3VyZmFjZSwg
Ym9vbCByZXBlYXRYLCBib29sIHJlcGVhdFkpCisgICAgOiBtX3BsYXRmb3JtSW1hZ2Uoc3VyZmFj
ZSkKKyAgICAsIG1fY2FjaGVkSW1hZ2UoMCkKKyAgICAsIG1fcmVwZWF0WChyZXBlYXRYKQorICAg
ICwgbV9yZXBlYXRZKHJlcGVhdFkpCit7Cit9CisKICNlbmRpZgogCiBDYW52YXNQYXR0ZXJuOjpD
YW52YXNQYXR0ZXJuKENhY2hlZEltYWdlKiBjYWNoZWRJbWFnZSwgYm9vbCByZXBlYXRYLCBib29s
IHJlcGVhdFkpCiAgICAgOgotI2lmIFBMQVRGT1JNKENHKQorI2lmIFBMQVRGT1JNKENHKSB8fCBQ
TEFURk9STShDQUlSTykKICAgICAgIG1fcGxhdGZvcm1JbWFnZSgwKQogICAgICwKICNlbmRpZgpA
QCAtOTEsNiArMTAxLDkgQEAgQ2FudmFzUGF0dGVybjo6Q2FudmFzUGF0dGVybihDYWNoZWRJbWFn
ZQogCiBDYW52YXNQYXR0ZXJuOjp+Q2FudmFzUGF0dGVybigpCiB7CisjaWYgUExBVEZPUk0oQ0FJ
Uk8pCisgICAgY2Fpcm9fc3VyZmFjZV9kZXN0cm95KG1fcGxhdGZvcm1JbWFnZSk7CisjZW5kaWYK
ICAgICBpZiAobV9jYWNoZWRJbWFnZSkKICAgICAgICAgbV9jYWNoZWRJbWFnZS0+ZGVyZWYodGhp
cyk7CiB9CkBAIC0xNjgsNiArMTgxLDMwIEBAIENHUGF0dGVyblJlZiBDYW52YXNQYXR0ZXJuOjpj
cmVhdGVQYXR0ZXIKICAgICAgICAga0NHUGF0dGVyblRpbGluZ0NvbnN0YW50U3BhY2luZywgVFJV
RSwgJnBhdHRlcm5DYWxsYmFja3MpOwogfQogCisjZWxpZiBQTEFURk9STShDQUlSTykKKworY2Fp
cm9fcGF0dGVybl90KiBDYW52YXNQYXR0ZXJuOjpjcmVhdGVQYXR0ZXJuKGNvbnN0IGNhaXJvX21h
dHJpeF90JiBtKQoreworICAgIGNhaXJvX3N1cmZhY2VfdCogc3VyZmFjZSA9IDA7CisgICAgaWYg
KG1fcGxhdGZvcm1JbWFnZSkgeworICAgICAgICBzdXJmYWNlID0gbV9wbGF0Zm9ybUltYWdlOwor
ICAgIH0gZWxzZSB7CisgICAgICAgIGlmICghbV9jYWNoZWRJbWFnZSkKKyAgICAgICAgICAgIHJl
dHVybiAwOworICAgICAgICBJbWFnZSogaW1hZ2UgPSBtX2NhY2hlZEltYWdlLT5pbWFnZSgpOwor
ICAgICAgICBzdXJmYWNlID0gaW1hZ2UtPmdldENhaXJvU3VyZmFjZSgpOworICAgIH0KKworICAg
IGlmICghc3VyZmFjZSkKKyAgICAgICAgcmV0dXJuIDA7CisKKyAgICBjYWlyb19wYXR0ZXJuX3Qq
IHBhdHRlcm4gPSBjYWlyb19wYXR0ZXJuX2NyZWF0ZV9mb3Jfc3VyZmFjZShzdXJmYWNlKTsKKyAg
ICBjYWlyb19wYXR0ZXJuX3NldF9tYXRyaXgocGF0dGVybiwgJm0pOworICAgIGlmIChtX3JlcGVh
dFggfHwgbV9yZXBlYXRZKQorICAgICAgICBjYWlyb19wYXR0ZXJuX3NldF9leHRlbmQocGF0dGVy
biwgQ0FJUk9fRVhURU5EX1JFUEVBVCk7CisgICAgcmV0dXJuIHBhdHRlcm47Cit9CisKICNlbmRp
ZgogCiB9CkluZGV4OiBXZWJDb3JlL2h0bWwvQ2FudmFzUGF0dGVybi5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFdlYkNvcmUvaHRtbC9DYW52YXNQYXR0ZXJuLmgJKHJldmlzaW9uIDI4OTY2KQorKysgV2ViQ29y
ZS9odG1sL0NhbnZhc1BhdHRlcm4uaAkod29ya2luZyBjb3B5KQpAQCAtMzIsNiArMzIsOCBAQAog
I2lmIFBMQVRGT1JNKENHKQogI2luY2x1ZGUgPHd0Zi9SZXRhaW5QdHIuaD4KICNpbmNsdWRlIDxB
cHBsaWNhdGlvblNlcnZpY2VzL0FwcGxpY2F0aW9uU2VydmljZXMuaD4KKyNlbGlmIFBMQVRGT1JN
KENBSVJPKQorI2luY2x1ZGUgPGNhaXJvLmg+CiAjZW5kaWYKIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewpAQCAtNDcsMjIgKzQ5LDMwIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogI2lmIFBMQVRGT1JN
KENHKQogICAgICAgICBDYW52YXNQYXR0ZXJuKENHSW1hZ2VSZWYsIGJvb2wgcmVwZWF0WCwgYm9v
bCByZXBlYXRZKTsKKyNlbGlmIFBMQVRGT1JNKENBSVJPKQorICAgICAgICBDYW52YXNQYXR0ZXJu
KGNhaXJvX3N1cmZhY2VfdCosIGJvb2wgcmVwZWF0WCwgYm9vbCByZXBlYXRZKTsKICNlbmRpZgog
ICAgICAgICBDYW52YXNQYXR0ZXJuKENhY2hlZEltYWdlKiwgYm9vbCByZXBlYXRYLCBib29sIHJl
cGVhdFkpOwogICAgICAgICB+Q2FudmFzUGF0dGVybigpOwogCiAjaWYgUExBVEZPUk0oQ0cpCiAg
ICAgICAgIENHSW1hZ2VSZWYgcGxhdGZvcm1JbWFnZSgpIGNvbnN0IHsgcmV0dXJuIG1fcGxhdGZv
cm1JbWFnZS5nZXQoKTsgfQorI2VsaWYgUExBVEZPUk0oQ0FJUk8pCisgICAgICAgIGNhaXJvX3N1
cmZhY2VfdCogcGxhdGZvcm1JbWFnZSgpIGNvbnN0IHsgcmV0dXJuIG1fcGxhdGZvcm1JbWFnZTsg
fQogI2VuZGlmCiAgICAgICAgIENhY2hlZEltYWdlKiBjYWNoZWRJbWFnZSgpIGNvbnN0IHsgcmV0
dXJuIG1fY2FjaGVkSW1hZ2U7IH0KIAogI2lmIFBMQVRGT1JNKENHKQogICAgICAgICBDR1BhdHRl
cm5SZWYgY3JlYXRlUGF0dGVybihjb25zdCBDR0FmZmluZVRyYW5zZm9ybSYpOworI2VsaWYgUExB
VEZPUk0oQ0FJUk8pCisgICAgICAgIGNhaXJvX3BhdHRlcm5fdCogY3JlYXRlUGF0dGVybihjb25z
dCBjYWlyb19tYXRyaXhfdCYpOwogI2VuZGlmCiAKICAgICBwcml2YXRlOgogI2lmIFBMQVRGT1JN
KENHKQogICAgICAgICBjb25zdCBSZXRhaW5QdHI8Q0dJbWFnZVJlZj4gbV9wbGF0Zm9ybUltYWdl
OworI2VsaWYgUExBVEZPUk0oQ0FJUk8pCisgICAgICAgIGNhaXJvX3N1cmZhY2VfdCogY29uc3Qg
bV9wbGF0Zm9ybUltYWdlOwogI2VuZGlmCiAgICAgICAgIENhY2hlZEltYWdlKiBjb25zdCBtX2Nh
Y2hlZEltYWdlOwogICAgICAgICBjb25zdCBib29sIG1fcmVwZWF0WDsKSW5kZXg6IFdlYkNvcmUv
aHRtbC9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUv
aHRtbC9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuY3BwCShyZXZpc2lvbiAyODk2NikKKysrIFdl
YkNvcmUvaHRtbC9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC03MjUsNyArNzI1LDcgQEAgdm9pZCBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQ6OnNldFNoYWRv
dwogICAgICAgICByZXR1cm47CiAgICAgLy8gRklYTUU6IERvIHRoaXMgdGhyb3VnaCBwbGF0Zm9y
bS1pbmRlcGVuZGVudCBHcmFwaGljc0NvbnRleHQgQVBJLgogI2lmIFBMQVRGT1JNKENHKQotICAg
IFJHQkEzMiByZ2JhID0gMDsgLy8gZGVmYXVsdCBpcyB0cmFuc3BhcmFudCBibGFjaworICAgIFJH
QkEzMiByZ2JhID0gMDsgLy8gZGVmYXVsdCBpcyB0cmFuc3BhcmVudCBibGFjawogICAgIENTU1Bh
cnNlcjo6cGFyc2VDb2xvcihyZ2JhLCBjb2xvcik7CiAgICAgY29uc3QgQ0dGbG9hdCBjb21wb25l
bnRzWzRdID0gewogICAgICAgICAoKHJnYmEgPj4gMTYpICYgMHhGRikgLyAyNTUuMGYsCkBAIC04
MTYsNyArODE2LDcgQEAgdm9pZCBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQ6OmFwcGx5U2hhZAog
ICAgICAgICByZXR1cm47CiAgICAgLy8gRklYTUU6IERvIHRoaXMgdGhyb3VnaCBwbGF0Zm9ybS1p
bmRlcGVuZGVudCBHcmFwaGljc0NvbnRleHQgQVBJLgogI2lmIFBMQVRGT1JNKENHKQotICAgIFJH
QkEzMiByZ2JhID0gMDsgLy8gZGVmYXVsdCBpcyB0cmFuc3BhcmFudCBibGFjaworICAgIFJHQkEz
MiByZ2JhID0gMDsgLy8gZGVmYXVsdCBpcyB0cmFuc3BhcmVudCBibGFjawogICAgIGlmICghc3Rh
dGUoKS5tX3NoYWRvd0NvbG9yLmlzRW1wdHkoKSkKICAgICAgICAgQ1NTUGFyc2VyOjpwYXJzZUNv
bG9yKHJnYmEsIHN0YXRlKCkubV9zaGFkb3dDb2xvcik7CiAgICAgY29uc3QgQ0dGbG9hdCBjb21w
b25lbnRzWzRdID0gewpAQCAtOTc0LDI0ICs5NzQsMTMgQEAgdm9pZCBDYW52YXNSZW5kZXJpbmdD
b250ZXh0MkQ6OmRyYXdJbWFnZQogICAgIHBhaW50ZXItPmRyYXdJbWFnZShkc3RSZWN0LCBweCwg
c3JjUmVjdCk7CiAjZWxpZiBQTEFURk9STShDQUlSTykKICAgICBjYWlyb19zdXJmYWNlX3QqIGlt
YWdlID0gY2FudmFzLT5jcmVhdGVQbGF0Zm9ybUltYWdlKCk7Ci0gICAgaWYgKCFpbWFnZSkKLSAg
ICAgICAgcmV0dXJuOwogICAgIHdpbGxEcmF3KGRzdFJlY3QpOwotCi0gICAgZmxvYXQgaXcgPSBj
YWlyb19pbWFnZV9zdXJmYWNlX2dldF93aWR0aChpbWFnZSk7Ci0gICAgZmxvYXQgaWggPSBjYWly
b19pbWFnZV9zdXJmYWNlX2dldF9oZWlnaHQoaW1hZ2UpOwotCi0gICAgaWYgKHNvdXJjZVJlY3Qu
eCgpID09IDAgJiYgc291cmNlUmVjdC55KCkgPT0gMCAmJiBpdyA9PSBzb3VyY2VSZWN0LndpZHRo
KCkgJiYgaWggPT0gc291cmNlUmVjdC5oZWlnaHQoKSkgewotICAgICAgICBjYWlyb190KiBjciA9
IGMtPnBsYXRmb3JtQ29udGV4dCgpOwotICAgICAgICBjYWlyb19zYXZlKGNyKTsKLSAgICAgICAg
Y2Fpcm9fc2V0X3NvdXJjZV9zdXJmYWNlKGNyLCBpbWFnZSwgc3JjUmVjdC54KCksIHNyY1JlY3Qu
eSgpKTsKLSAgICAgICAgY2Fpcm9fc3VyZmFjZV9kZXN0cm95KGltYWdlKTsKLSAgICAgICAgY2Fp
cm9fcmVjdGFuZ2xlKGNyLCBkc3RSZWN0LngoKSwgZHN0UmVjdC55KCksIGRzdFJlY3Qud2lkdGgo
KSwgZHN0UmVjdC5oZWlnaHQoKSk7Ci0gICAgICAgIGNhaXJvX2ZpbGwoY3IpOwotICAgICAgICBj
YWlyb19yZXN0b3JlKGNyKTsKLSAgICB9IGVsc2UKLSAgICAgICAgbm90SW1wbGVtZW50ZWQoKTsK
LQorICAgIGNhaXJvX3QqIGNyID0gYy0+cGxhdGZvcm1Db250ZXh0KCk7CisgICAgY2Fpcm9fc2F2
ZShjcik7CisgICAgY2Fpcm9fc2V0X3NvdXJjZV9zdXJmYWNlKGNyLCBpbWFnZSwgc3JjUmVjdC54
KCksIHNyY1JlY3QueSgpKTsKKyAgICBjYWlyb19yZWN0YW5nbGUoY3IsIGRzdFJlY3QueCgpLCBk
c3RSZWN0LnkoKSwgZHN0UmVjdC53aWR0aCgpLCBkc3RSZWN0LmhlaWdodCgpKTsKKyAgICBjYWly
b19maWxsKGNyKTsKKyAgICBjYWlyb19yZXN0b3JlKGNyKTsKICNlbmRpZgogfQogCkBAIC0xMDY4
LDYgKzEwNTcsMTMgQEAgUGFzc1JlZlB0cjxDYW52YXNQYXR0ZXJuPiBDYW52YXNSZW5kZXJpbgog
ICAgIFBhc3NSZWZQdHI8Q2FudmFzUGF0dGVybj4gcGF0dGVybiA9IG5ldyBDYW52YXNQYXR0ZXJu
KGltYWdlLCByZXBlYXRYLCByZXBlYXRZKTsKICAgICBDR0ltYWdlUmVsZWFzZShpbWFnZSk7CiAg
ICAgcmV0dXJuIHBhdHRlcm47CisjZWxpZiBQTEFURk9STShDQUlSTykKKyAgICBjYWlyb19zdXJm
YWNlX3QqIHN1cmZhY2UgPSBjYW52YXMtPmNyZWF0ZVBsYXRmb3JtSW1hZ2UoKTsKKyAgICBpZiAo
IXN1cmZhY2UpCisgICAgICAgIHJldHVybiAwOworICAgIFBhc3NSZWZQdHI8Q2FudmFzUGF0dGVy
bj4gcGF0dGVybiA9IG5ldyBDYW52YXNQYXR0ZXJuKHN1cmZhY2UsIHJlcGVhdFgsIHJlcGVhdFkp
OworICAgIGNhaXJvX3N1cmZhY2VfZGVzdHJveShzdXJmYWNlKTsKKyAgICByZXR1cm4gcGF0dGVy
bjsKICNlbHNlCiAgICAgbm90SW1wbGVtZW50ZWQoKTsKICAgICByZXR1cm4gMDsKQEAgLTExMjEs
NyArMTExNywyMCBAQCB2b2lkIENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRDo6YXBwbHlTdHJvCiAj
ZWxpZiBQTEFURk9STShRVCkKICAgICBmcHJpbnRmKHN0ZGVyciwgIkZJWE1FOiBDYW52YXNSZW5k
ZXJpbmdDb250ZXh0MkQ6OmFwcGx5U3Ryb2tlUGF0dGVyblxuIik7CiAjZWxpZiBQTEFURk9STShD
QUlSTykKLSAgICBub3RJbXBsZW1lbnRlZCgpOworICAgIENhbnZhc1BhdHRlcm4qIHBhdHRlcm4g
PSBzdGF0ZSgpLm1fc3Ryb2tlU3R5bGUtPnBhdHRlcm4oKTsKKyAgICBpZiAoIXBhdHRlcm4pCisg
ICAgICAgIHJldHVybjsKKworICAgIGNhaXJvX3QqIGNyID0gYy0+cGxhdGZvcm1Db250ZXh0KCk7
CisgICAgY2Fpcm9fbWF0cml4X3QgbTsKKyAgICBjYWlyb19nZXRfbWF0cml4KGNyLCAmbSk7CisK
KyAgICBjYWlyb19wYXR0ZXJuX3QqIHBsYXRmb3JtUGF0dGVybiA9IHBhdHRlcm4tPmNyZWF0ZVBh
dHRlcm4obSk7CisgICAgaWYgKCFwbGF0Zm9ybVBhdHRlcm4pCisgICAgICAgIHJldHVybjsKKwor
ICAgIGNhaXJvX3NldF9zb3VyY2UoY3IsIHBsYXRmb3JtUGF0dGVybik7CisgICAgY2Fpcm9fcGF0
dGVybl9kZXN0cm95KHBsYXRmb3JtUGF0dGVybik7CiAjZW5kaWYKICAgICBzdGF0ZSgpLm1fYXBw
bGllZFN0cm9rZVBhdHRlcm4gPSB0cnVlOwogfQpAQCAtMTE1OCw2ICsxMTY3LDIxIEBAIHZvaWQg
Q2FudmFzUmVuZGVyaW5nQ29udGV4dDJEOjphcHBseUZpbGwKICAgICBzdGF0ZSgpLm1fZmlsbFN0
eWxlUGF0dGVyblRyYW5zZm9ybSA9IG07CiAjZWxpZiBQTEFURk9STShRVCkKICAgICBmcHJpbnRm
KHN0ZGVyciwgIkZJWE1FOiBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQ6OmFwcGx5RmlsbFBhdHRl
cm5cbiIpOworI2VsaWYgUExBVEZPUk0oQ0FJUk8pCisgICAgQ2FudmFzUGF0dGVybiogcGF0dGVy
biA9IHN0YXRlKCkubV9maWxsU3R5bGUtPnBhdHRlcm4oKTsKKyAgICBpZiAoIXBhdHRlcm4pCisg
ICAgICAgIHJldHVybjsKKworICAgIGNhaXJvX3QqIGNyID0gYy0+cGxhdGZvcm1Db250ZXh0KCk7
CisgICAgY2Fpcm9fbWF0cml4X3QgbTsKKyAgICBjYWlyb19nZXRfbWF0cml4KGNyLCAmbSk7CisK
KyAgICBjYWlyb19wYXR0ZXJuX3QqIHBsYXRmb3JtUGF0dGVybiA9IHBhdHRlcm4tPmNyZWF0ZVBh
dHRlcm4obSk7CisgICAgaWYgKCFwbGF0Zm9ybVBhdHRlcm4pCisgICAgICAgIHJldHVybjsKKwor
ICAgIGNhaXJvX3NldF9zb3VyY2UoY3IsIHBsYXRmb3JtUGF0dGVybik7CisgICAgY2Fpcm9fcGF0
dGVybl9kZXN0cm95KHBsYXRmb3JtUGF0dGVybik7CiAjZW5kaWYKICAgICBzdGF0ZSgpLm1fYXBw
bGllZEZpbGxQYXR0ZXJuID0gdHJ1ZTsKIH0KSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvQml0bWFwSW1hZ2UuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L0JpdG1hcEltYWdlLmgJKHJldmlzaW9uIDI4OTY2KQorKysgV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9CaXRtYXBJbWFnZS5oCSh3b3JraW5nIGNvcHkpCkBAIC00NCw2ICs0NCwxMCBAQCBjbGFz
cyBOU0ltYWdlOwogdHlwZWRlZiBzdHJ1Y3QgSEJJVE1BUF9fICpIQklUTUFQOwogI2VuZGlmCiAK
KyNpZiBQTEFURk9STShDQUlSTykKK3R5cGVkZWYgc3RydWN0IF9jYWlyb19zdXJmYWNlIGNhaXJv
X3N1cmZhY2VfdDsKKyNlbmRpZgorCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgc3RydWN0IEZy
YW1lRGF0YTsKIH0KQEAgLTEyNyw2ICsxMzEsMTAgQEAgcHVibGljOgogICAgIHZpcnR1YWwgYm9v
bCBnZXRIQklUTUFQT2ZTaXplKEhCSVRNQVAsIExQU0laRSk7CiAjZW5kaWYKIAorI2lmIFBMQVRG
T1JNKENBSVJPKQorICAgIHZpcnR1YWwgY2Fpcm9fc3VyZmFjZV90KiBnZXRDYWlyb1N1cmZhY2Uo
KTsKKyNlbmRpZgorCiAjaWYgUExBVEZPUk0oV1gpCiAgICAgdmlydHVhbCB3eEJpdG1hcCogZ2V0
V3hCaXRtYXAoKSBjb25zdDsKICNlbmRpZgpJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9JbWFnZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2Uu
aAkocmV2aXNpb24gMjg5NjYpCisrKyBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlLmgJ
KHdvcmtpbmcgY29weSkKQEAgLTU0LDYgKzU0LDEwIEBAIHR5cGVkZWYgc3RydWN0IEhCSVRNQVBf
XyAqSEJJVE1BUDsKICNpbmNsdWRlIDxRUGl4bWFwPgogI2VuZGlmCiAKKyNpZiBQTEFURk9STShD
QUlSTykKK3R5cGVkZWYgc3RydWN0IF9jYWlyb19zdXJmYWNlIGNhaXJvX3N1cmZhY2VfdDsKKyNl
bmRpZgorCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEFmZmluZVRyYW5zZm9ybTsKQEAg
LTEzMSw2ICsxMzUsMTAgQEAgcHVibGljOgogICAgIHZpcnR1YWwgYm9vbCBnZXRIQklUTUFQT2ZT
aXplKEhCSVRNQVAsIExQU0laRSkgeyByZXR1cm4gZmFsc2U7IH0KICNlbmRpZgogCisjaWYgUExB
VEZPUk0oQ0FJUk8pCisgICAgdmlydHVhbCBjYWlyb19zdXJmYWNlX3QqIGdldENhaXJvU3VyZmFj
ZSgpIHsgcmV0dXJuIDA7IH0KKyNlbmRpZgorCiBwcm90ZWN0ZWQ6CiAgICAgc3RhdGljIHZvaWQg
ZmlsbFdpdGhTb2xpZENvbG9yKEdyYXBoaWNzQ29udGV4dCogY3R4dCwgY29uc3QgRmxvYXRSZWN0
JiBkc3RSZWN0LCBjb25zdCBDb2xvciYgY29sb3IsIENvbXBvc2l0ZU9wZXJhdG9yIG9wKTsKIApJ
bmRleDogV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9JbWFnZUNhaXJvLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0ltYWdlQ2Fpcm8uY3Bw
CShyZXZpc2lvbiAyODk2NikKKysrIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vSW1h
Z2VDYWlyby5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ4LDYgKzQ4LDExIEBAIHZvaWQgRnJhbWVE
YXRhOjpjbGVhcigpCiAgICAgfQogfQogCitjYWlyb19zdXJmYWNlX3QqIEJpdG1hcEltYWdlOjpn
ZXRDYWlyb1N1cmZhY2UoKQoreworICAgIHJldHVybiBmcmFtZUF0SW5kZXgobV9jdXJyZW50RnJh
bWUpOworfQorCiB2b2lkIEJpdG1hcEltYWdlOjpkcmF3KEdyYXBoaWNzQ29udGV4dCogY29udGV4
dCwgY29uc3QgRmxvYXRSZWN0JiBkc3QsIGNvbnN0IEZsb2F0UmVjdCYgc3JjLCBDb21wb3NpdGVP
cGVyYXRvciBvcCkKIHsKICAgICBpZiAoIW1fc291cmNlLmluaXRpYWxpemVkKCkpCg==
</data>
<flag name="review"
          id="7842"
          type_id="1"
          status="+"
          setter="zecke"
    />
          </attachment>
      

    </bug>

</bugzilla>