<?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>89138</bug_id>
          
          <creation_ts>2012-06-14 16:57:56 -0700</creation_ts>
          <short_desc>[cairo] improve putByteArray speed by avoiding max/min checks at Color construction.</short_desc>
          <delta_ts>2012-06-20 23:09:09 -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>Platform</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</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>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="arno.">a.renevier</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>abarth</cc>
    
    <cc>igor.oliveira</cc>
    
    <cc>mrobinson</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>649640</commentid>
    <comment_count>0</comment_count>
    <who name="arno.">a.renevier</who>
    <bug_when>2012-06-14 16:57:56 -0700</bug_when>
    <thetext>Hi,
as explained in bug #89130, putByteArray constructs Color objects from unsigned char* elements.
Color constructors takes integers arguments and checks they are between 0 and 255.
As arguments are unsigned char*, we known for sure they&apos;re between 0 and 255, so we could probably try to skip this step.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>649649</commentid>
    <comment_count>1</comment_count>
      <attachid>147682</attachid>
    <who name="arno.">a.renevier</who>
    <bug_when>2012-06-14 17:10:07 -0700</bug_when>
    <thetext>Created attachment 147682
patch proposal</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>651725</commentid>
    <comment_count>2</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2012-06-18 14:28:35 -0700</bug_when>
    <thetext>Is it possible to simply have an unsigned char constructor for Color?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>652667</commentid>
    <comment_count>3</comment_count>
      <attachid>148385</attachid>
    <who name="arno.">a.renevier</who>
    <bug_when>2012-06-19 12:03:02 -0700</bug_when>
    <thetext>Created attachment 148385
updated patch: unsigned char constructor for Color</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>652684</commentid>
    <comment_count>4</comment_count>
      <attachid>148385</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2012-06-19 12:26:58 -0700</bug_when>
    <thetext>Comment on attachment 148385
updated patch: unsigned char constructor for Color

View in context: https://bugs.webkit.org/attachment.cgi?id=148385&amp;action=review

&gt; Source/WebCore/platform/graphics/Color.h:75
&gt; +inline RGBA32 makeRGBUnsafe(int r, int g, int b)
&gt; +{
&gt; +    return 0xFF000000 | r &lt;&lt; 16 | g &lt;&lt; 8 | b;
&gt; +}
&gt; +
&gt; +inline RGBA32 makeRGBAUnsafe(int r, int g, int b, int a)
&gt; +{
&gt; +    return a &lt;&lt; 24 | r &lt;&lt; 16 | g &lt;&lt; 8 | b;
&gt; +}
&gt; +

Why not simply override these methods as well to take unsigneds?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>652710</commentid>
    <comment_count>5</comment_count>
      <attachid>148385</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-06-19 13:03:42 -0700</bug_when>
    <thetext>Comment on attachment 148385
updated patch: unsigned char constructor for Color

Attachment 148385 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/12992015</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>652726</commentid>
    <comment_count>6</comment_count>
      <attachid>148404</attachid>
    <who name="arno.">a.renevier</who>
    <bug_when>2012-06-19 13:19:07 -0700</bug_when>
    <thetext>Created attachment 148404
patch v2.1: prevents build failure on mac</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>652731</commentid>
    <comment_count>7</comment_count>
      <attachid>148404</attachid>
    <who name="Igor Trindade Oliveira">igor.oliveira</who>
    <bug_when>2012-06-19 13:22:08 -0700</bug_when>
    <thetext>Comment on attachment 148404
patch v2.1: prevents build failure on mac

View in context: https://bugs.webkit.org/attachment.cgi?id=148404&amp;action=review

&gt; Source/WebCore/platform/graphics/cg/ImageCG.cpp:131
&gt; +            m_solidColor = Color(pixel[0] * 255 / pixel[3], pixel[1] * 255 / pixel[3], pixel[2] * 255 / pixel[3], (int)pixel[3]);

nit: normally we use c++ cast.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>652913</commentid>
    <comment_count>8</comment_count>
      <attachid>148449</attachid>
    <who name="arno.">a.renevier</who>
    <bug_when>2012-06-19 15:59:09 -0700</bug_when>
    <thetext>Created attachment 148449
patch v2.2: using static_cast</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>653037</commentid>
    <comment_count>9</comment_count>
    <who name="arno.">a.renevier</who>
    <bug_when>2012-06-19 17:34:47 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; (From update of attachment 148385 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=148385&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/platform/graphics/Color.h:75
&gt; &gt; +inline RGBA32 makeRGBUnsafe(int r, int g, int b)
&gt; &gt; +{
&gt; &gt; +    return 0xFF000000 | r &lt;&lt; 16 | g &lt;&lt; 8 | b;
&gt; &gt; +}
&gt; &gt; +
&gt; &gt; +inline RGBA32 makeRGBAUnsafe(int r, int g, int b, int a)
&gt; &gt; +{
&gt; &gt; +    return a &lt;&lt; 24 | r &lt;&lt; 16 | g &lt;&lt; 8 | b;
&gt; &gt; +}
&gt; &gt; +
&gt; 
&gt; Why not simply override these methods as well to take unsigneds?

Because some parts of the code call makeRGB(float, ), and if we make makeRGB(unsigned char), those calls would become redundant. Also, maybe in some cases, it would be convenient to call makeRGBUnsafe with integers if we already known those integers are between 0 and 255 (I&apos;m thinking for example at the colorFromPremultipliedARGB function)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>653060</commentid>
    <comment_count>10</comment_count>
    <who name="arno.">a.renevier</who>
    <bug_when>2012-06-19 17:57:31 -0700</bug_when>
    <thetext>ccing adam barth as he&apos;s among one of the most few people to have review Color.h changes recently.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>653120</commentid>
    <comment_count>11</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-06-19 20:07:15 -0700</bug_when>
    <thetext>Is there a measurable performance gain from this change?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>653670</commentid>
    <comment_count>12</comment_count>
    <who name="arno.">a.renevier</who>
    <bug_when>2012-06-20 11:15:03 -0700</bug_when>
    <thetext>(In reply to comment #11)
&gt; Is there a measurable performance gain from this change?

http://renevier.net/misc/webkit_89138.html
calls getImageData 100 times. Time it takes goes from 220ms to 165ms with GtkLauncher (185ms if function is not inlined)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>653801</commentid>
    <comment_count>13</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-06-20 12:58:24 -0700</bug_when>
    <thetext>This change seems valuable, but I&apos;m slightly worried that it introduces a subtle overloading of the constructor.  I wonder if it would make more sense to introduce a new static function for creating these objects so callers can be explicit about whether they want to unchecked version.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>653900</commentid>
    <comment_count>14</comment_count>
      <attachid>148657</attachid>
    <who name="arno.">a.renevier</who>
    <bug_when>2012-06-20 14:35:55 -0700</bug_when>
    <thetext>Created attachment 148657
patch v2.3: Color::createUnChecked function</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>654074</commentid>
    <comment_count>15</comment_count>
      <attachid>148657</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-06-20 17:59:08 -0700</bug_when>
    <thetext>Comment on attachment 148657
patch v2.3: Color::createUnChecked function

This looks much better.  Thanks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>654271</commentid>
    <comment_count>16</comment_count>
      <attachid>148657</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-06-20 23:09:04 -0700</bug_when>
    <thetext>Comment on attachment 148657
patch v2.3: Color::createUnChecked function

Clearing flags on attachment: 148657

Committed r120905: &lt;http://trac.webkit.org/changeset/120905&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>654272</commentid>
    <comment_count>17</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-06-20 23:09:09 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>147682</attachid>
            <date>2012-06-14 17:10:07 -0700</date>
            <delta_ts>2012-06-19 12:02:57 -0700</delta_ts>
            <desc>patch proposal</desc>
            <filename>bug-89138-20120614171005.patch</filename>
            <type>text/plain</type>
            <size>2241</size>
            <attacher name="arno.">a.renevier</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIwMTAzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjdjNmYzYmEyM2NjN2Q3
ZTU5M2YwZjZkM2Q2MzExNmJiMzJlYjk1OS4uNjdlMmNkYzQxODlmYWJjOGM3YTk4ZmZmYjRmYTY2
M2M5N2ZjMjNiYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDEyLTA2LTE0ICBBcm5h
dWQgUmVuZXZpZXIgIDxhcm5vQHJlbmV2aWVyLm5ldD4KKworICAgICAgICBbY2Fpcm9dIGltcHJv
dmUgcHV0Qnl0ZUFycmF5IHNwZWVkIGJ5IGF2b2lkaW5nIG1heC9taW4gY2hlY2tzIGF0IENvbG9y
IGNvbnN0cnVjdGlvbi4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTg5MTM4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgQ2FsbCBDb2xvciBjb25zdHJ1Y3RvciB3aXRoIGEgUkdCQTMyIGluc3RlYWQgb2YgY2Fs
bGluZyBpdCB3aXRoCisgICAgICAgIHVuc2lnbmVkIGNoYXIgYXJndW1lbnRzLiBTbyB3ZSBjYW4g
c2FmZWx5IHNraXAgdGhlIGJvdW5kIGNoZWNrcyBpbgorICAgICAgICBDb2xvciBjb25zdHJ1Y3Rv
ci4gVGhpcyBtYWtlcyBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQucHV0SW1hZ2VEYXRhCisgICAg
ICAgIGZhc3RlciBieSBhYm91dCAyMCUKKworICAgICAgICBObyBuZXcgdGVzdHM6IG5vIGJlaGF2
aW91ciBjaGFuZ2UKKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0ltYWdlQnVm
ZmVyQ2Fpcm8uY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW1hZ2VCdWZmZXI6OnB1dEJ5dGVBcnJh
eSk6CisKIDIwMTItMDYtMTIgIFNhbWkgS3lvc3RpbGEgIDxza3lvc3RpbEBjaHJvbWl1bS5vcmc+
CiAKICAgICAgICAgW2Nocm9taXVtXSBEb24ndCBjcmFzaCBpbiBDQ0xheWVySXRlcmF0b3IgaWYg
dGhlIHJvb3QgbGF5ZXIgZG9lc24ndCBoYXZlIGEgcmVuZGVyIHN1cmZhY2UKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0ltYWdlQnVmZmVyQ2Fpcm8u
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vSW1hZ2VCdWZmZXJD
YWlyby5jcHAKaW5kZXggMmVkNmJkNjlhNDE1MjA0MDEzZjA1MThlMmIzZjY2ZGIyZWJlOTFlMS4u
NDRiODY4NGI1MGY4YWQwMDM5ZmE1YzA1Mzc3MDkyMDIxMzc3YmMxMyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vSW1hZ2VCdWZmZXJDYWlyby5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vSW1hZ2VCdWZmZXJD
YWlyby5jcHAKQEAgLTI0MSwxMCArMjQxLDEzIEBAIHZvaWQgSW1hZ2VCdWZmZXI6OnB1dEJ5dGVB
cnJheShNdWx0aXBseSBtdWx0aXBsaWVkLCBVaW50OENsYW1wZWRBcnJheSogc291cmNlLCBjCiAg
ICAgICAgIGZvciAoaW50IHggPSAwOyB4IDwgbnVtQ29sdW1uczsgeCsrKSB7CiAgICAgICAgICAg
ICBpbnQgYmFzZXggPSB4ICogNDsKICAgICAgICAgICAgIHVuc2lnbmVkKiBwaXhlbCA9IHJvdyAr
IHggKyBkZXN0eDsKLSAgICAgICAgICAgIENvbG9yIHBpeGVsQ29sb3Ioc3JjUm93c1tiYXNleF0s
Ci0gICAgICAgICAgICAgICAgICAgIHNyY1Jvd3NbYmFzZXggKyAxXSwKLSAgICAgICAgICAgICAg
ICAgICAgc3JjUm93c1tiYXNleCArIDJdLAotICAgICAgICAgICAgICAgICAgICBzcmNSb3dzW2Jh
c2V4ICsgM10pOworCisgICAgICAgICAgICB1bnNpZ25lZCBjaGFyIGEgPSBzcmNSb3dzW2Jhc2V4
ICsgM107CisgICAgICAgICAgICB1bnNpZ25lZCBjaGFyIHIgPSBzcmNSb3dzW2Jhc2V4XTsKKyAg
ICAgICAgICAgIHVuc2lnbmVkIGNoYXIgZyA9IHNyY1Jvd3NbYmFzZXggKyAxXTsKKyAgICAgICAg
ICAgIHVuc2lnbmVkIGNoYXIgYiA9IHNyY1Jvd3NbYmFzZXggKyAyXTsKKworICAgICAgICAgICAg
Q29sb3IgcGl4ZWxDb2xvcigoUkdCQTMyKShhIDw8IDI0IHwgciA8PCAxNiB8IGcgPDwgOCB8IGIp
KTsKICAgICAgICAgICAgIGlmIChtdWx0aXBsaWVkID09IFVubXVsdGlwbGllZCkKICAgICAgICAg
ICAgICAgICAqcGl4ZWwgPSBwcmVtdWx0aXBsaWVkQVJHQkZyb21Db2xvcihwaXhlbENvbG9yKTsK
ICAgICAgICAgICAgIGVsc2UK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>148385</attachid>
            <date>2012-06-19 12:03:02 -0700</date>
            <delta_ts>2012-06-19 13:18:59 -0700</delta_ts>
            <desc>updated patch: unsigned char constructor for Color</desc>
            <filename>bug-89138-20120619120301.patch</filename>
            <type>text/plain</type>
            <size>2643</size>
            <attacher name="arno.">a.renevier</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIwMTAzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzJjN2RmNGZhODI5MjJi
OWQwNmY3NzdkOGI5NGNhZmRiYmMxY2E4MS4uZWRjZmFiMWZkZTgxNDc2YzQ4MzI0NWVkYWIzNmUy
NzU3NzVlNzI1OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDEyLTA2LTE0ICBBcm5h
dWQgUmVuZXZpZXIgIDxhcm5vQHJlbmV2aWVyLm5ldD4KKworICAgICAgICBhdm9pZCBtaW4gYW5k
IG1heCBjaGVjayBpbiBDb2xvciBjb25zdHJ1Y3RvciB3aGVuIG5lZWRlZC4KKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg5MTM4CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQ29sb3IgY29uc3RydWN0b3IgYWNj
ZXB0cyBpbnRlZ2VyIGFyZ3VtZW50cyBhbmQgY2hlY2tzIGlmIHRoZXkgYXJlCisgICAgICAgIGJl
dHdlZW4gMCBhbmQgMjU1LiBXaGVuIHVzaW5nIHVuc2lnbmVkIGNoYXJzLCB3ZSBjYW4gYXZvaWQg
dGhvc2UKKyAgICAgICAgY2hlY2tzLiBTbyB0aGlzIHBhdGNoIGludHJvZHVjZXMgbWFrZVJHQlVu
c2FmZSBhbmQgbWFrZVJHQkFVbnNhZmUKKyAgICAgICAgd2hpY2ggZG8gbm8gY2hlY2sgZm9yIGJv
dW5kYXJpZXMuIFRoZXNlIGZ1bmN0aW9uIGFyZSB1c2VkIGZvciBDb2xvcgorICAgICAgICB1bnNp
Z25lZCBjaGFyIGNvbnN0cnVjdG9yLgorCisgICAgICAgIE5vIG5ldyB0ZXN0czogbm8gYmVoYXZp
b3VyIGNoYW5nZQorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vSW1hZ2VCdWZm
ZXJDYWlyby5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbWFnZUJ1ZmZlcjo6cHV0Qnl0ZUFycmF5
KToKKwogMjAxMi0wNi0xNSAgQXJuYXVkIFJlbmV2aWVyICA8YXJub0ByZW5ldmllci5uZXQ+CiAK
ICAgICAgICAgY29weUNhaXJvSW1hZ2VTdXJmYWNlIHNpbXBsaWZpY2F0aW9uCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Db2xvci5oIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvQ29sb3IuaAppbmRleCBkZGZlMjBmMDYzNzM3NWIxOGZkNzYx
MDBhM2UzOGExNjQxZDI0MTViLi45MWJkYmYxOTBhMGExMTdhYzE2ZTQyNmU5OWFjOWY2Y2RiY2I1
OTcxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Db2xvci5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0NvbG9yLmgKQEAgLTYzLDYg
KzYzLDE3IEBAIHR5cGVkZWYgdW5zaWduZWQgUkdCQTMyOyAgICAgICAgLy8gUkdCQSBxdWFkcnVw
bGV0CiBSR0JBMzIgbWFrZVJHQihpbnQgciwgaW50IGcsIGludCBiKTsKIFJHQkEzMiBtYWtlUkdC
QShpbnQgciwgaW50IGcsIGludCBiLCBpbnQgYSk7CiAKK2lubGluZSBSR0JBMzIgbWFrZVJHQlVu
c2FmZShpbnQgciwgaW50IGcsIGludCBiKQoreworICAgIHJldHVybiAweEZGMDAwMDAwIHwgciA8
PCAxNiB8IGcgPDwgOCB8IGI7Cit9CisKK2lubGluZSBSR0JBMzIgbWFrZVJHQkFVbnNhZmUoaW50
IHIsIGludCBnLCBpbnQgYiwgaW50IGEpCit7CisgICAgcmV0dXJuIGEgPDwgMjQgfCByIDw8IDE2
IHwgZyA8PCA4IHwgYjsKK30KKworCiBSR0JBMzIgY29sb3JXaXRoT3ZlcnJpZGVBbHBoYShSR0JB
MzIgY29sb3IsIGZsb2F0IG92ZXJyaWRlQWxwaGEpOwogUkdCQTMyIG1ha2VSR0JBMzJGcm9tRmxv
YXRzKGZsb2F0IHIsIGZsb2F0IGcsIGZsb2F0IGIsIGZsb2F0IGEpOwogUkdCQTMyIG1ha2VSR0JB
RnJvbUhTTEEoZG91YmxlIGgsIGRvdWJsZSBzLCBkb3VibGUgbCwgZG91YmxlIGEpOwpAQCAtODAs
NiArOTEsOCBAQCBjbGFzcyBDb2xvciB7CiBwdWJsaWM6CiAgICAgQ29sb3IoKSA6IG1fY29sb3Io
MCksIG1fdmFsaWQoZmFsc2UpIHsgfQogICAgIENvbG9yKFJHQkEzMiBjb2xvciwgYm9vbCB2YWxp
ZCA9IHRydWUpIDogbV9jb2xvcihjb2xvciksIG1fdmFsaWQodmFsaWQpIHsgQVNTRVJUKCFtX2Nv
bG9yIHx8IG1fdmFsaWQpOyB9CisgICAgQ29sb3IodW5zaWduZWQgY2hhciByLCB1bnNpZ25lZCBj
aGFyIGcsIHVuc2lnbmVkIGNoYXIgYikgOiBtX2NvbG9yKG1ha2VSR0JVbnNhZmUociwgZywgYikp
LCBtX3ZhbGlkKHRydWUpIHsgfQorICAgIENvbG9yKHVuc2lnbmVkIGNoYXIgciwgdW5zaWduZWQg
Y2hhciBnLCB1bnNpZ25lZCBjaGFyIGIsIHVuc2lnbmVkIGNoYXIgYSkgOiBtX2NvbG9yKG1ha2VS
R0JBVW5zYWZlKHIsIGcsIGIsIGEpKSwgbV92YWxpZCh0cnVlKSB7IH0KICAgICBDb2xvcihpbnQg
ciwgaW50IGcsIGludCBiKSA6IG1fY29sb3IobWFrZVJHQihyLCBnLCBiKSksIG1fdmFsaWQodHJ1
ZSkgeyB9CiAgICAgQ29sb3IoaW50IHIsIGludCBnLCBpbnQgYiwgaW50IGEpIDogbV9jb2xvciht
YWtlUkdCQShyLCBnLCBiLCBhKSksIG1fdmFsaWQodHJ1ZSkgeyB9CiAgICAgLy8gQ29sb3IgaXMg
Y3VycmVudGx5IGxpbWl0ZWQgdG8gMzJiaXQgUkdCQSwgcGVyaGFwcyBzb21lIGRheSB3ZSdsbCBz
dXBwb3J0IGJldHRlciBjb2xvcnMK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>148404</attachid>
            <date>2012-06-19 13:19:07 -0700</date>
            <delta_ts>2012-06-19 15:59:01 -0700</delta_ts>
            <desc>patch v2.1: prevents build failure on mac</desc>
            <filename>bug-89138-20120619131905.patch</filename>
            <type>text/plain</type>
            <size>3562</size>
            <attacher name="arno.">a.renevier</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIwMTAzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzJjN2RmNGZhODI5MjJi
OWQwNmY3NzdkOGI5NGNhZmRiYmMxY2E4MS4uZTY3ZTUzOWMwZjRhNDBmMThmZjczNTZiMDE5ZGQy
MTVkMjVjNmQ2YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDEyLTA2LTE5ICBBcm5h
dWQgUmVuZXZpZXIgIDxhcm5vQHJlbmV2aWVyLm5ldD4KKworICAgICAgICBhdm9pZCBtaW4gYW5k
IG1heCBjaGVjayBpbiBDb2xvciBjb25zdHJ1Y3RvciB3aGVuIG5lZWRlZC4KKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg5MTM4CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQ29sb3IgY29uc3RydWN0b3IgYWNj
ZXB0cyBpbnRlZ2VyIGFyZ3VtZW50cyBhbmQgY2hlY2tzIGlmIHRoZXkgYXJlCisgICAgICAgIGJl
dHdlZW4gMCBhbmQgMjU1LiBXaGVuIHVzaW5nIHVuc2lnbmVkIGNoYXJzLCB3ZSBjYW4gYXZvaWQg
dGhvc2UKKyAgICAgICAgY2hlY2tzLiBTbyB0aGlzIHBhdGNoIGludHJvZHVjZXMgbWFrZVJHQlVu
c2FmZSBhbmQgbWFrZVJHQkFVbnNhZmUKKyAgICAgICAgd2hpY2ggZG8gbm8gY2hlY2sgZm9yIGJv
dW5kYXJpZXMuIFRoZXNlIGZ1bmN0aW9uIGFyZSB1c2VkIGZvciBDb2xvcgorICAgICAgICB1bnNp
Z25lZCBjaGFyIGNvbnN0cnVjdG9yLgorCisgICAgICAgIE5vIG5ldyB0ZXN0czogbm8gYmVoYXZp
b3VyIGNoYW5nZQorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvQ29sb3IuaDoKKyAgICAg
ICAgKFdlYkNvcmU6Om1ha2VSR0JVbnNhZmUpOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAg
IChXZWJDb3JlOjptYWtlUkdCQVVuc2FmZSk6CisgICAgICAgIChXZWJDb3JlOjpDb2xvcjo6Q29s
b3IpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NnL0ltYWdlQ0cuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6Qml0bWFwSW1hZ2U6OmNoZWNrRm9yU29saWRDb2xvcik6CisKIDIwMTItMDYt
MTUgIEFybmF1ZCBSZW5ldmllciAgPGFybm9AcmVuZXZpZXIubmV0PgogCiAgICAgICAgIGNvcHlD
YWlyb0ltYWdlU3VyZmFjZSBzaW1wbGlmaWNhdGlvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvQ29sb3IuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL0NvbG9yLmgKaW5kZXggZGRmZTIwZjA2MzczNzViMThmZDc2MTAwYTNlMzhhMTY0MWQy
NDE1Yi4uOTFiZGJmMTkwYTBhMTE3YWMxNmU0MjZlOTlhYzlmNmNkYmNiNTk3MSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQ29sb3IuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Db2xvci5oCkBAIC02Myw2ICs2MywxNyBAQCB0eXBl
ZGVmIHVuc2lnbmVkIFJHQkEzMjsgICAgICAgIC8vIFJHQkEgcXVhZHJ1cGxldAogUkdCQTMyIG1h
a2VSR0IoaW50IHIsIGludCBnLCBpbnQgYik7CiBSR0JBMzIgbWFrZVJHQkEoaW50IHIsIGludCBn
LCBpbnQgYiwgaW50IGEpOwogCitpbmxpbmUgUkdCQTMyIG1ha2VSR0JVbnNhZmUoaW50IHIsIGlu
dCBnLCBpbnQgYikKK3sKKyAgICByZXR1cm4gMHhGRjAwMDAwMCB8IHIgPDwgMTYgfCBnIDw8IDgg
fCBiOworfQorCitpbmxpbmUgUkdCQTMyIG1ha2VSR0JBVW5zYWZlKGludCByLCBpbnQgZywgaW50
IGIsIGludCBhKQoreworICAgIHJldHVybiBhIDw8IDI0IHwgciA8PCAxNiB8IGcgPDwgOCB8IGI7
Cit9CisKKwogUkdCQTMyIGNvbG9yV2l0aE92ZXJyaWRlQWxwaGEoUkdCQTMyIGNvbG9yLCBmbG9h
dCBvdmVycmlkZUFscGhhKTsKIFJHQkEzMiBtYWtlUkdCQTMyRnJvbUZsb2F0cyhmbG9hdCByLCBm
bG9hdCBnLCBmbG9hdCBiLCBmbG9hdCBhKTsKIFJHQkEzMiBtYWtlUkdCQUZyb21IU0xBKGRvdWJs
ZSBoLCBkb3VibGUgcywgZG91YmxlIGwsIGRvdWJsZSBhKTsKQEAgLTgwLDYgKzkxLDggQEAgY2xh
c3MgQ29sb3IgewogcHVibGljOgogICAgIENvbG9yKCkgOiBtX2NvbG9yKDApLCBtX3ZhbGlkKGZh
bHNlKSB7IH0KICAgICBDb2xvcihSR0JBMzIgY29sb3IsIGJvb2wgdmFsaWQgPSB0cnVlKSA6IG1f
Y29sb3IoY29sb3IpLCBtX3ZhbGlkKHZhbGlkKSB7IEFTU0VSVCghbV9jb2xvciB8fCBtX3ZhbGlk
KTsgfQorICAgIENvbG9yKHVuc2lnbmVkIGNoYXIgciwgdW5zaWduZWQgY2hhciBnLCB1bnNpZ25l
ZCBjaGFyIGIpIDogbV9jb2xvcihtYWtlUkdCVW5zYWZlKHIsIGcsIGIpKSwgbV92YWxpZCh0cnVl
KSB7IH0KKyAgICBDb2xvcih1bnNpZ25lZCBjaGFyIHIsIHVuc2lnbmVkIGNoYXIgZywgdW5zaWdu
ZWQgY2hhciBiLCB1bnNpZ25lZCBjaGFyIGEpIDogbV9jb2xvcihtYWtlUkdCQVVuc2FmZShyLCBn
LCBiLCBhKSksIG1fdmFsaWQodHJ1ZSkgeyB9CiAgICAgQ29sb3IoaW50IHIsIGludCBnLCBpbnQg
YikgOiBtX2NvbG9yKG1ha2VSR0IociwgZywgYikpLCBtX3ZhbGlkKHRydWUpIHsgfQogICAgIENv
bG9yKGludCByLCBpbnQgZywgaW50IGIsIGludCBhKSA6IG1fY29sb3IobWFrZVJHQkEociwgZywg
YiwgYSkpLCBtX3ZhbGlkKHRydWUpIHsgfQogICAgIC8vIENvbG9yIGlzIGN1cnJlbnRseSBsaW1p
dGVkIHRvIDMyYml0IFJHQkEsIHBlcmhhcHMgc29tZSBkYXkgd2UnbGwgc3VwcG9ydCBiZXR0ZXIg
Y29sb3JzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9J
bWFnZUNHLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0ltYWdlQ0cu
Y3BwCmluZGV4IDlkZDQ1NDEyMGY4N2QwZmQxYTU5YmE2OGRiNjAyN2RlNDg2NWZiMGQuLjM0NDU4
ODJkZGM0ZmI2NGEwM2E2OTBjNzQyZGNiYmI4MjUwMzg1NjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0ltYWdlQ0cuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0ltYWdlQ0cuY3BwCkBAIC0xMjgsNyArMTI4LDcgQEAg
dm9pZCBCaXRtYXBJbWFnZTo6Y2hlY2tGb3JTb2xpZENvbG9yKCkKICAgICAgICAgaWYgKHBpeGVs
WzNdID09IDApCiAgICAgICAgICAgICBtX3NvbGlkQ29sb3IgPSBDb2xvcigwLCAwLCAwLCAwKTsK
ICAgICAgICAgZWxzZQotICAgICAgICAgICAgbV9zb2xpZENvbG9yID0gQ29sb3IocGl4ZWxbMF0g
KiAyNTUgLyBwaXhlbFszXSwgcGl4ZWxbMV0gKiAyNTUgLyBwaXhlbFszXSwgcGl4ZWxbMl0gKiAy
NTUgLyBwaXhlbFszXSwgcGl4ZWxbM10pOworICAgICAgICAgICAgbV9zb2xpZENvbG9yID0gQ29s
b3IocGl4ZWxbMF0gKiAyNTUgLyBwaXhlbFszXSwgcGl4ZWxbMV0gKiAyNTUgLyBwaXhlbFszXSwg
cGl4ZWxbMl0gKiAyNTUgLyBwaXhlbFszXSwgKGludClwaXhlbFszXSk7CiAgICAgICAgIG1faXNT
b2xpZENvbG9yID0gdHJ1ZTsKICAgICB9CiB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>148449</attachid>
            <date>2012-06-19 15:59:09 -0700</date>
            <delta_ts>2012-06-20 14:35:49 -0700</delta_ts>
            <desc>patch v2.2: using static_cast</desc>
            <filename>bug-89138-20120619155906.patch</filename>
            <type>text/plain</type>
            <size>3575</size>
            <attacher name="arno.">a.renevier</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIwMTAzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzJjN2RmNGZhODI5MjJi
OWQwNmY3NzdkOGI5NGNhZmRiYmMxY2E4MS4uZTY3ZTUzOWMwZjRhNDBmMThmZjczNTZiMDE5ZGQy
MTVkMjVjNmQ2YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDEyLTA2LTE5ICBBcm5h
dWQgUmVuZXZpZXIgIDxhcm5vQHJlbmV2aWVyLm5ldD4KKworICAgICAgICBhdm9pZCBtaW4gYW5k
IG1heCBjaGVjayBpbiBDb2xvciBjb25zdHJ1Y3RvciB3aGVuIG5lZWRlZC4KKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg5MTM4CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQ29sb3IgY29uc3RydWN0b3IgYWNj
ZXB0cyBpbnRlZ2VyIGFyZ3VtZW50cyBhbmQgY2hlY2tzIGlmIHRoZXkgYXJlCisgICAgICAgIGJl
dHdlZW4gMCBhbmQgMjU1LiBXaGVuIHVzaW5nIHVuc2lnbmVkIGNoYXJzLCB3ZSBjYW4gYXZvaWQg
dGhvc2UKKyAgICAgICAgY2hlY2tzLiBTbyB0aGlzIHBhdGNoIGludHJvZHVjZXMgbWFrZVJHQlVu
c2FmZSBhbmQgbWFrZVJHQkFVbnNhZmUKKyAgICAgICAgd2hpY2ggZG8gbm8gY2hlY2sgZm9yIGJv
dW5kYXJpZXMuIFRoZXNlIGZ1bmN0aW9uIGFyZSB1c2VkIGZvciBDb2xvcgorICAgICAgICB1bnNp
Z25lZCBjaGFyIGNvbnN0cnVjdG9yLgorCisgICAgICAgIE5vIG5ldyB0ZXN0czogbm8gYmVoYXZp
b3VyIGNoYW5nZQorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvQ29sb3IuaDoKKyAgICAg
ICAgKFdlYkNvcmU6Om1ha2VSR0JVbnNhZmUpOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAg
IChXZWJDb3JlOjptYWtlUkdCQVVuc2FmZSk6CisgICAgICAgIChXZWJDb3JlOjpDb2xvcjo6Q29s
b3IpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NnL0ltYWdlQ0cuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6Qml0bWFwSW1hZ2U6OmNoZWNrRm9yU29saWRDb2xvcik6CisKIDIwMTItMDYt
MTUgIEFybmF1ZCBSZW5ldmllciAgPGFybm9AcmVuZXZpZXIubmV0PgogCiAgICAgICAgIGNvcHlD
YWlyb0ltYWdlU3VyZmFjZSBzaW1wbGlmaWNhdGlvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvQ29sb3IuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL0NvbG9yLmgKaW5kZXggZGRmZTIwZjA2MzczNzViMThmZDc2MTAwYTNlMzhhMTY0MWQy
NDE1Yi4uOTFiZGJmMTkwYTBhMTE3YWMxNmU0MjZlOTlhYzlmNmNkYmNiNTk3MSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQ29sb3IuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Db2xvci5oCkBAIC02Myw2ICs2MywxNyBAQCB0eXBl
ZGVmIHVuc2lnbmVkIFJHQkEzMjsgICAgICAgIC8vIFJHQkEgcXVhZHJ1cGxldAogUkdCQTMyIG1h
a2VSR0IoaW50IHIsIGludCBnLCBpbnQgYik7CiBSR0JBMzIgbWFrZVJHQkEoaW50IHIsIGludCBn
LCBpbnQgYiwgaW50IGEpOwogCitpbmxpbmUgUkdCQTMyIG1ha2VSR0JVbnNhZmUoaW50IHIsIGlu
dCBnLCBpbnQgYikKK3sKKyAgICByZXR1cm4gMHhGRjAwMDAwMCB8IHIgPDwgMTYgfCBnIDw8IDgg
fCBiOworfQorCitpbmxpbmUgUkdCQTMyIG1ha2VSR0JBVW5zYWZlKGludCByLCBpbnQgZywgaW50
IGIsIGludCBhKQoreworICAgIHJldHVybiBhIDw8IDI0IHwgciA8PCAxNiB8IGcgPDwgOCB8IGI7
Cit9CisKKwogUkdCQTMyIGNvbG9yV2l0aE92ZXJyaWRlQWxwaGEoUkdCQTMyIGNvbG9yLCBmbG9h
dCBvdmVycmlkZUFscGhhKTsKIFJHQkEzMiBtYWtlUkdCQTMyRnJvbUZsb2F0cyhmbG9hdCByLCBm
bG9hdCBnLCBmbG9hdCBiLCBmbG9hdCBhKTsKIFJHQkEzMiBtYWtlUkdCQUZyb21IU0xBKGRvdWJs
ZSBoLCBkb3VibGUgcywgZG91YmxlIGwsIGRvdWJsZSBhKTsKQEAgLTgwLDYgKzkxLDggQEAgY2xh
c3MgQ29sb3IgewogcHVibGljOgogICAgIENvbG9yKCkgOiBtX2NvbG9yKDApLCBtX3ZhbGlkKGZh
bHNlKSB7IH0KICAgICBDb2xvcihSR0JBMzIgY29sb3IsIGJvb2wgdmFsaWQgPSB0cnVlKSA6IG1f
Y29sb3IoY29sb3IpLCBtX3ZhbGlkKHZhbGlkKSB7IEFTU0VSVCghbV9jb2xvciB8fCBtX3ZhbGlk
KTsgfQorICAgIENvbG9yKHVuc2lnbmVkIGNoYXIgciwgdW5zaWduZWQgY2hhciBnLCB1bnNpZ25l
ZCBjaGFyIGIpIDogbV9jb2xvcihtYWtlUkdCVW5zYWZlKHIsIGcsIGIpKSwgbV92YWxpZCh0cnVl
KSB7IH0KKyAgICBDb2xvcih1bnNpZ25lZCBjaGFyIHIsIHVuc2lnbmVkIGNoYXIgZywgdW5zaWdu
ZWQgY2hhciBiLCB1bnNpZ25lZCBjaGFyIGEpIDogbV9jb2xvcihtYWtlUkdCQVVuc2FmZShyLCBn
LCBiLCBhKSksIG1fdmFsaWQodHJ1ZSkgeyB9CiAgICAgQ29sb3IoaW50IHIsIGludCBnLCBpbnQg
YikgOiBtX2NvbG9yKG1ha2VSR0IociwgZywgYikpLCBtX3ZhbGlkKHRydWUpIHsgfQogICAgIENv
bG9yKGludCByLCBpbnQgZywgaW50IGIsIGludCBhKSA6IG1fY29sb3IobWFrZVJHQkEociwgZywg
YiwgYSkpLCBtX3ZhbGlkKHRydWUpIHsgfQogICAgIC8vIENvbG9yIGlzIGN1cnJlbnRseSBsaW1p
dGVkIHRvIDMyYml0IFJHQkEsIHBlcmhhcHMgc29tZSBkYXkgd2UnbGwgc3VwcG9ydCBiZXR0ZXIg
Y29sb3JzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9J
bWFnZUNHLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0ltYWdlQ0cu
Y3BwCmluZGV4IDlkZDQ1NDEyMGY4N2QwZmQxYTU5YmE2OGRiNjAyN2RlNDg2NWZiMGQuLjMwZjMw
NzA0NDlhMGMyOGNlNjEzOGVmODNkNDZkMDU0ZTA4MzNiMGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0ltYWdlQ0cuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0ltYWdlQ0cuY3BwCkBAIC0xMjgsNyArMTI4LDcgQEAg
dm9pZCBCaXRtYXBJbWFnZTo6Y2hlY2tGb3JTb2xpZENvbG9yKCkKICAgICAgICAgaWYgKHBpeGVs
WzNdID09IDApCiAgICAgICAgICAgICBtX3NvbGlkQ29sb3IgPSBDb2xvcigwLCAwLCAwLCAwKTsK
ICAgICAgICAgZWxzZQotICAgICAgICAgICAgbV9zb2xpZENvbG9yID0gQ29sb3IocGl4ZWxbMF0g
KiAyNTUgLyBwaXhlbFszXSwgcGl4ZWxbMV0gKiAyNTUgLyBwaXhlbFszXSwgcGl4ZWxbMl0gKiAy
NTUgLyBwaXhlbFszXSwgcGl4ZWxbM10pOworICAgICAgICAgICAgbV9zb2xpZENvbG9yID0gQ29s
b3IocGl4ZWxbMF0gKiAyNTUgLyBwaXhlbFszXSwgcGl4ZWxbMV0gKiAyNTUgLyBwaXhlbFszXSwg
cGl4ZWxbMl0gKiAyNTUgLyBwaXhlbFszXSwgc3RhdGljX2Nhc3Q8aW50PihwaXhlbFszXSkpOwog
ICAgICAgICBtX2lzU29saWRDb2xvciA9IHRydWU7CiAgICAgfQogfQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>148657</attachid>
            <date>2012-06-20 14:35:55 -0700</date>
            <delta_ts>2012-06-20 23:09:04 -0700</delta_ts>
            <desc>patch v2.3: Color::createUnChecked function</desc>
            <filename>bug-89138-20120620143553.patch</filename>
            <type>text/plain</type>
            <size>4527</size>
            <attacher name="arno.">a.renevier</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIwMTAzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjdjNmYzYmEyM2NjN2Q3
ZTU5M2YwZjZkM2Q2MzExNmJiMzJlYjk1OS4uNzVlNTMxZjE3NDJmNjNlYmUwMTMxOTMwNDRmY2Vm
Y2M2MWIzYmU3MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDEyLTA2LTIwICBBcm5h
dWQgUmVuZXZpZXIgIDxhcm5vQHJlbmV2aWVyLm5ldD4KKworICAgICAgICBbY2Fpcm9dIGltcHJv
dmUgcHV0Qnl0ZUFycmF5IHNwZWVkIGJ5IGF2b2lkaW5nIG1heC9taW4gY2hlY2tzIGF0IENvbG9y
IGNvbnN0cnVjdGlvbi4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTg5MTM4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgQ29sb3IgY29uc3RydWN0b3IgYWNjZXB0cyBpbnRlZ2VyIGFyZ3VtZW50cyBhbmQgY2hl
Y2tzIGlmIHRoZXkgYXJlCisgICAgICAgIGJldHdlZW4gMCBhbmQgMjU1LiBJbiBzb21lIGNhc2Vz
LCB3ZSBhbHJlYWR5IGtub3duIHRob3NlIG51bWJlcnMgdG8gYmUKKyAgICAgICAgd2l0aGluIHRo
b3NlIGJvdW5kYXJpZXMuIEZvciBleGFtcGxlIHdoZW4gdXNpbmcgdW5zaWduZWQgY2hhcnMuIFNv
CisgICAgICAgIHRoaXMgcGF0Y2ggaW50cm9kdWNlcyBDb2xvcjo6Y3JlYXRlVW5DaGVja2VkIHdo
aWNoIHJldHVybiBhIENvbG9yCisgICAgICAgIG9iamVjdCB3aXRob3V0IGNoZWNraW5nIGZvciBi
b3VuZGFyaWVzLgorCisgICAgICAgIE5vIG5ldyB0ZXN0czogbm8gYmVoYXZpb3VyIGNoYW5nZQor
CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvQ29sb3IuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6Y29sb3JGcm9tUHJlbXVsdGlwbGllZEFSR0IpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBo
aWNzL0NvbG9yLmg6CisgICAgICAgIChXZWJDb3JlOjpDb2xvcjo6Y3JlYXRlVW5DaGVrZWQpOgor
ICAgICAgICAoQ29sb3IpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0ltYWdl
QnVmZmVyQ2Fpcm8uY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW1hZ2VCdWZmZXI6OnB1dEJ5dGVB
cnJheSk6CisKIDIwMTItMDYtMTIgIFNhbWkgS3lvc3RpbGEgIDxza3lvc3RpbEBjaHJvbWl1bS5v
cmc+CiAKICAgICAgICAgW2Nocm9taXVtXSBEb24ndCBjcmFzaCBpbiBDQ0xheWVySXRlcmF0b3Ig
aWYgdGhlIHJvb3QgbGF5ZXIgZG9lc24ndCBoYXZlIGEgcmVuZGVyIHN1cmZhY2UKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0NvbG9yLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0NvbG9yLmNwcAppbmRleCAyMmY4MTY4NWEwMGQ4MzY0
MjM1YzM0ZDJjN2RmNTI1MWE2N2IwNzY4Li43M2Q4ZTk1ZWQzYTY2ODNiZGEzNGI3MWVmN2ZmNTgz
ZDNiZTZhMzg1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9D
b2xvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQ29sb3IuY3Bw
CkBAIC0zOTcsMTcgKzM5NywxOCBAQCB2b2lkIENvbG9yOjpnZXRIU0woZG91YmxlJiBodWUsIGRv
dWJsZSYgc2F0dXJhdGlvbiwgZG91YmxlJiBsaWdodG5lc3MpIGNvbnN0CiAKIENvbG9yIGNvbG9y
RnJvbVByZW11bHRpcGxpZWRBUkdCKHVuc2lnbmVkIHBpeGVsQ29sb3IpCiB7Ci0gICAgUkdCQTMy
IHJnYmE7CisgICAgQ29sb3IgY29sb3I7CiAKICAgICBpZiAodW5zaWduZWQgYWxwaGEgPSAocGl4
ZWxDb2xvciAmIDB4RkYwMDAwMDApID4+IDI0KSB7Ci0gICAgICAgIHJnYmEgPSBtYWtlUkdCQSgo
KHBpeGVsQ29sb3IgJiAweDAwRkYwMDAwKSA+PiAxNikgKiAyNTUgLyBhbHBoYSwKKyAgICAgICAg
Y29sb3IgPSBDb2xvcjo6Y3JlYXRlVW5DaGVrZWQoCisgICAgICAgICAgICAgICAgICAgICAgICAo
KHBpeGVsQ29sb3IgJiAweDAwRkYwMDAwKSA+PiAxNikgKiAyNTUgLyBhbHBoYSwKICAgICAgICAg
ICAgICAgICAgICAgICAgICgocGl4ZWxDb2xvciAmIDB4MDAwMEZGMDApID4+IDgpICogMjU1IC8g
YWxwaGEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgKHBpeGVsQ29sb3IgJiAweDAwMDAwMEZG
KSAqIDI1NSAvIGFscGhhLAogICAgICAgICAgICAgICAgICAgICAgICAgICBhbHBoYSk7CiAgICAg
fSBlbHNlCi0gICAgICAgIHJnYmEgPSBwaXhlbENvbG9yOworICAgICAgICBjb2xvciA9IENvbG9y
KHBpeGVsQ29sb3IpOwogCi0gICAgcmV0dXJuIENvbG9yKHJnYmEpOworICAgIHJldHVybiBjb2xv
cjsKIH0KIAogdW5zaWduZWQgcHJlbXVsdGlwbGllZEFSR0JGcm9tQ29sb3IoY29uc3QgQ29sb3Im
IGNvbG9yKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQ29s
b3IuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0NvbG9yLmgKaW5kZXggZGRm
ZTIwZjA2MzczNzViMThmZDc2MTAwYTNlMzhhMTY0MWQyNDE1Yi4uNDFkYzBhNGFlNzllZjRjMzA5
ODkxODJmNzNlNjg5NzE4NmMxYzNmNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvQ29sb3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9Db2xvci5oCkBAIC04OSw2ICs4OSwxNyBAQCBwdWJsaWM6CiAgICAgZXhwbGljaXQgQ29sb3Io
Y29uc3QgU3RyaW5nJik7CiAgICAgZXhwbGljaXQgQ29sb3IoY29uc3QgY2hhciopOwogCisgICAg
c3RhdGljIENvbG9yIGNyZWF0ZVVuQ2hla2VkKGludCByLCBpbnQgZywgaW50IGIpIAorICAgIHsK
KyAgICAgICAgUkdCQTMyIGNvbG9yID0gMHhGRjAwMDAwMCB8IHIgPDwgMTYgfCBnIDw8IDggfCBi
OworICAgICAgICByZXR1cm4gQ29sb3IoY29sb3IpOworICAgIH0KKyAgICBzdGF0aWMgQ29sb3Ig
Y3JlYXRlVW5DaGVrZWQoaW50IHIsIGludCBnLCBpbnQgYiwgaW50IGEpIAorICAgIHsKKyAgICAg
ICAgUkdCQTMyIGNvbG9yID0gYSA8PCAyNCB8IHIgPDwgMTYgfCBnIDw8IDggfCBiOworICAgICAg
ICByZXR1cm4gQ29sb3IoY29sb3IpOworICAgIH0KKwogICAgIC8vIFJldHVybnMgdGhlIGNvbG9y
IHNlcmlhbGl6ZWQgYWNjb3JkaW5nIHRvIEhUTUw1CiAgICAgLy8gLSBodHRwOi8vd3d3LndoYXR3
Zy5vcmcvc3BlY3Mvd2ViLWFwcHMvY3VycmVudC13b3JrLyNzZXJpYWxpemF0aW9uLW9mLWEtY29s
b3IKICAgICBTdHJpbmcgc2VyaWFsaXplZCgpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vSW1hZ2VCdWZmZXJDYWlyby5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9JbWFnZUJ1ZmZlckNhaXJvLmNwcApp
bmRleCAyZWQ2YmQ2OWE0MTUyMDQwMTNmMDUxOGUyYjNmNjZkYjJlYmU5MWUxLi41ZTVmNTY4NTMz
NDcwYmNmYjA1MWFjNjI1NmYyMjAxMTdiMWE5ZWEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9JbWFnZUJ1ZmZlckNhaXJvLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9JbWFnZUJ1ZmZlckNhaXJvLmNwcApA
QCAtMjQxLDEwICsyNDEsMTAgQEAgdm9pZCBJbWFnZUJ1ZmZlcjo6cHV0Qnl0ZUFycmF5KE11bHRp
cGx5IG11bHRpcGxpZWQsIFVpbnQ4Q2xhbXBlZEFycmF5KiBzb3VyY2UsIGMKICAgICAgICAgZm9y
IChpbnQgeCA9IDA7IHggPCBudW1Db2x1bW5zOyB4KyspIHsKICAgICAgICAgICAgIGludCBiYXNl
eCA9IHggKiA0OwogICAgICAgICAgICAgdW5zaWduZWQqIHBpeGVsID0gcm93ICsgeCArIGRlc3R4
OwotICAgICAgICAgICAgQ29sb3IgcGl4ZWxDb2xvcihzcmNSb3dzW2Jhc2V4XSwKLSAgICAgICAg
ICAgICAgICAgICAgc3JjUm93c1tiYXNleCArIDFdLAotICAgICAgICAgICAgICAgICAgICBzcmNS
b3dzW2Jhc2V4ICsgMl0sCi0gICAgICAgICAgICAgICAgICAgIHNyY1Jvd3NbYmFzZXggKyAzXSk7
CisgICAgICAgICAgICBDb2xvciBwaXhlbENvbG9yID0gQ29sb3I6OmNyZWF0ZVVuQ2hla2VkKHNy
Y1Jvd3NbYmFzZXhdLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBzcmNSb3dzW2Jhc2V4ICsgMV0sCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNyY1Jvd3NbYmFzZXggKyAyXSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3JjUm93c1tiYXNl
eCArIDNdKTsKICAgICAgICAgICAgIGlmIChtdWx0aXBsaWVkID09IFVubXVsdGlwbGllZCkKICAg
ICAgICAgICAgICAgICAqcGl4ZWwgPSBwcmVtdWx0aXBsaWVkQVJHQkZyb21Db2xvcihwaXhlbENv
bG9yKTsKICAgICAgICAgICAgIGVsc2UK
</data>

          </attachment>
      

    </bug>

</bugzilla>