<?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>19727</bug_id>
          
          <creation_ts>2008-06-23 09:04:48 -0700</creation_ts>
          <short_desc>Return bool from GraphicsContext::getShadow() so the tests aren&apos;t duplicated so many times in Cairo and Qt ports</short_desc>
          <delta_ts>2008-06-24 04:29:29 -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>WebKit Qt</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>OS X 10.5</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="Jonathon Jongsma (jonner)">jonathon</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>hausmann</cc>
    
    <cc>krit</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>84142</commentid>
    <comment_count>0</comment_count>
    <who name="Jonathon Jongsma (jonner)">jonathon</who>
    <bug_when>2008-06-23 09:04:48 -0700</bug_when>
    <thetext>The Cairo and Qt ports dont&apos; support platform shadows, so text shadows are drawn &apos;manually&apos;.  Before drawing the shadows, they perform a test to see if there is a valid shadow, e.g.:
bool hasShadow = textDrawingMode() == cTextFill &amp;&amp; shadowColor.isValid() &amp;&amp; (shadowSize.width() || shadowSize.height());

This test must be replicated anywhere we draw something that should have a shadow (e.g. text, underlines, etc).  Instead of copying and pasting this test every time, it would be nice to have a convenience function such as GraphicsContext::hasShadow() that could tell us whether a shadow should be drawn or not.

(Suggested in Bug #18459)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>84143</commentid>
    <comment_count>1</comment_count>
    <who name="Jonathon Jongsma (jonner)">jonathon</who>
    <bug_when>2008-06-23 09:11:49 -0700</bug_when>
    <thetext>note that if this was implemented, the patch for Bug #19676 should be changed to use it as well.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>84145</commentid>
    <comment_count>2</comment_count>
      <attachid>21884</attachid>
    <who name="Jonathon Jongsma (jonner)">jonathon</who>
    <bug_when>2008-06-23 09:26:12 -0700</bug_when>
    <thetext>Created attachment 21884
add GraphicsContext::hasShadow()

I didn&apos;t include the textDrawingMode() test since that didn&apos;t feel like it fit in hasShadow(), but if others feel it belongs there, I can add it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>84151</commentid>
    <comment_count>3</comment_count>
      <attachid>21884</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2008-06-23 10:21:53 -0700</bug_when>
    <thetext>Comment on attachment 21884
add GraphicsContext::hasShadow()

I think a better way to do this would be to make the getShadow function return a boolean, so you can easily check if you can entirely skip the shadow drawing while getting the specification for drawing it if you do need to.

You can see this would work because the calls to hasShadow both have calls to getShadow immediately afterward.

+    return m_common-&gt;state.shadowColor.isValid() &amp;&amp;
+        (m_common-&gt;state.shadowSize.width() ||
+         m_common-&gt;state.shadowSize.height());

This should also check shadowColor.alpha() for a non-zero value.

I&apos;m going to say r=me, but I think it would be better to do this without adding a new function.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>84154</commentid>
    <comment_count>4</comment_count>
      <attachid>21884</attachid>
    <who name="">mitz</who>
    <bug_when>2008-06-23 10:27:14 -0700</bug_when>
    <thetext>Comment on attachment 21884
add GraphicsContext::hasShadow()

This function will return false for a 0-offset, positive-blur shadow. At the very least, this makes the name &quot;hasShadow()&quot; misleading.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>84163</commentid>
    <comment_count>5</comment_count>
    <who name="Jonathon Jongsma (jonner)">jonathon</who>
    <bug_when>2008-06-23 11:13:52 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; (From update of attachment 21884 [edit])
&gt; This function will return false for a 0-offset, positive-blur shadow. At the
&gt; very least, this makes the name &quot;hasShadow()&quot; misleading.
&gt; 

Good point, but I think you&apos;ve found a bug rather and this function should probably return true for this case since it indicates that the backend should draw something (In this case, the cairo backend would draw a shadow that is completely obscured since it doesn&apos;t yet support blur, but I don&apos;t see a big problem with that since I&apos;d assume that it will get blur support eventually).  To me, this indicates why it would be beneficial to separate the logic into a function like this -- a bug in the logic only needs to be fixed once rather than several places.  

I like darin&apos;s suggestion of returning a bool for getShadow.  I&apos;ll attach an updated patch with that change (and check for non-zero alpha and blur values)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>84167</commentid>
    <comment_count>6</comment_count>
      <attachid>21887</attachid>
    <who name="Jonathon Jongsma (jonner)">jonathon</who>
    <bug_when>2008-06-23 12:23:05 -0700</bug_when>
    <thetext>Created attachment 21887
Updated patch which returns bool from getShadow()

This patch should address the comments from both darin and mitz.  Also, just in case it&apos;s not obvious, this patch depends on the patch in Bug #18459 which adds text-shadow support to the Qt port.  This patch was submitted separately since it affeccts more than just the Qt port, but it can&apos;t really be applied until the other patch is applied.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>84168</commentid>
    <comment_count>7</comment_count>
    <who name="Jonathon Jongsma (jonner)">jonathon</who>
    <bug_when>2008-06-23 12:23:38 -0700</bug_when>
    <thetext>updated summary to match new patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>84175</commentid>
    <comment_count>8</comment_count>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2008-06-23 12:59:58 -0700</bug_when>
    <thetext>You have to be carefull with 
+    bool hasShadow = context-&gt;textDrawingMode() == cTextFill &amp;&amp;
+        context-&gt;getShadow(shadowSize, shadowBlur, shadowColor);

you won&apos;t be able to draw shadows on stroked texts. See changes for FontCairo in https://bugs.webkit.org/attachment.cgi?id=20845</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>84176</commentid>
    <comment_count>9</comment_count>
      <attachid>21887</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2008-06-23 13:01:18 -0700</bug_when>
    <thetext>Comment on attachment 21887
Updated patch which returns bool from getShadow()

+    return color.isValid() &amp;&amp; color.alpha() &amp;&amp;
+        (blur || m_common-&gt;state.shadowSize.width() || m_common-&gt;state.shadowSize.height());

Heh, I just realized that invalid colors are guaranteed to have an alpha of 0, so you don&apos;t need the isValid check at all.

+        (blur || m_common-&gt;state.shadowSize.width() || m_common-&gt;state.shadowSize.height());

Why not use size here instead of m_common-&gt;state.shadowSize?

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>84182</commentid>
    <comment_count>10</comment_count>
    <who name="Jonathon Jongsma (jonner)">jonathon</who>
    <bug_when>2008-06-23 13:29:05 -0700</bug_when>
    <thetext>(In reply to comment #9)
&gt; (From update of attachment 21887 [edit])
&gt; +    return color.isValid() &amp;&amp; color.alpha() &amp;&amp;
&gt; +        (blur || m_common-&gt;state.shadowSize.width() ||
&gt; m_common-&gt;state.shadowSize.height());
&gt; 
&gt; Heh, I just realized that invalid colors are guaranteed to have an alpha of 0,
&gt; so you don&apos;t need the isValid check at all.
&gt; 
&gt; +        (blur || m_common-&gt;state.shadowSize.width() ||
&gt; m_common-&gt;state.shadowSize.height());
&gt; 
&gt; Why not use size here instead of m_common-&gt;state.shadowSize?

oops, I guess because I just re-used code from my previous hasShadow() patch that didn&apos;t have locals.  It would be cleaner if it just used the local, I admit.  

Would you like me to resubmit a new patch?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>84194</commentid>
    <comment_count>11</comment_count>
      <attachid>21891</attachid>
    <who name="Jonathon Jongsma (jonner)">jonathon</who>
    <bug_when>2008-06-23 14:33:00 -0700</bug_when>
    <thetext>Created attachment 21891
Updated patch: use local, fix build failure in Qt

in fact, I need to submit an updated patch anyway since I accidentally moved a variable out of scope and broke compilation for the Qt port.  Sorry for all of the noise.  Hopefully this one is final.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>84196</commentid>
    <comment_count>12</comment_count>
      <attachid>21891</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2008-06-23 14:34:43 -0700</bug_when>
    <thetext>Comment on attachment 21891
Updated patch: use local, fix build failure in Qt

Please don&apos;t check in your ChangeLog with:

         WARNING: NO TEST CASES ADDED OR CHANGED

Please add an entry to the ChangeLog with the bug number in it and a summary description of the changes.

Code changes still good. r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>84211</commentid>
    <comment_count>13</comment_count>
    <who name="Jonathon Jongsma (jonner)">jonathon</who>
    <bug_when>2008-06-23 19:30:55 -0700</bug_when>
    <thetext>(In reply to comment #12)
&gt; (From update of attachment 21891 [edit])
&gt; Please don&apos;t check in your ChangeLog with:
&gt; 
&gt;          WARNING: NO TEST CASES ADDED OR CHANGED

Sorry, just to clarify, are you saying that I should delete this line before attaching a patch to bugzilla?  I usually leave that in when I don&apos;t have tests just to make it obvious to the reviewer that there are no tests with this patch.  But I can remove it from future patches if you&apos;d like.  On the other hand, if by &apos;check in&apos;, you meant &apos;commit to svn&apos;, then I&apos;m afraid I don&apos;t have commit access yet.

&gt; Please add an entry to the ChangeLog with the bug number in it and a summary
&gt; description of the changes.

Good point, I will try to remember to do so in the future.  Or I can upload a modified patch if it would be helpful.  
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>84241</commentid>
    <comment_count>14</comment_count>
      <attachid>21891</attachid>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2008-06-24 04:29:17 -0700</bug_when>
    <thetext>Comment on attachment 21891
Updated patch: use local, fix build failure in Qt

Landed in r34765</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>21884</attachid>
            <date>2008-06-23 09:26:12 -0700</date>
            <delta_ts>2008-06-23 12:23:05 -0700</delta_ts>
            <desc>add GraphicsContext::hasShadow()</desc>
            <filename>0001-Add-GraphicsContext-hasShadow.patch</filename>
            <type>text/plain</type>
            <size>6545</size>
            <attacher name="Jonathon Jongsma (jonner)">jonathon</attacher>
            
              <data encoding="base64">RnJvbSA2ODA3NWE0ZjM1Zjc2NzUyYmQwMWJmMWE4YTdjOWJmZmIxZGM0MWI2IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBKb25hdGhvbiBKb25nc21hIDxqb25hdGhvbi5qb25nc21hQGNv
bGxhYm9yYS5jby51az4KRGF0ZTogTW9uLCAyMyBKdW4gMjAwOCAxMDo1NDo1OCAtMDUwMApTdWJq
ZWN0OiBbUEFUQ0hdIEFkZCBHcmFwaGljc0NvbnRleHQ6Omhhc1NoYWRvdygpCgotLS0KIFdlYkNv
cmUvQ2hhbmdlTG9nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAxOCArKysr
KysrKysrKysrKysrKysKIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0
LmNwcCAgICAgIHwgICAgNyArKysrKysrCiBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBo
aWNzQ29udGV4dC5oICAgICAgICB8ICAgIDEgKwogV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
YWlyby9Gb250Q2Fpcm8uY3BwICAgICAgfCAgICA0ICsrLS0KIFdlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvcXQvRm9udFF0LmNwcCAgICAgICAgICAgIHwgICAxNSArKysrKysrKy0tLS0tLS0KIFdl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvR3JhcGhpY3NDb250ZXh0UXQuY3BwIHwgICAxMSAr
KysrKy0tLS0tLQogNiBmaWxlcyBjaGFuZ2VkLCA0MSBpbnNlcnRpb25zKCspLCAxNSBkZWxldGlv
bnMoLSkKCmRpZmYgLS1naXQgYS9XZWJDb3JlL0NoYW5nZUxvZyBiL1dlYkNvcmUvQ2hhbmdlTG9n
CmluZGV4IGZmMGVlMTYuLmVkZjhlMTUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvQ2hhbmdlTG9nCisr
KyBiL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMDgtMDYtMjMgIEpvbmF0
aG9uIEpvbmdzbWEgIDxqb25hdGhvbi5qb25nc21hQGNvbGxhYm9yYS5jby51az4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXQVJOSU5HOiBOTyBURVNU
IENBU0VTIEFEREVEIE9SIENIQU5HRUQKKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0dy
YXBoaWNzQ29udGV4dC5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29u
dGV4dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQ6Omhhc1NoYWRvdyk6
IGFkZCBhIGhhc1NoYWRvdygpIGZ1bmN0aW9uIHRvCisgICAgICAgIEdyYXBoaWNzQ29udGV4dCBz
byB0aGF0IHdlIGRvbid0IGhhdmUgdG8gcmVwZWF0IHRoZSBsb2dpYyBzZXZlcmFsIHRpbWVzCisg
ICAgICAgIHRocm91Z2hvdXQgdGhlIFF0IGFuZCBDYWlybyBwb3J0cworICAgICAgICAqIHBsYXRm
b3JtL2dyYXBoaWNzL2NhaXJvL0ZvbnRDYWlyby5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGb250
OjpkcmF3R2x5cGhzKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9xdC9Gb250UXQuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6Rm9udDo6ZHJhd1RleHQpOgorICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL3F0L0dyYXBoaWNzQ29udGV4dFF0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okdy
YXBoaWNzQ29udGV4dDo6ZHJhd0xpbmUpOiB1c2UgR3JhcGhpY3NDb250ZXh0OjpoYXNTaGFkb3co
KQorCiAyMDA4LTA2LTE5ICBKb25hdGhvbiBKb25nc21hICA8am9uYXRob24uam9uZ3NtYUBjb2xs
YWJvcmEuY28udWs+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCmRpZmYg
LS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dC5jcHAgYi9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dC5jcHAKaW5kZXggMDcyMDk1
NC4uZTdjYmU4YiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGlj
c0NvbnRleHQuY3BwCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250
ZXh0LmNwcApAQCAtMTYxLDYgKzE2MSwxMyBAQCB2b2lkIEdyYXBoaWNzQ29udGV4dDo6Z2V0U2hh
ZG93KEludFNpemUmIHNpemUsIGludCYgYmx1ciwgQ29sb3ImIGNvbG9yKQogICAgIGNvbG9yID0g
bV9jb21tb24tPnN0YXRlLnNoYWRvd0NvbG9yOwogfQogCitib29sIEdyYXBoaWNzQ29udGV4dDo6
aGFzU2hhZG93KCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9jb21tb24tPnN0YXRlLnNoYWRvd0Nv
bG9yLmlzVmFsaWQoKSAmJgorICAgICAgICAobV9jb21tb24tPnN0YXRlLnNoYWRvd1NpemUud2lk
dGgoKSB8fAorICAgICAgICAgbV9jb21tb24tPnN0YXRlLnNoYWRvd1NpemUuaGVpZ2h0KCkpOwor
fQorCiBmbG9hdCBHcmFwaGljc0NvbnRleHQ6OnN0cm9rZVRoaWNrbmVzcygpIGNvbnN0CiB7CiAg
ICAgcmV0dXJuIG1fY29tbW9uLT5zdGF0ZS5zdHJva2VUaGlja25lc3M7CmRpZmYgLS1naXQgYS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dC5oIGIvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQuaAppbmRleCA3OWQxYjA1Li5mNDQyZTJhIDEw
MDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dC5oCisr
KyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0LmgKQEAgLTE5OCw2
ICsxOTgsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICAgICAgdm9pZCBzZXRTaGFkb3co
Y29uc3QgSW50U2l6ZSYsIGludCBibHVyLCBjb25zdCBDb2xvciYpOwogICAgICAgICB2b2lkIGdl
dFNoYWRvdyhJbnRTaXplJiwgaW50JiwgQ29sb3ImKTsKKyAgICAgICAgYm9vbCBoYXNTaGFkb3co
KSBjb25zdDsKICAgICAgICAgdm9pZCBjbGVhclNoYWRvdygpOwogCiAgICAgICAgIHZvaWQgaW5p
dEZvY3VzUmluZyhpbnQgd2lkdGgsIGludCBvZmZzZXQpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jYWlyby9Gb250Q2Fpcm8uY3BwIGIvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9jYWlyby9Gb250Q2Fpcm8uY3BwCmluZGV4IGZkMTVlYzkuLjY0MDU2NjYgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vRm9udENhaXJvLmNwcAorKysg
Yi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0ZvbnRDYWlyby5jcHAKQEAgLTU3LDEx
ICs1NywxMSBAQCB2b2lkIEZvbnQ6OmRyYXdHbHlwaHMoR3JhcGhpY3NDb250ZXh0KiBjb250ZXh0
LCBjb25zdCBTaW1wbGVGb250RGF0YSogZm9udCwgY29ucwogICAgIEludFNpemUgc2hhZG93U2l6
ZTsKICAgICBpbnQgc2hhZG93Qmx1cjsKICAgICBDb2xvciBzaGFkb3dDb2xvcjsKLSAgICBjb250
ZXh0LT5nZXRTaGFkb3coc2hhZG93U2l6ZSwgc2hhZG93Qmx1ciwgc2hhZG93Q29sb3IpOworICAg
IGJvb2wgaGFzU2hhZG93ID0gY29udGV4dC0+dGV4dERyYXdpbmdNb2RlKCkgPT0gY1RleHRGaWxs
ICYmIGNvbnRleHQtPmhhc1NoYWRvdygpOwogCiAgICAgLy8gVE9ETzogQmx1ciBzdXBwb3J0Ci0g
ICAgYm9vbCBoYXNTaGFkb3cgPSBjb250ZXh0LT50ZXh0RHJhd2luZ01vZGUoKSA9PSBjVGV4dEZp
bGwgJiYgc2hhZG93Q29sb3IuaXNWYWxpZCgpICYmIChzaGFkb3dTaXplLndpZHRoKCkgfHwgc2hh
ZG93U2l6ZS5oZWlnaHQoKSk7CiAgICAgaWYgKGhhc1NoYWRvdykgeworICAgICAgICBjb250ZXh0
LT5nZXRTaGFkb3coc2hhZG93U2l6ZSwgc2hhZG93Qmx1ciwgc2hhZG93Q29sb3IpOwogICAgICAg
ICAvLyBEaXNhYmxlIGdyYXBoaWNzIGNvbnRleHQgc2hhZG93cyAobm90IHlldCBpbXBsZW1lbnRl
ZCkgYW5kIHBhaW50IHRoZW0gbWFudWFsbHkKICAgICAgICAgY29udGV4dC0+Y2xlYXJTaGFkb3co
KTsKICAgICAgICAgQ29sb3Igc2hhZG93RmlsbENvbG9yKHNoYWRvd0NvbG9yLnJlZCgpLCBzaGFk
b3dDb2xvci5ncmVlbigpLCBzaGFkb3dDb2xvci5ibHVlKCksIHNoYWRvd0NvbG9yLmFscGhhKCkg
KiBmaWxsQ29sb3IuYWxwaGEoKSAvIDI1NSk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL3F0L0ZvbnRRdC5jcHAgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L0Zv
bnRRdC5jcHAKaW5kZXggNjQ3NjA3ZS4uNzhjZDA2NiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9xdC9Gb250UXQuY3BwCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvcXQvRm9udFF0LmNwcApAQCAtMTI5LDEzICsxMjksNiBAQCB2b2lkIEZvbnQ6OmRyYXdUZXh0
KEdyYXBoaWNzQ29udGV4dCogY3R4LCBjb25zdCBUZXh0UnVuJiBydW4sIGNvbnN0IEZsb2F0UG9p
bnQmCiAgICAgQ29sb3IgY29sb3IgPSBjdHgtPmZpbGxDb2xvcigpOwogICAgIHAtPnNldFBlbihR
Q29sb3IoY29sb3IpKTsKIAotICAgIC8vIHRleHQgc2hhZG93Ci0gICAgSW50U2l6ZSBzaGFkb3dT
aXplOwotICAgIGludCBzaGFkb3dCbHVyOwotICAgIENvbG9yIHNoYWRvd0NvbG9yOwotICAgIGN0
eC0+Z2V0U2hhZG93KHNoYWRvd1NpemUsIHNoYWRvd0JsdXIsIHNoYWRvd0NvbG9yKTsKLSAgICBi
b29sIGhhc1NoYWRvdyA9IGN0eC0+dGV4dERyYXdpbmdNb2RlKCkgPT0gY1RleHRGaWxsICYmIHNo
YWRvd0NvbG9yLmlzVmFsaWQoKSAmJiAoc2hhZG93U2l6ZS53aWR0aCgpIHx8IHNoYWRvd1NpemUu
aGVpZ2h0KCkpOwotCiAgICAgUVN0cmluZyBzdHJpbmcgPSBxc3RyaW5nKHJ1bik7CiAKICAgICBp
ZiAoZnJvbSA+IDAgfHwgdG8gPCBydW4ubGVuZ3RoKCkpIHsKQEAgLTE0OSw3ICsxNDIsMTUgQEAg
dm9pZCBGb250OjpkcmF3VGV4dChHcmFwaGljc0NvbnRleHQqIGN0eCwgY29uc3QgVGV4dFJ1biYg
cnVuLCBjb25zdCBGbG9hdFBvaW50JgogICAgICAgICBRRm9udE1ldHJpY3MgZm0obV9mb250KTsK
ICAgICAgICAgaW50IGFzY2VudCA9IGZtLmFzY2VudCgpOwogICAgICAgICBRUmVjdEYgY2xpcChw
b2ludC54KCkgKyB4MSwgcG9pbnQueSgpIC0gYXNjZW50LCB4MiAtIHgxLCBmbS5oZWlnaHQoKSk7
CisKKyAgICAgICAgLy8gdGV4dCBzaGFkb3cKKyAgICAgICAgSW50U2l6ZSBzaGFkb3dTaXplOwor
ICAgICAgICBpbnQgc2hhZG93Qmx1cjsKKyAgICAgICAgQ29sb3Igc2hhZG93Q29sb3I7CisgICAg
ICAgIGJvb2wgaGFzU2hhZG93ID0gY3R4LT50ZXh0RHJhd2luZ01vZGUoKSA9PSBjVGV4dEZpbGwg
JiYgY3R4LT5oYXNTaGFkb3coKTsKICAgICAgICAgaWYgKGhhc1NoYWRvdykgeworICAgICAgICAg
ICAgY3R4LT5nZXRTaGFkb3coc2hhZG93U2l6ZSwgc2hhZG93Qmx1ciwgc2hhZG93Q29sb3IpOwor
CiAgICAgICAgICAgICAvLyBUT0RPOiB3aGVuIGJsdXIgc3VwcG9ydCBpcyBhZGRlZCwgdGhlIGNs
aXAgd2lsbCBuZWVkIHRvIGFjY291bnQKICAgICAgICAgICAgIC8vIGZvciB0aGUgYmx1ciByYWRp
dXMKICAgICAgICAgICAgIHFyZWFsIGR4MSA9IDAsIGR4MiA9IDAsIGR5MSA9IDAsIGR5MiA9IDA7
CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L0dyYXBoaWNzQ29udGV4
dFF0LmNwcCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvR3JhcGhpY3NDb250ZXh0UXQu
Y3BwCmluZGV4IDgzMTNkMWUuLmFkYWU1MzkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvcXQvR3JhcGhpY3NDb250ZXh0UXQuY3BwCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvcXQvR3JhcGhpY3NDb250ZXh0UXQuY3BwCkBAIC00NTUsMTIgKzQ1NSwxMSBAQCB2
b2lkIEdyYXBoaWNzQ29udGV4dDo6ZHJhd0xpbmUoY29uc3QgSW50UG9pbnQmIHBvaW50MSwgY29u
c3QgSW50UG9pbnQmIHBvaW50MikKICAgICBwLT5zZXRSZW5kZXJIaW50KFFQYWludGVyOjpBbnRp
YWxpYXNpbmcsIG1fZGF0YS0+YW50aUFsaWFzaW5nRm9yUmVjdHNBbmRMaW5lcyk7CiAgICAgYWRq
dXN0TGluZVRvUGl4ZWxCb3VuZGFyaWVzKHAxLCBwMiwgc3Ryb2tlVGhpY2tuZXNzKCksIHN0cm9r
ZVN0eWxlKCkpOwogCi0gICAgSW50U2l6ZSBzaGFkb3dTaXplOwotICAgIGludCBzaGFkb3dCbHVy
OwotICAgIENvbG9yIHNoYWRvd0NvbG9yOwotICAgIGdldFNoYWRvdyhzaGFkb3dTaXplLCBzaGFk
b3dCbHVyLCBzaGFkb3dDb2xvcik7Ci0gICAgYm9vbCBoYXNTaGFkb3cgPSB0ZXh0RHJhd2luZ01v
ZGUoKSA9PSBjVGV4dEZpbGwgJiYgc2hhZG93Q29sb3IuaXNWYWxpZCgpICYmIChzaGFkb3dTaXpl
LndpZHRoKCkgfHwgc2hhZG93U2l6ZS5oZWlnaHQoKSk7Ci0gICAgaWYgKGhhc1NoYWRvdykgewor
ICAgIGlmICh0ZXh0RHJhd2luZ01vZGUoKSA9PSBjVGV4dEZpbGwgJiYgaGFzU2hhZG93KCkpIHsK
KyAgICAgICAgSW50U2l6ZSBzaGFkb3dTaXplOworICAgICAgICBpbnQgc2hhZG93Qmx1cjsKKyAg
ICAgICAgQ29sb3Igc2hhZG93Q29sb3I7CisgICAgICAgIGdldFNoYWRvdyhzaGFkb3dTaXplLCBz
aGFkb3dCbHVyLCBzaGFkb3dDb2xvcik7CiAgICAgICAgIHAtPnNhdmUoKTsKICAgICAgICAgcC0+
dHJhbnNsYXRlKHNoYWRvd1NpemUud2lkdGgoKSwgc2hhZG93U2l6ZS5oZWlnaHQoKSk7CiAgICAg
ICAgIHAtPnNldFBlbihRQ29sb3Ioc2hhZG93Q29sb3IpKTsKLS0gCjEuNS41Cgo=
</data>
<flag name="review"
          id="9614"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>21887</attachid>
            <date>2008-06-23 12:23:05 -0700</date>
            <delta_ts>2008-06-23 14:33:00 -0700</delta_ts>
            <desc>Updated patch which returns bool from getShadow()</desc>
            <filename>0001-Return-boolean-from-GraphicsContext-getShadow-ind.patch</filename>
            <type>text/plain</type>
            <size>6550</size>
            <attacher name="Jonathon Jongsma (jonner)">jonathon</attacher>
            
              <data encoding="base64">RnJvbSBjNDIxYjkzOWY5MjAzZjAzMDI4MDhmYjkwMTdiZGU0NThlYjNiMWYxIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBKb25hdGhvbiBKb25nc21hIDxqb25hdGhvbi5qb25nc21hQGNv
bGxhYm9yYS5jby51az4KRGF0ZTogTW9uLCAyMyBKdW4gMjAwOCAxNDoyMjoyMCAtMDUwMApTdWJq
ZWN0OiBbUEFUQ0hdIFJldHVybiBib29sZWFuIGZyb20gR3JhcGhpY3NDb250ZXh0OjpnZXRTaGFk
b3coKSBpbmRpY2F0aW5nIHdoZXRoZXIgdGhlIHNoYWRvdyBzaG91bGQgYmUgZHJhd24KCi0tLQog
V2ViQ29yZS9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDIw
ICsrKysrKysrKysrKysrKysrKysrCiBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNz
Q29udGV4dC5jcHAgICAgICB8ICAgIDUgKysrKy0KIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
R3JhcGhpY3NDb250ZXh0LmggICAgICAgIHwgICAgMiArLQogV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9jYWlyby9Gb250Q2Fpcm8uY3BwICAgICAgfCAgICA0ICsrLS0KIFdlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvcXQvRm9udFF0LmNwcCAgICAgICAgICAgIHwgICAxMyArKysrKystLS0tLS0t
CiBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L0dyYXBoaWNzQ29udGV4dFF0LmNwcCB8ICAg
IDQgKy0tLQogNiBmaWxlcyBjaGFuZ2VkLCAzNCBpbnNlcnRpb25zKCspLCAxNCBkZWxldGlvbnMo
LSkKCmRpZmYgLS1naXQgYS9XZWJDb3JlL0NoYW5nZUxvZyBiL1dlYkNvcmUvQ2hhbmdlTG9nCmlu
ZGV4IDdkZjFkZTMuLmU0NzcxNDggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBi
L1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC00LDYgKzQsMjYgQEAKIAogICAgICAgICBXQVJOSU5HOiBO
TyBURVNUIENBU0VTIEFEREVEIE9SIENIQU5HRUQKIAorICAgICAgICAqIHBsYXRmb3JtL2dyYXBo
aWNzL0dyYXBoaWNzQ29udGV4dC5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0dyYXBo
aWNzQ29udGV4dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQ6OmdldFNo
YWRvdyk6IHJldHVybiBhIGJvb2xlYW4gZnJvbSBnZXRTaGFkb3coKQorICAgICAgICB3aGljaCBp
bmRpY2F0ZXMgd2hldGhlciB0aGVyZSBpcyBhIHZpc2libGUgc2hhZG93IHRvIGRyYXcgb3Igbm90
LiAgUG9ydHMKKyAgICAgICAgd2l0aG91dCBhIHBsYXRmb3JtIHNoYWRvdyBpbXBsZW1lbnRhdGlv
biBjYW4gdXNlIHRoaXMgZmxhZyB0byBkZXRlcm1pbmUKKyAgICAgICAgd2hldGhlciBhIHNoYWRv
dyBuZWVkcyB0byBiZSBkcmF3biBtYW51YWxseQorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNz
L2NhaXJvL0ZvbnRDYWlyby5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGb250OjpkcmF3R2x5cGhz
KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9xdC9Gb250UXQuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6Rm9udDo6ZHJhd1RleHQpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3F0
L0dyYXBoaWNzQ29udGV4dFF0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4
dDo6ZHJhd0xpbmUpOiB1c2UgcmV0dXJuIGZyb20gZ2V0U2hhZG93KCkgdG8KKyAgICAgICAgZGV0
ZXJtaW5lIHdoZXRoZXIgdG8gZHJhdyB0aGUgc2hhZG93CisKKzIwMDgtMDYtMjMgIEpvbmF0aG9u
IEpvbmdzbWEgIDxqb25hdGhvbi5qb25nc21hQGNvbGxhYm9yYS5jby51az4KKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXQVJOSU5HOiBOTyBURVNUIENB
U0VTIEFEREVEIE9SIENIQU5HRUQKKwogICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3F0L0dy
YXBoaWNzQ29udGV4dFF0LmNwcDoKICAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDo6
c2V0UGxhdGZvcm1TaGFkb3cpOgogICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0Ojpj
bGVhclBsYXRmb3JtU2hhZG93KTogUXQgZG9lc24ndCBzdXBwb3J0IGEKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0LmNwcCBiL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0LmNwcAppbmRleCAwNzIwOTU0Li5mNjhkMGU3
IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dC5j
cHAKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQuY3BwCkBA
IC0xNTQsMTEgKzE1NCwxNCBAQCB2b2lkIEdyYXBoaWNzQ29udGV4dDo6Y2xlYXJTaGFkb3coKQog
ICAgIGNsZWFyUGxhdGZvcm1TaGFkb3coKTsKIH0KIAotdm9pZCBHcmFwaGljc0NvbnRleHQ6Omdl
dFNoYWRvdyhJbnRTaXplJiBzaXplLCBpbnQmIGJsdXIsIENvbG9yJiBjb2xvcikKK2Jvb2wgR3Jh
cGhpY3NDb250ZXh0OjpnZXRTaGFkb3coSW50U2l6ZSYgc2l6ZSwgaW50JiBibHVyLCBDb2xvciYg
Y29sb3IpIGNvbnN0CiB7CiAgICAgc2l6ZSA9IG1fY29tbW9uLT5zdGF0ZS5zaGFkb3dTaXplOwog
ICAgIGJsdXIgPSBtX2NvbW1vbi0+c3RhdGUuc2hhZG93Qmx1cjsKICAgICBjb2xvciA9IG1fY29t
bW9uLT5zdGF0ZS5zaGFkb3dDb2xvcjsKKworICAgIHJldHVybiBjb2xvci5pc1ZhbGlkKCkgJiYg
Y29sb3IuYWxwaGEoKSAmJgorICAgICAgICAoYmx1ciB8fCBtX2NvbW1vbi0+c3RhdGUuc2hhZG93
U2l6ZS53aWR0aCgpIHx8IG1fY29tbW9uLT5zdGF0ZS5zaGFkb3dTaXplLmhlaWdodCgpKTsKIH0K
IAogZmxvYXQgR3JhcGhpY3NDb250ZXh0OjpzdHJva2VUaGlja25lc3MoKSBjb25zdApkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQuaCBiL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0LmgKaW5kZXggNzlkMWIwNS4uOTU5
NjZmNCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRl
eHQuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dC5oCkBA
IC0xOTcsNyArMTk3LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB2b2lkIGVuZFRy
YW5zcGFyZW5jeUxheWVyKCk7CiAKICAgICAgICAgdm9pZCBzZXRTaGFkb3coY29uc3QgSW50U2l6
ZSYsIGludCBibHVyLCBjb25zdCBDb2xvciYpOwotICAgICAgICB2b2lkIGdldFNoYWRvdyhJbnRT
aXplJiwgaW50JiwgQ29sb3ImKTsKKyAgICAgICAgYm9vbCBnZXRTaGFkb3coSW50U2l6ZSYsIGlu
dCYsIENvbG9yJikgY29uc3Q7CiAgICAgICAgIHZvaWQgY2xlYXJTaGFkb3coKTsKIAogICAgICAg
ICB2b2lkIGluaXRGb2N1c1JpbmcoaW50IHdpZHRoLCBpbnQgb2Zmc2V0KTsKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vRm9udENhaXJvLmNwcCBiL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vRm9udENhaXJvLmNwcAppbmRleCBmZDE1ZWM5Li5iMzhk
MmU1IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0ZvbnRDYWly
by5jcHAKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9Gb250Q2Fpcm8uY3Bw
CkBAIC01NywxMCArNTcsMTAgQEAgdm9pZCBGb250OjpkcmF3R2x5cGhzKEdyYXBoaWNzQ29udGV4
dCogY29udGV4dCwgY29uc3QgU2ltcGxlRm9udERhdGEqIGZvbnQsIGNvbnMKICAgICBJbnRTaXpl
IHNoYWRvd1NpemU7CiAgICAgaW50IHNoYWRvd0JsdXI7CiAgICAgQ29sb3Igc2hhZG93Q29sb3I7
Ci0gICAgY29udGV4dC0+Z2V0U2hhZG93KHNoYWRvd1NpemUsIHNoYWRvd0JsdXIsIHNoYWRvd0Nv
bG9yKTsKKyAgICBib29sIGhhc1NoYWRvdyA9IGNvbnRleHQtPnRleHREcmF3aW5nTW9kZSgpID09
IGNUZXh0RmlsbCAmJgorICAgICAgICBjb250ZXh0LT5nZXRTaGFkb3coc2hhZG93U2l6ZSwgc2hh
ZG93Qmx1ciwgc2hhZG93Q29sb3IpOwogCiAgICAgLy8gVE9ETzogQmx1ciBzdXBwb3J0Ci0gICAg
Ym9vbCBoYXNTaGFkb3cgPSBjb250ZXh0LT50ZXh0RHJhd2luZ01vZGUoKSA9PSBjVGV4dEZpbGwg
JiYgc2hhZG93Q29sb3IuaXNWYWxpZCgpICYmIChzaGFkb3dTaXplLndpZHRoKCkgfHwgc2hhZG93
U2l6ZS5oZWlnaHQoKSk7CiAgICAgaWYgKGhhc1NoYWRvdykgewogICAgICAgICAvLyBEaXNhYmxl
IGdyYXBoaWNzIGNvbnRleHQgc2hhZG93cyAobm90IHlldCBpbXBsZW1lbnRlZCkgYW5kIHBhaW50
IHRoZW0gbWFudWFsbHkKICAgICAgICAgY29udGV4dC0+Y2xlYXJTaGFkb3coKTsKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvRm9udFF0LmNwcCBiL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvcXQvRm9udFF0LmNwcAppbmRleCA2NDc2MDdlLi5mOTQyOWMyIDEwMDY0
NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L0ZvbnRRdC5jcHAKKysrIGIvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9Gb250UXQuY3BwCkBAIC0xMjksMTMgKzEyOSw2IEBA
IHZvaWQgRm9udDo6ZHJhd1RleHQoR3JhcGhpY3NDb250ZXh0KiBjdHgsIGNvbnN0IFRleHRSdW4m
IHJ1biwgY29uc3QgRmxvYXRQb2ludCYKICAgICBDb2xvciBjb2xvciA9IGN0eC0+ZmlsbENvbG9y
KCk7CiAgICAgcC0+c2V0UGVuKFFDb2xvcihjb2xvcikpOwogCi0gICAgLy8gdGV4dCBzaGFkb3cK
LSAgICBJbnRTaXplIHNoYWRvd1NpemU7Ci0gICAgaW50IHNoYWRvd0JsdXI7Ci0gICAgQ29sb3Ig
c2hhZG93Q29sb3I7Ci0gICAgY3R4LT5nZXRTaGFkb3coc2hhZG93U2l6ZSwgc2hhZG93Qmx1ciwg
c2hhZG93Q29sb3IpOwotICAgIGJvb2wgaGFzU2hhZG93ID0gY3R4LT50ZXh0RHJhd2luZ01vZGUo
KSA9PSBjVGV4dEZpbGwgJiYgc2hhZG93Q29sb3IuaXNWYWxpZCgpICYmIChzaGFkb3dTaXplLndp
ZHRoKCkgfHwgc2hhZG93U2l6ZS5oZWlnaHQoKSk7Ci0KICAgICBRU3RyaW5nIHN0cmluZyA9IHFz
dHJpbmcocnVuKTsKIAogICAgIGlmIChmcm9tID4gMCB8fCB0byA8IHJ1bi5sZW5ndGgoKSkgewpA
QCAtMTQ5LDYgKzE0MiwxMiBAQCB2b2lkIEZvbnQ6OmRyYXdUZXh0KEdyYXBoaWNzQ29udGV4dCog
Y3R4LCBjb25zdCBUZXh0UnVuJiBydW4sIGNvbnN0IEZsb2F0UG9pbnQmCiAgICAgICAgIFFGb250
TWV0cmljcyBmbShtX2ZvbnQpOwogICAgICAgICBpbnQgYXNjZW50ID0gZm0uYXNjZW50KCk7CiAg
ICAgICAgIFFSZWN0RiBjbGlwKHBvaW50LngoKSArIHgxLCBwb2ludC55KCkgLSBhc2NlbnQsIHgy
IC0geDEsIGZtLmhlaWdodCgpKTsKKworICAgICAgICAvLyB0ZXh0IHNoYWRvdworICAgICAgICBJ
bnRTaXplIHNoYWRvd1NpemU7CisgICAgICAgIGludCBzaGFkb3dCbHVyOworICAgICAgICBDb2xv
ciBzaGFkb3dDb2xvcjsKKyAgICAgICAgYm9vbCBoYXNTaGFkb3cgPSBjdHgtPnRleHREcmF3aW5n
TW9kZSgpID09IGNUZXh0RmlsbCAmJiBjdHgtPmdldFNoYWRvdyhzaGFkb3dTaXplLCBzaGFkb3dC
bHVyLCBzaGFkb3dDb2xvcik7CiAgICAgICAgIGlmIChoYXNTaGFkb3cpIHsKICAgICAgICAgICAg
IC8vIFRPRE86IHdoZW4gYmx1ciBzdXBwb3J0IGlzIGFkZGVkLCB0aGUgY2xpcCB3aWxsIG5lZWQg
dG8gYWNjb3VudAogICAgICAgICAgICAgLy8gZm9yIHRoZSBibHVyIHJhZGl1cwpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9HcmFwaGljc0NvbnRleHRRdC5jcHAgYi9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L0dyYXBoaWNzQ29udGV4dFF0LmNwcAppbmRleCBh
ZmNhMTNkLi45ZTI5OTExIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0
L0dyYXBoaWNzQ29udGV4dFF0LmNwcAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0
L0dyYXBoaWNzQ29udGV4dFF0LmNwcApAQCAtNDU4LDkgKzQ1OCw3IEBAIHZvaWQgR3JhcGhpY3ND
b250ZXh0OjpkcmF3TGluZShjb25zdCBJbnRQb2ludCYgcG9pbnQxLCBjb25zdCBJbnRQb2ludCYg
cG9pbnQyKQogICAgIEludFNpemUgc2hhZG93U2l6ZTsKICAgICBpbnQgc2hhZG93Qmx1cjsKICAg
ICBDb2xvciBzaGFkb3dDb2xvcjsKLSAgICBnZXRTaGFkb3coc2hhZG93U2l6ZSwgc2hhZG93Qmx1
ciwgc2hhZG93Q29sb3IpOwotICAgIGJvb2wgaGFzU2hhZG93ID0gdGV4dERyYXdpbmdNb2RlKCkg
PT0gY1RleHRGaWxsICYmIHNoYWRvd0NvbG9yLmlzVmFsaWQoKSAmJiAoc2hhZG93U2l6ZS53aWR0
aCgpIHx8IHNoYWRvd1NpemUuaGVpZ2h0KCkpOwotICAgIGlmIChoYXNTaGFkb3cpIHsKKyAgICBp
ZiAodGV4dERyYXdpbmdNb2RlKCkgPT0gY1RleHRGaWxsICYmIGdldFNoYWRvdyhzaGFkb3dTaXpl
LCBzaGFkb3dCbHVyLCBzaGFkb3dDb2xvcikpIHsKICAgICAgICAgcC0+c2F2ZSgpOwogICAgICAg
ICBwLT50cmFuc2xhdGUoc2hhZG93U2l6ZS53aWR0aCgpLCBzaGFkb3dTaXplLmhlaWdodCgpKTsK
ICAgICAgICAgcC0+c2V0UGVuKFFDb2xvcihzaGFkb3dDb2xvcikpOwotLSAKMS41LjUKCg==
</data>
<flag name="review"
          id="9617"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>21891</attachid>
            <date>2008-06-23 14:33:00 -0700</date>
            <delta_ts>2008-06-24 04:29:17 -0700</delta_ts>
            <desc>Updated patch: use local, fix build failure in Qt</desc>
            <filename>0001-Return-boolean-from-GraphicsContext-getShadow-ind.patch</filename>
            <type>text/plain</type>
            <size>6464</size>
            <attacher name="Jonathon Jongsma (jonner)">jonathon</attacher>
            
              <data encoding="base64">RnJvbSA5OGIxZTJiZjlkODA0NTQ3MzVkOWZmZjUzODAzN2U4ODE1NDk2MGY2IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBKb25hdGhvbiBKb25nc21hIDxqb25hdGhvbi5qb25nc21hQGNv
bGxhYm9yYS5jby51az4KRGF0ZTogTW9uLCAyMyBKdW4gMjAwOCAxNDoyMjoyMCAtMDUwMApTdWJq
ZWN0OiBbUEFUQ0hdIFJldHVybiBib29sZWFuIGZyb20gR3JhcGhpY3NDb250ZXh0OjpnZXRTaGFk
b3coKSBpbmRpY2F0aW5nIHdoZXRoZXIgdGhlIHNoYWRvdyBzaG91bGQgYmUgZHJhd24KCi0tLQog
V2ViQ29yZS9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDIw
ICsrKysrKysrKysrKysrKysrKysrCiBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNz
Q29udGV4dC5jcHAgICAgICB8ICAgIDQgKysrLQogV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9H
cmFwaGljc0NvbnRleHQuaCAgICAgICAgfCAgICAyICstCiBXZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2NhaXJvL0ZvbnRDYWlyby5jcHAgICAgICB8ICAgIDQgKystLQogV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9xdC9Gb250UXQuY3BwICAgICAgICAgICAgfCAgICA4ICsrKystLS0tCiBXZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L0dyYXBoaWNzQ29udGV4dFF0LmNwcCB8ICAgIDQgKy0t
LQogNiBmaWxlcyBjaGFuZ2VkLCAzMSBpbnNlcnRpb25zKCspLCAxMSBkZWxldGlvbnMoLSkKCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL0NoYW5nZUxvZyBiL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDdk
ZjFkZTMuLmU0NzcxNDggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1dlYkNv
cmUvQ2hhbmdlTG9nCkBAIC00LDYgKzQsMjYgQEAKIAogICAgICAgICBXQVJOSU5HOiBOTyBURVNU
IENBU0VTIEFEREVEIE9SIENIQU5HRUQKIAorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0dy
YXBoaWNzQ29udGV4dC5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29u
dGV4dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQ6OmdldFNoYWRvdyk6
IHJldHVybiBhIGJvb2xlYW4gZnJvbSBnZXRTaGFkb3coKQorICAgICAgICB3aGljaCBpbmRpY2F0
ZXMgd2hldGhlciB0aGVyZSBpcyBhIHZpc2libGUgc2hhZG93IHRvIGRyYXcgb3Igbm90LiAgUG9y
dHMKKyAgICAgICAgd2l0aG91dCBhIHBsYXRmb3JtIHNoYWRvdyBpbXBsZW1lbnRhdGlvbiBjYW4g
dXNlIHRoaXMgZmxhZyB0byBkZXRlcm1pbmUKKyAgICAgICAgd2hldGhlciBhIHNoYWRvdyBuZWVk
cyB0byBiZSBkcmF3biBtYW51YWxseQorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NhaXJv
L0ZvbnRDYWlyby5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGb250OjpkcmF3R2x5cGhzKToKKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9xdC9Gb250UXQuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6Rm9udDo6ZHJhd1RleHQpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3F0L0dyYXBo
aWNzQ29udGV4dFF0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDo6ZHJh
d0xpbmUpOiB1c2UgcmV0dXJuIGZyb20gZ2V0U2hhZG93KCkgdG8KKyAgICAgICAgZGV0ZXJtaW5l
IHdoZXRoZXIgdG8gZHJhdyB0aGUgc2hhZG93CisKKzIwMDgtMDYtMjMgIEpvbmF0aG9uIEpvbmdz
bWEgIDxqb25hdGhvbi5qb25nc21hQGNvbGxhYm9yYS5jby51az4KKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXQVJOSU5HOiBOTyBURVNUIENBU0VTIEFE
REVEIE9SIENIQU5HRUQKKwogICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3F0L0dyYXBoaWNz
Q29udGV4dFF0LmNwcDoKICAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDo6c2V0UGxh
dGZvcm1TaGFkb3cpOgogICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0OjpjbGVhclBs
YXRmb3JtU2hhZG93KTogUXQgZG9lc24ndCBzdXBwb3J0IGEKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0LmNwcCBiL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0LmNwcAppbmRleCAwNzIwOTU0Li40ZmE1ZmIwIDEwMDY0
NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dC5jcHAKKysr
IGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQuY3BwCkBAIC0xNTQs
MTEgKzE1NCwxMyBAQCB2b2lkIEdyYXBoaWNzQ29udGV4dDo6Y2xlYXJTaGFkb3coKQogICAgIGNs
ZWFyUGxhdGZvcm1TaGFkb3coKTsKIH0KIAotdm9pZCBHcmFwaGljc0NvbnRleHQ6OmdldFNoYWRv
dyhJbnRTaXplJiBzaXplLCBpbnQmIGJsdXIsIENvbG9yJiBjb2xvcikKK2Jvb2wgR3JhcGhpY3ND
b250ZXh0OjpnZXRTaGFkb3coSW50U2l6ZSYgc2l6ZSwgaW50JiBibHVyLCBDb2xvciYgY29sb3Ip
IGNvbnN0CiB7CiAgICAgc2l6ZSA9IG1fY29tbW9uLT5zdGF0ZS5zaGFkb3dTaXplOwogICAgIGJs
dXIgPSBtX2NvbW1vbi0+c3RhdGUuc2hhZG93Qmx1cjsKICAgICBjb2xvciA9IG1fY29tbW9uLT5z
dGF0ZS5zaGFkb3dDb2xvcjsKKworICAgIHJldHVybiBjb2xvci5pc1ZhbGlkKCkgJiYgY29sb3Iu
YWxwaGEoKSAmJiAoYmx1ciB8fCBzaXplLndpZHRoKCkgfHwgc2l6ZS5oZWlnaHQoKSk7CiB9CiAK
IGZsb2F0IEdyYXBoaWNzQ29udGV4dDo6c3Ryb2tlVGhpY2tuZXNzKCkgY29uc3QKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0LmggYi9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dC5oCmluZGV4IDc5ZDFiMDUuLjk1OTY2
ZjQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0
LmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQuaApAQCAt
MTk3LDcgKzE5Nyw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgdm9pZCBlbmRUcmFu
c3BhcmVuY3lMYXllcigpOwogCiAgICAgICAgIHZvaWQgc2V0U2hhZG93KGNvbnN0IEludFNpemUm
LCBpbnQgYmx1ciwgY29uc3QgQ29sb3ImKTsKLSAgICAgICAgdm9pZCBnZXRTaGFkb3coSW50U2l6
ZSYsIGludCYsIENvbG9yJik7CisgICAgICAgIGJvb2wgZ2V0U2hhZG93KEludFNpemUmLCBpbnQm
LCBDb2xvciYpIGNvbnN0OwogICAgICAgICB2b2lkIGNsZWFyU2hhZG93KCk7CiAKICAgICAgICAg
dm9pZCBpbml0Rm9jdXNSaW5nKGludCB3aWR0aCwgaW50IG9mZnNldCk7CmRpZmYgLS1naXQgYS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0ZvbnRDYWlyby5jcHAgYi9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2NhaXJvL0ZvbnRDYWlyby5jcHAKaW5kZXggZmQxNWVjOS4uYjM4ZDJl
NSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9Gb250Q2Fpcm8u
Y3BwCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vRm9udENhaXJvLmNwcApA
QCAtNTcsMTAgKzU3LDEwIEBAIHZvaWQgRm9udDo6ZHJhd0dseXBocyhHcmFwaGljc0NvbnRleHQq
IGNvbnRleHQsIGNvbnN0IFNpbXBsZUZvbnREYXRhKiBmb250LCBjb25zCiAgICAgSW50U2l6ZSBz
aGFkb3dTaXplOwogICAgIGludCBzaGFkb3dCbHVyOwogICAgIENvbG9yIHNoYWRvd0NvbG9yOwot
ICAgIGNvbnRleHQtPmdldFNoYWRvdyhzaGFkb3dTaXplLCBzaGFkb3dCbHVyLCBzaGFkb3dDb2xv
cik7CisgICAgYm9vbCBoYXNTaGFkb3cgPSBjb250ZXh0LT50ZXh0RHJhd2luZ01vZGUoKSA9PSBj
VGV4dEZpbGwgJiYKKyAgICAgICAgY29udGV4dC0+Z2V0U2hhZG93KHNoYWRvd1NpemUsIHNoYWRv
d0JsdXIsIHNoYWRvd0NvbG9yKTsKIAogICAgIC8vIFRPRE86IEJsdXIgc3VwcG9ydAotICAgIGJv
b2wgaGFzU2hhZG93ID0gY29udGV4dC0+dGV4dERyYXdpbmdNb2RlKCkgPT0gY1RleHRGaWxsICYm
IHNoYWRvd0NvbG9yLmlzVmFsaWQoKSAmJiAoc2hhZG93U2l6ZS53aWR0aCgpIHx8IHNoYWRvd1Np
emUuaGVpZ2h0KCkpOwogICAgIGlmIChoYXNTaGFkb3cpIHsKICAgICAgICAgLy8gRGlzYWJsZSBn
cmFwaGljcyBjb250ZXh0IHNoYWRvd3MgKG5vdCB5ZXQgaW1wbGVtZW50ZWQpIGFuZCBwYWludCB0
aGVtIG1hbnVhbGx5CiAgICAgICAgIGNvbnRleHQtPmNsZWFyU2hhZG93KCk7CmRpZmYgLS1naXQg
YS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L0ZvbnRRdC5jcHAgYi9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL3F0L0ZvbnRRdC5jcHAKaW5kZXggNjQ3NjA3ZS4uMGYzNGFmYSAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9Gb250UXQuY3BwCisrKyBiL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvRm9udFF0LmNwcApAQCAtMTI5LDE0ICsxMjksMTMgQEAg
dm9pZCBGb250OjpkcmF3VGV4dChHcmFwaGljc0NvbnRleHQqIGN0eCwgY29uc3QgVGV4dFJ1biYg
cnVuLCBjb25zdCBGbG9hdFBvaW50JgogICAgIENvbG9yIGNvbG9yID0gY3R4LT5maWxsQ29sb3Io
KTsKICAgICBwLT5zZXRQZW4oUUNvbG9yKGNvbG9yKSk7CiAKKyAgICBRU3RyaW5nIHN0cmluZyA9
IHFzdHJpbmcocnVuKTsKKwogICAgIC8vIHRleHQgc2hhZG93CiAgICAgSW50U2l6ZSBzaGFkb3dT
aXplOwogICAgIGludCBzaGFkb3dCbHVyOwogICAgIENvbG9yIHNoYWRvd0NvbG9yOwotICAgIGN0
eC0+Z2V0U2hhZG93KHNoYWRvd1NpemUsIHNoYWRvd0JsdXIsIHNoYWRvd0NvbG9yKTsKLSAgICBi
b29sIGhhc1NoYWRvdyA9IGN0eC0+dGV4dERyYXdpbmdNb2RlKCkgPT0gY1RleHRGaWxsICYmIHNo
YWRvd0NvbG9yLmlzVmFsaWQoKSAmJiAoc2hhZG93U2l6ZS53aWR0aCgpIHx8IHNoYWRvd1NpemUu
aGVpZ2h0KCkpOwotCi0gICAgUVN0cmluZyBzdHJpbmcgPSBxc3RyaW5nKHJ1bik7CisgICAgYm9v
bCBoYXNTaGFkb3cgPSBjdHgtPnRleHREcmF3aW5nTW9kZSgpID09IGNUZXh0RmlsbCAmJiBjdHgt
PmdldFNoYWRvdyhzaGFkb3dTaXplLCBzaGFkb3dCbHVyLCBzaGFkb3dDb2xvcik7CiAKICAgICBp
ZiAoZnJvbSA+IDAgfHwgdG8gPCBydW4ubGVuZ3RoKCkpIHsKICAgICAgICAgUVRleHRMYXlvdXQg
bGF5b3V0KHN0cmluZywgbV9mb250KTsKQEAgLTE0OSw2ICsxNDgsNyBAQCB2b2lkIEZvbnQ6OmRy
YXdUZXh0KEdyYXBoaWNzQ29udGV4dCogY3R4LCBjb25zdCBUZXh0UnVuJiBydW4sIGNvbnN0IEZs
b2F0UG9pbnQmCiAgICAgICAgIFFGb250TWV0cmljcyBmbShtX2ZvbnQpOwogICAgICAgICBpbnQg
YXNjZW50ID0gZm0uYXNjZW50KCk7CiAgICAgICAgIFFSZWN0RiBjbGlwKHBvaW50LngoKSArIHgx
LCBwb2ludC55KCkgLSBhc2NlbnQsIHgyIC0geDEsIGZtLmhlaWdodCgpKTsKKwogICAgICAgICBp
ZiAoaGFzU2hhZG93KSB7CiAgICAgICAgICAgICAvLyBUT0RPOiB3aGVuIGJsdXIgc3VwcG9ydCBp
cyBhZGRlZCwgdGhlIGNsaXAgd2lsbCBuZWVkIHRvIGFjY291bnQKICAgICAgICAgICAgIC8vIGZv
ciB0aGUgYmx1ciByYWRpdXMKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
cXQvR3JhcGhpY3NDb250ZXh0UXQuY3BwIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9H
cmFwaGljc0NvbnRleHRRdC5jcHAKaW5kZXggYWZjYTEzZC4uOWUyOTkxMSAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9HcmFwaGljc0NvbnRleHRRdC5jcHAKKysrIGIv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9HcmFwaGljc0NvbnRleHRRdC5jcHAKQEAgLTQ1
OCw5ICs0NTgsNyBAQCB2b2lkIEdyYXBoaWNzQ29udGV4dDo6ZHJhd0xpbmUoY29uc3QgSW50UG9p
bnQmIHBvaW50MSwgY29uc3QgSW50UG9pbnQmIHBvaW50MikKICAgICBJbnRTaXplIHNoYWRvd1Np
emU7CiAgICAgaW50IHNoYWRvd0JsdXI7CiAgICAgQ29sb3Igc2hhZG93Q29sb3I7Ci0gICAgZ2V0
U2hhZG93KHNoYWRvd1NpemUsIHNoYWRvd0JsdXIsIHNoYWRvd0NvbG9yKTsKLSAgICBib29sIGhh
c1NoYWRvdyA9IHRleHREcmF3aW5nTW9kZSgpID09IGNUZXh0RmlsbCAmJiBzaGFkb3dDb2xvci5p
c1ZhbGlkKCkgJiYgKHNoYWRvd1NpemUud2lkdGgoKSB8fCBzaGFkb3dTaXplLmhlaWdodCgpKTsK
LSAgICBpZiAoaGFzU2hhZG93KSB7CisgICAgaWYgKHRleHREcmF3aW5nTW9kZSgpID09IGNUZXh0
RmlsbCAmJiBnZXRTaGFkb3coc2hhZG93U2l6ZSwgc2hhZG93Qmx1ciwgc2hhZG93Q29sb3IpKSB7
CiAgICAgICAgIHAtPnNhdmUoKTsKICAgICAgICAgcC0+dHJhbnNsYXRlKHNoYWRvd1NpemUud2lk
dGgoKSwgc2hhZG93U2l6ZS5oZWlnaHQoKSk7CiAgICAgICAgIHAtPnNldFBlbihRQ29sb3Ioc2hh
ZG93Q29sb3IpKTsKLS0gCjEuNS41Cgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>