<?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>28345</bug_id>
          
          <creation_ts>2009-08-15 19:08:21 -0700</creation_ts>
          <short_desc>[GTK] BitmapImage::getGdkPixbuf does not handle alpha channels properly</short_desc>
          <delta_ts>2009-08-23 00:18:54 -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>WebKitGTK</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>28346</blocked>
          <everconfirmed>0</everconfirmed>
          <reporter name="Martin Robinson">mrobinson</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>krit</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>140508</commentid>
    <comment_count>0</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2009-08-15 19:08:21 -0700</bug_when>
    <thetext>Cairo surfaces store their information in CAIRO_FORMAT_ARGB32, while GdkPixbufs store their information in GDK_COLORSPACE_RGB. The current conversion process between the two types leads to transparency corruption on some images.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>140509</commentid>
    <comment_count>1</comment_count>
      <attachid>34910</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2009-08-15 19:17:56 -0700</bug_when>
    <thetext>Created attachment 34910
Fix conversion

I&apos;ve attached a patch fixing this issue.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>140512</commentid>
    <comment_count>2</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2009-08-15 19:33:33 -0700</bug_when>
    <thetext>Sorry to spam this bug, but I wanted to mention that this is reproducible by enabling images as cursors with the patch from #28346 and visiting: http://www.worldtimzone.com/mozilla/testcase/css3cursors.html and trying the red cursor at the bottom.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>140899</commentid>
    <comment_count>3</comment_count>
      <attachid>34910</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-08-17 17:17:04 -0700</bug_when>
    <thetext>Comment on attachment 34910
Fix conversion

rowstride should probably be rowStride according to webkit style.

Are you sure there aren&apos;t gtk functions which abstract this?
+#if G_BYTE_ORDER == G_LITTLE_ENDIAN
+            guchar alpha = source[3];
+            dest[0] = alpha ? ((source[2] * 255) / alpha) : 0;
+            dest[1] = alpha ? ((source[1] * 255) / alpha) : 0;
+            dest[2] = alpha ? ((source[0] * 255) / alpha) : 0;
+            dest[3] = alpha;
+#else
Seems silly to make every program check those ifdefs.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>140914</commentid>
    <comment_count>4</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2009-08-17 17:29:20 -0700</bug_when>
    <thetext>Perhaps more recent versions of GTK+ or GDK have added functionality to accomplish this, but I could not find it. For reference here is an example where Abiword does something very similar: http://google.com/codesearch/p?hl=en&amp;sa=N&amp;cd=1&amp;ct=rc#gQXpoyUxBIc/abiword-2.5.0/goffice-bits/goffice/utils/go-image.c&amp;q=cairo_to_pixbuf&amp;l=327</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>141013</commentid>
    <comment_count>5</comment_count>
      <attachid>35016</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2009-08-17 23:02:23 -0700</bug_when>
    <thetext>Created attachment 35016
Patch with variable names according to conventions

This patch aligns variable names according to WebKit conventions.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>142198</commentid>
    <comment_count>6</comment_count>
      <attachid>35016</attachid>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2009-08-23 00:11:44 -0700</bug_when>
    <thetext>Comment on attachment 35016
Patch with variable names according to conventions

This looks good to me, and on top of fixing a bug it manages to do the data conversion on the client side. There&apos;s a NULL where we should use 0, but I&apos;ll fix that when landing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>142199</commentid>
    <comment_count>7</comment_count>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2009-08-23 00:18:54 -0700</bug_when>
    <thetext>Committed as r47689, closing.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>34910</attachid>
            <date>2009-08-15 19:17:56 -0700</date>
            <delta_ts>2009-08-17 23:02:23 -0700</delta_ts>
            <desc>Fix conversion</desc>
            <filename>0001-Correct-conversion-of-cairo_surface_t-to-GdkPixbuf.patch</filename>
            <type>text/plain</type>
            <size>5065</size>
            <attacher name="Martin Robinson">mrobinson</attacher>
            
              <data encoding="base64">RnJvbSA1YzExZjQ1NjIwMDNhM2MwNDczOGMzZDk2Mjc0ODlkYjVhYjgxNWRmIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBNYXJ0aW4gUm9iaW5zb24gPG1hcnRpbi5qYW1lcy5yb2JpbnNv
bkBnbWFpbC5jb20+CkRhdGU6IFNhdCwgMTUgQXVnIDIwMDkgMTk6MDg6NDcgLTA3MDAKU3ViamVj
dDogW1BBVENIXSBDb3JyZWN0IGNvbnZlcnNpb24gb2YgY2Fpcm9fc3VyZmFjZV90KiB0byBHZGtQ
aXhidWYqCgotLS0KIFdlYkNvcmUvQ2hhbmdlTG9nICAgICAgICAgICAgICAgICAgICAgICAgICB8
ICAgMTcgKysrKysrKwogV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ndGsvSW1hZ2VHdGsuY3Bw
IHwgICA3MyArKysrKysrKysrKysrKysrKysrKysrLS0tLS0tCiAyIGZpbGVzIGNoYW5nZWQsIDc0
IGluc2VydGlvbnMoKyksIDE2IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hh
bmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTkwYzIzMy4uNThmOTExYSAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwyMCBAQAorMjAwOS0wOC0xNSAgTWFydGluIFJvYmluc29uICA8bWFydGluLmphbWVzLnJvYmlu
c29uQGdtYWlsLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBDb3JyZWN0IGNvbnZlcnNpb24gb2YgY2Fpcm9fc3VyZmFjZV90KiB0byBHZGtQaXhi
dWYqCisKKyAgICAgICAgW0dUS10gQml0bWFwSW1hZ2U6OmdldEdka1BpeGJ1ZiBkb2VzIG5vdCBo
YW5kbGUgYWxwaGEgY2hhbm5lbHMgcHJvcGVybHkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTI4MzQ1CisKKyAgICAgICAgV2hlbiBkb2luZyB0aGUgY29u
dmVyc2lvbiBiZXR3ZWVuIGNhaXJvX3N1cmZhY2VfdCogYW5kIEdka1BpeGJ1ZiogYWNjb3VudAor
ICAgICAgICBmb3IgdGhlIGRpZmZlcmVuY2VzIGluIHRoZSByZXNwZWN0aXZlIGZvcm1hdHMnIGlu
LW1lbW9yeSBpbWFnZSBmb3JtYXQuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9ndGsv
SW1hZ2VHdGsuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Z2V0Q2Fpcm9TdXJmYWNlUGl4ZWwpOgor
ICAgICAgICAoV2ViQ29yZTo6Z2V0R2RrUGl4YnVmUGl4ZWwpOgorICAgICAgICAoV2ViQ29yZTo6
Qml0bWFwSW1hZ2U6OmdldEdka1BpeGJ1Zik6CisKIDIwMDktMDgtMTUgIFBhdmVsIEZlbGRtYW4g
IDxwZmVsZG1hbkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgVGltb3RoeSBI
YXRjaGVyLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ndGsvSW1hZ2VH
dGsuY3BwIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ndGsvSW1hZ2VHdGsuY3BwCmluZGV4
IDBlOTJkNmMuLmEwMjMzZDUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Z3RrL0ltYWdlR3RrLmNwcAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2d0ay9JbWFn
ZUd0ay5jcHAKQEAgLTg4LDI2ICs4OCw2NyBAQCBQYXNzUmVmUHRyPEltYWdlPiBJbWFnZTo6bG9h
ZFBsYXRmb3JtUmVzb3VyY2UoY29uc3QgY2hhciogbmFtZSkKICAgICByZXR1cm4gaW1nLnJlbGVh
c2UoKTsKIH0KIAorc3RhdGljIGlubGluZSB1bnNpZ25lZCBjaGFyKiBnZXRDYWlyb1N1cmZhY2VQ
aXhlbCh1bnNpZ25lZCBjaGFyKiBkYXRhLCB1aW50IHgsIHVpbnQgeSwgdWludCByb3dzdHJpZGUp
Cit7CisgICAgcmV0dXJuIGRhdGEgKyAoeSAqIHJvd3N0cmlkZSkgKyB4ICogNDsKK30KKworc3Rh
dGljIGlubGluZSBndWNoYXIqIGdldEdka1BpeGJ1ZlBpeGVsKGd1Y2hhciogZGF0YSwgdWludCB4
LCB1aW50IHksIHVpbnQgcm93c3RyaWRlKQoreworICAgIHJldHVybiBkYXRhICsgKHkgKiByb3dz
dHJpZGUpICsgeCAqIDQ7Cit9CisKIEdka1BpeGJ1ZiogQml0bWFwSW1hZ2U6OmdldEdka1BpeGJ1
ZigpCiB7CiAgICAgaW50IHdpZHRoID0gY2Fpcm9faW1hZ2Vfc3VyZmFjZV9nZXRfd2lkdGgoZnJh
bWVBdEluZGV4KGN1cnJlbnRGcmFtZSgpKSk7CiAgICAgaW50IGhlaWdodCA9IGNhaXJvX2ltYWdl
X3N1cmZhY2VfZ2V0X2hlaWdodChmcmFtZUF0SW5kZXgoY3VycmVudEZyYW1lKCkpKTsKLQotICAg
IGludCBiZXN0RGVwdGggPSBnZGtfdmlzdWFsX2dldF9iZXN0X2RlcHRoKCk7Ci0gICAgR2RrQ29s
b3JtYXAqIGNtYXAgPSBnZGtfY29sb3JtYXBfbmV3KGdka192aXN1YWxfZ2V0X2Jlc3Rfd2l0aF9k
ZXB0aChiZXN0RGVwdGgpLCB0cnVlKTsKLQotICAgIEdka1BpeG1hcCogcGl4bWFwID0gZ2RrX3Bp
eG1hcF9uZXcoMCwgd2lkdGgsIGhlaWdodCwgYmVzdERlcHRoKTsKLSAgICBnZGtfZHJhd2FibGVf
c2V0X2NvbG9ybWFwKEdES19EUkFXQUJMRShwaXhtYXApLCBjbWFwKTsKLSAgICBjYWlyb190KiBj
ciA9IGdka19jYWlyb19jcmVhdGUoR0RLX0RSQVdBQkxFKHBpeG1hcCkpOwotICAgIGNhaXJvX3Nl
dF9zb3VyY2Vfc3VyZmFjZShjciwgZnJhbWVBdEluZGV4KGN1cnJlbnRGcmFtZSgpKSwgMCwgMCk7
Ci0gICAgY2Fpcm9fcGFpbnQoY3IpOwotICAgIGNhaXJvX2Rlc3Ryb3koY3IpOwotCi0gICAgR2Rr
UGl4YnVmKiBwaXhidWYgPSBnZGtfcGl4YnVmX2dldF9mcm9tX2RyYXdhYmxlKDAsIEdES19EUkFX
QUJMRShwaXhtYXApLCAwLCAwLCAwLCAwLCAwLCB3aWR0aCwgaGVpZ2h0KTsKLSAgICBnX29iamVj
dF91bnJlZihwaXhtYXApOwotICAgIGdfb2JqZWN0X3VucmVmKGNtYXApOwotCi0gICAgcmV0dXJu
IHBpeGJ1ZjsKKyAgICB1bnNpZ25lZCBjaGFyKiBzdXJmYWNlRGF0YSA9IGNhaXJvX2ltYWdlX3N1
cmZhY2VfZ2V0X2RhdGEoZnJhbWVBdEluZGV4KGN1cnJlbnRGcmFtZSgpKSk7CisgICAgaW50IHN1
cmZhY2VSb3dzdHJpZGUgPSBjYWlyb19pbWFnZV9zdXJmYWNlX2dldF9zdHJpZGUoZnJhbWVBdElu
ZGV4KGN1cnJlbnRGcmFtZSgpKSk7CisKKyAgICBHZGtQaXhidWYqIGRlc3QgPSBnZGtfcGl4YnVm
X25ldyhHREtfQ09MT1JTUEFDRV9SR0IsIFRSVUUsIDgsIHdpZHRoLCBoZWlnaHQpOworICAgIGlm
ICghZGVzdCkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisKKyAgICBndWNoYXIqIHBpeGJ1ZkRhdGEg
PSBnZGtfcGl4YnVmX2dldF9waXhlbHMoZGVzdCk7CisgICAgaW50IHBpeGJ1ZlJvd3N0cmlkZSA9
IGdka19waXhidWZfZ2V0X3Jvd3N0cmlkZShkZXN0KTsKKworICAgIC8qIEZyb206IGh0dHA6Ly9j
YWlyb2dyYXBoaWNzLm9yZy9tYW51YWwvY2Fpcm8taW1hZ2Utc3VyZmFjZS5odG1sI2NhaXJvLWZv
cm1hdC10CisgICAgICogIkNBSVJPX0ZPUk1BVF9BUkdCMzI6IGVhY2ggcGl4ZWwgaXMgYSAzMi1i
aXQgcXVhbnRpdHksIHdpdGggYWxwaGEgaW4KKyAgICAgKiB0aGUgdXBwZXIgOCBiaXRzLCB0aGVu
IHJlZCwgdGhlbiBncmVlbiwgdGhlbiBibHVlLiBUaGUgMzItYml0CisgICAgICogcXVhbnRpdGll
cyBhcmUgc3RvcmVkIG5hdGl2ZS1lbmRpYW4uIFByZS1tdWx0aXBsaWVkIGFscGhhIGlzIHVzZWQu
CisgICAgICogKFRoYXQgaXMsIDUwJSB0cmFuc3BhcmVudCByZWQgaXMgMHg4MDgwMDAwMCwgbm90
IDB4ODBmZjAwMDAuKSIKKyAgICAgKgorICAgICAqIFNlZSBodHRwOi8vZGV2ZWxvcGVyLmdpbXAu
b3JnL2FwaS8yLjAvZ2RrLXBpeGJ1Zi9nZGstcGl4YnVmLWdkay1waXhidWYuaHRtbCNHZGtQaXhi
dWYKKyAgICAgKiBmb3IgaW5mb3JtYXRpb24gb24gdGhlIHN0cnVjdHVyZSBvZiBHZGtQaXhidWZz
IHN0b3JlZCB3aXRoIEdES19DT0xPUlNQQUNFX1JHQi4KKyAgICAgKgorICAgICAqIFJHQiBjb2xv
ciBjaGFubmVscyBpbiBDQUlST19GT1JNQVRfQVJHQjMyIGFyZSBzdG9yZWQgYmFzZWQgb24gdGhl
CisgICAgICogZW5kaWFubmVzcyBvZiB0aGUgbWFjaGluZSBhbmQgYXJlIGFsc28gbXVsdGlwbGll
ZCBieSB0aGUgYWxwaGEgY2hhbm5lbC4KKyAgICAgKiBUbyBwcm9wZXJseSB0cmFuc2ZlciB0aGUg
ZGF0YSBmcm9tIHRoZSBDYWlybyBzdXJmYWNlIHdlIG11c3QgZGl2aWRlIGVhY2gKKyAgICAgKiBv
ZiB0aGUgUkdCIGNoYW5uZWxzIGJ5IHRoZSBhbHBoYSBjaGFubmVsIGFuZCB0aGVuIHJlb3JkZXIg
YWxsIGNoYW5uZWxzCisgICAgICogaWYgdGhpcyBtYWNoaW5lIGlzIGxpdHRsZS1lbmRpYW4uCisg
ICAgICovCisgICAgZm9yIChpbnQgeSA9IDA7IHkgPCBoZWlnaHQ7IHkrKykgeworICAgICAgICBm
b3IgKGludCB4ID0gMDsgeCA8IGhlaWdodDsgeCsrKSB7CisgICAgICAgICAgICB1bnNpZ25lZCBj
aGFyKiBzb3VyY2UgPSBnZXRDYWlyb1N1cmZhY2VQaXhlbChzdXJmYWNlRGF0YSwgeCwgeSwgc3Vy
ZmFjZVJvd3N0cmlkZSk7CisgICAgICAgICAgICBndWNoYXIqIGRlc3QgPSBnZXRHZGtQaXhidWZQ
aXhlbChwaXhidWZEYXRhLCB4LCB5LCBwaXhidWZSb3dzdHJpZGUpOworCisjaWYgR19CWVRFX09S
REVSID09IEdfTElUVExFX0VORElBTgorICAgICAgICAgICAgZ3VjaGFyIGFscGhhID0gc291cmNl
WzNdOworICAgICAgICAgICAgZGVzdFswXSA9IGFscGhhID8gKChzb3VyY2VbMl0gKiAyNTUpIC8g
YWxwaGEpIDogMDsKKyAgICAgICAgICAgIGRlc3RbMV0gPSBhbHBoYSA/ICgoc291cmNlWzFdICog
MjU1KSAvIGFscGhhKSA6IDA7CisgICAgICAgICAgICBkZXN0WzJdID0gYWxwaGEgPyAoKHNvdXJj
ZVswXSAqIDI1NSkgLyBhbHBoYSkgOiAwOworICAgICAgICAgICAgZGVzdFszXSA9IGFscGhhOwor
I2Vsc2UKKyAgICAgICAgICAgIGd1Y2hhciBhbHBoYSA9IHNvdXJjZVswXTsKKyAgICAgICAgICAg
IGRlc3RbMF0gPSBhbHBoYSA/ICgoc291cmNlWzFdICogMjU1KSAvIGFscGhhKSA6IDA7CisgICAg
ICAgICAgICBkZXN0WzFdID0gYWxwaGEgPyAoKHNvdXJjZVsyXSAqIDI1NSkgLyBhbHBoYSkgOiAw
OworICAgICAgICAgICAgZGVzdFsyXSA9IGFscGhhID8gKChzb3VyY2VbM10gKiAyNTUpIC8gYWxw
aGEpIDogMDsKKyAgICAgICAgICAgIGRlc3RbM10gPSBhbHBoYTsKKyNlbmRpZgorICAgICAgICB9
CisgICAgfQorCisgICAgcmV0dXJuIGRlc3Q7CiB9CiAKIH0KLS0gCjEuNi4wLjQKCg==
</data>
<flag name="review"
          id="19100"
          type_id="1"
          status="-"
          setter="eric"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>35016</attachid>
            <date>2009-08-17 23:02:23 -0700</date>
            <delta_ts>2009-08-23 00:11:44 -0700</delta_ts>
            <desc>Patch with variable names according to conventions</desc>
            <filename>0001-When-doing-the-conversion-between-cairo_surface_t-a.patch</filename>
            <type>text/plain</type>
            <size>5096</size>
            <attacher name="Martin Robinson">mrobinson</attacher>
            
              <data encoding="base64">RnJvbSAyNDA2MmM4YzU5MzdiYTg3YTc1MmNjOTU0YTQ0NTIyNzA3ZDYxYTJhIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBNYXJ0aW4gUm9iaW5zb24gPG1hcnRpbi5qYW1lcy5yb2JpbnNv
bkBnbWFpbC5jb20+CkRhdGU6IE1vbiwgMTcgQXVnIDIwMDkgMjI6NTc6MzUgLTA3MDAKU3ViamVj
dDogW1BBVENIXSBXaGVuIGRvaW5nIHRoZSBjb252ZXJzaW9uIGJldHdlZW4gY2Fpcm9fc3VyZmFj
ZV90KiBhbmQgR2RrUGl4YnVmKiBhY2NvdW50IGZvciB0aGUgZGlmZmVyZW5jZXMgaW4gdGhlIHJl
c3BlY3RpdmUgZm9ybWF0cycgaW4tbWVtb3J5IGltYWdlIGZvcm1hdC4KCi0tLQogV2ViQ29yZS9D
aGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAxNiArKysrKysKIFdlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvZ3RrL0ltYWdlR3RrLmNwcCB8ICAgNzMgKysrKysrKysrKysrKysr
KysrKysrKy0tLS0tLQogMiBmaWxlcyBjaGFuZ2VkLCA3MyBpbnNlcnRpb25zKCspLCAxNiBkZWxl
dGlvbnMoLSkKCmRpZmYgLS1naXQgYS9XZWJDb3JlL0NoYW5nZUxvZyBiL1dlYkNvcmUvQ2hhbmdl
TG9nCmluZGV4IDNmY2MwMDYuLjZkMmVkZDQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvQ2hhbmdlTG9n
CisrKyBiL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMDktMDgtMTcgIE1h
cnRpbiBSb2JpbnNvbiAgPG1hcnRpbi5qYW1lcy5yb2JpbnNvbkBnbWFpbC5jb20+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgW0dUS10gQml0bWFwSW1h
Z2U6OmdldEdka1BpeGJ1ZiBkb2VzIG5vdCBoYW5kbGUgYWxwaGEgY2hhbm5lbHMgcHJvcGVybHkK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI4MzQ1CisK
KyAgICAgICAgV2hlbiBkb2luZyB0aGUgY29udmVyc2lvbiBiZXR3ZWVuIGNhaXJvX3N1cmZhY2Vf
dCogYW5kIEdka1BpeGJ1ZioKKyAgICAgICAgYWNjb3VudCBmb3IgdGhlIGRpZmZlcmVuY2VzIGlu
IHRoZSByZXNwZWN0aXZlIGZvcm1hdHMnIGluLW1lbW9yeQorICAgICAgICBpbWFnZSBmb3JtYXQu
CisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9ndGsvSW1hZ2VHdGsuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6Z2V0Q2Fpcm9TdXJmYWNlUGl4ZWwpOgorICAgICAgICAoV2ViQ29yZTo6Z2V0
R2RrUGl4YnVmUGl4ZWwpOgorICAgICAgICAoV2ViQ29yZTo6Qml0bWFwSW1hZ2U6OmdldEdka1Bp
eGJ1Zik6CisKIDIwMDktMDgtMTcgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5j
b20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGF2ZSBIeWF0dC4KZGlmZiAtLWdpdCBhL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3RrL0ltYWdlR3RrLmNwcCBiL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvZ3RrL0ltYWdlR3RrLmNwcAppbmRleCAwZTkyZDZjLi44ZDJhZGU3IDEwMDY0NAot
LS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2d0ay9JbWFnZUd0ay5jcHAKKysrIGIvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ndGsvSW1hZ2VHdGsuY3BwCkBAIC04OCwyNiArODgsNjcg
QEAgUGFzc1JlZlB0cjxJbWFnZT4gSW1hZ2U6OmxvYWRQbGF0Zm9ybVJlc291cmNlKGNvbnN0IGNo
YXIqIG5hbWUpCiAgICAgcmV0dXJuIGltZy5yZWxlYXNlKCk7CiB9CiAKK3N0YXRpYyBpbmxpbmUg
dW5zaWduZWQgY2hhciogZ2V0Q2Fpcm9TdXJmYWNlUGl4ZWwodW5zaWduZWQgY2hhciogZGF0YSwg
dWludCB4LCB1aW50IHksIHVpbnQgcm93U3RyaWRlKQoreworICAgIHJldHVybiBkYXRhICsgKHkg
KiByb3dTdHJpZGUpICsgeCAqIDQ7Cit9CisKK3N0YXRpYyBpbmxpbmUgZ3VjaGFyKiBnZXRHZGtQ
aXhidWZQaXhlbChndWNoYXIqIGRhdGEsIHVpbnQgeCwgdWludCB5LCB1aW50IHJvd1N0cmlkZSkK
K3sKKyAgICByZXR1cm4gZGF0YSArICh5ICogcm93U3RyaWRlKSArIHggKiA0OworfQorCiBHZGtQ
aXhidWYqIEJpdG1hcEltYWdlOjpnZXRHZGtQaXhidWYoKQogewogICAgIGludCB3aWR0aCA9IGNh
aXJvX2ltYWdlX3N1cmZhY2VfZ2V0X3dpZHRoKGZyYW1lQXRJbmRleChjdXJyZW50RnJhbWUoKSkp
OwogICAgIGludCBoZWlnaHQgPSBjYWlyb19pbWFnZV9zdXJmYWNlX2dldF9oZWlnaHQoZnJhbWVB
dEluZGV4KGN1cnJlbnRGcmFtZSgpKSk7Ci0KLSAgICBpbnQgYmVzdERlcHRoID0gZ2RrX3Zpc3Vh
bF9nZXRfYmVzdF9kZXB0aCgpOwotICAgIEdka0NvbG9ybWFwKiBjbWFwID0gZ2RrX2NvbG9ybWFw
X25ldyhnZGtfdmlzdWFsX2dldF9iZXN0X3dpdGhfZGVwdGgoYmVzdERlcHRoKSwgdHJ1ZSk7Ci0K
LSAgICBHZGtQaXhtYXAqIHBpeG1hcCA9IGdka19waXhtYXBfbmV3KDAsIHdpZHRoLCBoZWlnaHQs
IGJlc3REZXB0aCk7Ci0gICAgZ2RrX2RyYXdhYmxlX3NldF9jb2xvcm1hcChHREtfRFJBV0FCTEUo
cGl4bWFwKSwgY21hcCk7Ci0gICAgY2Fpcm9fdCogY3IgPSBnZGtfY2Fpcm9fY3JlYXRlKEdES19E
UkFXQUJMRShwaXhtYXApKTsKLSAgICBjYWlyb19zZXRfc291cmNlX3N1cmZhY2UoY3IsIGZyYW1l
QXRJbmRleChjdXJyZW50RnJhbWUoKSksIDAsIDApOwotICAgIGNhaXJvX3BhaW50KGNyKTsKLSAg
ICBjYWlyb19kZXN0cm95KGNyKTsKLQotICAgIEdka1BpeGJ1ZiogcGl4YnVmID0gZ2RrX3BpeGJ1
Zl9nZXRfZnJvbV9kcmF3YWJsZSgwLCBHREtfRFJBV0FCTEUocGl4bWFwKSwgMCwgMCwgMCwgMCwg
MCwgd2lkdGgsIGhlaWdodCk7Ci0gICAgZ19vYmplY3RfdW5yZWYocGl4bWFwKTsKLSAgICBnX29i
amVjdF91bnJlZihjbWFwKTsKLQotICAgIHJldHVybiBwaXhidWY7CisgICAgdW5zaWduZWQgY2hh
ciogc3VyZmFjZURhdGEgPSBjYWlyb19pbWFnZV9zdXJmYWNlX2dldF9kYXRhKGZyYW1lQXRJbmRl
eChjdXJyZW50RnJhbWUoKSkpOworICAgIGludCBzdXJmYWNlUm93U3RyaWRlID0gY2Fpcm9faW1h
Z2Vfc3VyZmFjZV9nZXRfc3RyaWRlKGZyYW1lQXRJbmRleChjdXJyZW50RnJhbWUoKSkpOworCisg
ICAgR2RrUGl4YnVmKiBkZXN0ID0gZ2RrX3BpeGJ1Zl9uZXcoR0RLX0NPTE9SU1BBQ0VfUkdCLCBU
UlVFLCA4LCB3aWR0aCwgaGVpZ2h0KTsKKyAgICBpZiAoIWRlc3QpCisgICAgICAgIHJldHVybiBO
VUxMOworCisgICAgZ3VjaGFyKiBwaXhidWZEYXRhID0gZ2RrX3BpeGJ1Zl9nZXRfcGl4ZWxzKGRl
c3QpOworICAgIGludCBwaXhidWZSb3dTdHJpZGUgPSBnZGtfcGl4YnVmX2dldF9yb3dzdHJpZGUo
ZGVzdCk7CisKKyAgICAvKiBGcm9tOiBodHRwOi8vY2Fpcm9ncmFwaGljcy5vcmcvbWFudWFsL2Nh
aXJvLWltYWdlLXN1cmZhY2UuaHRtbCNjYWlyby1mb3JtYXQtdAorICAgICAqICJDQUlST19GT1JN
QVRfQVJHQjMyOiBlYWNoIHBpeGVsIGlzIGEgMzItYml0IHF1YW50aXR5LCB3aXRoIGFscGhhIGlu
CisgICAgICogdGhlIHVwcGVyIDggYml0cywgdGhlbiByZWQsIHRoZW4gZ3JlZW4sIHRoZW4gYmx1
ZS4gVGhlIDMyLWJpdAorICAgICAqIHF1YW50aXRpZXMgYXJlIHN0b3JlZCBuYXRpdmUtZW5kaWFu
LiBQcmUtbXVsdGlwbGllZCBhbHBoYSBpcyB1c2VkLgorICAgICAqIChUaGF0IGlzLCA1MCUgdHJh
bnNwYXJlbnQgcmVkIGlzIDB4ODA4MDAwMDAsIG5vdCAweDgwZmYwMDAwLikiCisgICAgICoKKyAg
ICAgKiBTZWUgaHR0cDovL2RldmVsb3Blci5naW1wLm9yZy9hcGkvMi4wL2dkay1waXhidWYvZ2Rr
LXBpeGJ1Zi1nZGstcGl4YnVmLmh0bWwjR2RrUGl4YnVmCisgICAgICogZm9yIGluZm9ybWF0aW9u
IG9uIHRoZSBzdHJ1Y3R1cmUgb2YgR2RrUGl4YnVmcyBzdG9yZWQgd2l0aCBHREtfQ09MT1JTUEFD
RV9SR0IuCisgICAgICoKKyAgICAgKiBSR0IgY29sb3IgY2hhbm5lbHMgaW4gQ0FJUk9fRk9STUFU
X0FSR0IzMiBhcmUgc3RvcmVkIGJhc2VkIG9uIHRoZQorICAgICAqIGVuZGlhbm5lc3Mgb2YgdGhl
IG1hY2hpbmUgYW5kIGFyZSBhbHNvIG11bHRpcGxpZWQgYnkgdGhlIGFscGhhIGNoYW5uZWwuCisg
ICAgICogVG8gcHJvcGVybHkgdHJhbnNmZXIgdGhlIGRhdGEgZnJvbSB0aGUgQ2Fpcm8gc3VyZmFj
ZSB3ZSBtdXN0IGRpdmlkZSBlYWNoCisgICAgICogb2YgdGhlIFJHQiBjaGFubmVscyBieSB0aGUg
YWxwaGEgY2hhbm5lbCBhbmQgdGhlbiByZW9yZGVyIGFsbCBjaGFubmVscworICAgICAqIGlmIHRo
aXMgbWFjaGluZSBpcyBsaXR0bGUtZW5kaWFuLgorICAgICAqLworICAgIGZvciAoaW50IHkgPSAw
OyB5IDwgaGVpZ2h0OyB5KyspIHsKKyAgICAgICAgZm9yIChpbnQgeCA9IDA7IHggPCBoZWlnaHQ7
IHgrKykgeworICAgICAgICAgICAgdW5zaWduZWQgY2hhciogc291cmNlID0gZ2V0Q2Fpcm9TdXJm
YWNlUGl4ZWwoc3VyZmFjZURhdGEsIHgsIHksIHN1cmZhY2VSb3dTdHJpZGUpOworICAgICAgICAg
ICAgZ3VjaGFyKiBkZXN0ID0gZ2V0R2RrUGl4YnVmUGl4ZWwocGl4YnVmRGF0YSwgeCwgeSwgcGl4
YnVmUm93U3RyaWRlKTsKKworI2lmIEdfQllURV9PUkRFUiA9PSBHX0xJVFRMRV9FTkRJQU4KKyAg
ICAgICAgICAgIGd1Y2hhciBhbHBoYSA9IHNvdXJjZVszXTsKKyAgICAgICAgICAgIGRlc3RbMF0g
PSBhbHBoYSA/ICgoc291cmNlWzJdICogMjU1KSAvIGFscGhhKSA6IDA7CisgICAgICAgICAgICBk
ZXN0WzFdID0gYWxwaGEgPyAoKHNvdXJjZVsxXSAqIDI1NSkgLyBhbHBoYSkgOiAwOworICAgICAg
ICAgICAgZGVzdFsyXSA9IGFscGhhID8gKChzb3VyY2VbMF0gKiAyNTUpIC8gYWxwaGEpIDogMDsK
KyAgICAgICAgICAgIGRlc3RbM10gPSBhbHBoYTsKKyNlbHNlCisgICAgICAgICAgICBndWNoYXIg
YWxwaGEgPSBzb3VyY2VbMF07CisgICAgICAgICAgICBkZXN0WzBdID0gYWxwaGEgPyAoKHNvdXJj
ZVsxXSAqIDI1NSkgLyBhbHBoYSkgOiAwOworICAgICAgICAgICAgZGVzdFsxXSA9IGFscGhhID8g
KChzb3VyY2VbMl0gKiAyNTUpIC8gYWxwaGEpIDogMDsKKyAgICAgICAgICAgIGRlc3RbMl0gPSBh
bHBoYSA/ICgoc291cmNlWzNdICogMjU1KSAvIGFscGhhKSA6IDA7CisgICAgICAgICAgICBkZXN0
WzNdID0gYWxwaGE7CisjZW5kaWYKKyAgICAgICAgfQorICAgIH0KKworICAgIHJldHVybiBkZXN0
OwogfQogCiB9Ci0tIAoxLjYuMC40Cgo=
</data>
<flag name="review"
          id="19199"
          type_id="1"
          status="+"
          setter="xan.lopez"
    />
          </attachment>
      

    </bug>

</bugzilla>