<?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>23042</bug_id>
          
          <creation_ts>2008-12-30 13:20:58 -0800</creation_ts>
          <short_desc>Remove reflection repaint hack in computeAbsoluteRepaintRect()</short_desc>
          <delta_ts>2008-12-30 16:12:54 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Layout and Rendering</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Mac</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>1</everconfirmed>
          <reporter name="Simon Fraser (smfr)">simon.fraser</reporter>
          <assigned_to name="Simon Fraser (smfr)">simon.fraser</assigned_to>
          <cc>hyatt</cc>
    
    <cc>mitz</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>103828</commentid>
    <comment_count>0</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2008-12-30 13:20:58 -0800</bug_when>
    <thetext>RenderBox::computeAbsoluteRepaintRect() has a horrible hack that does a repaint if the object has a reflection.

This is a horrible hack, and ugly for the reasons explained in the comments.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>103829</commentid>
    <comment_count>1</comment_count>
      <attachid>26322</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2008-12-30 14:02:28 -0800</bug_when>
    <thetext>Created attachment 26322
Patch, changelog, testcase</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>103835</commentid>
    <comment_count>2</comment_count>
      <attachid>26322</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2008-12-30 14:25:53 -0800</bug_when>
    <thetext>Comment on attachment 26322
Patch, changelog, testcase

&gt; +    if (hasReflection()) {
&gt; +        IntRect rectInReflection = reflectedRect(rect);
&gt; +        rect.unite(rectInReflection);
&gt;      }

I think this would read better without the local variable:

    if (hasReflection())
        rect.unite(reflectedRect(rect));

&gt; +    IntRect result;
&gt; +    if (!m_style-&gt;boxReflect())
&gt; +        return result;
&gt; +
&gt; +    IntRect box = borderBox();
&gt; +    result = r;

I don&apos;t think it&apos;s so great to use that empty result in this way. I&apos;d write it like this:

    if (!m_style-&gt;boxReflect())
        return IntRect();

    IntRect box = borderBox();
    IntRect result = r;

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>103845</commentid>
    <comment_count>3</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2008-12-30 16:12:54 -0800</bug_when>
    <thetext>Committing to http://svn.webkit.org/repository/webkit/trunk ...
	M	LayoutTests/ChangeLog
	A	LayoutTests/fast/repaint/reflection-redraw.html
	A	LayoutTests/platform/mac/fast/repaint/reflection-redraw-expected.checksum
	A	LayoutTests/platform/mac/fast/repaint/reflection-redraw-expected.png
	A	LayoutTests/platform/mac/fast/repaint/reflection-redraw-expected.txt
	M	WebCore/ChangeLog
	M	WebCore/rendering/RenderBox.cpp
	M	WebCore/rendering/RenderObject.cpp
	M	WebCore/rendering/RenderObject.h
Committed r39522
</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>26322</attachid>
            <date>2008-12-30 14:02:28 -0800</date>
            <delta_ts>2008-12-30 14:25:53 -0800</delta_ts>
            <desc>Patch, changelog, testcase</desc>
            <filename>23042_patch.txt</filename>
            <type>text/plain</type>
            <size>9911</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAxMjYxOTY3Li42Y2FmZDNjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMDgtMTIt
MzAgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTIzMDQyCisgICAgICAgIAorICAgICAgICBSZXBhaW50IHRlc3Qg
Zm9yIGNvbnRlbnQgaW5zaWRlIHJlZmxlY3Rpb25zLgorICAgICAgICAKKyAgICAgICAgKiBmYXN0
L3JlcGFpbnQvcmVmbGVjdGlvbi1yZWRyYXcuaHRtbDogQWRkZWQuCisgICAgICAgICogcGxhdGZv
cm0vbWFjL2Zhc3QvcmVwYWludC9yZWZsZWN0aW9uLXJlZHJhdy1leHBlY3RlZC5jaGVja3N1bTog
QWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vbWFjL2Zhc3QvcmVwYWludC9yZWZsZWN0aW9uLXJl
ZHJhdy1leHBlY3RlZC5wbmc6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL21hYy9mYXN0L3Jl
cGFpbnQvcmVmbGVjdGlvbi1yZWRyYXctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKwogMjAwOC0xMi0y
OSAgT2xpdmVyIEh1bnQgIDxvbGl2ZXJAYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5
IENhbWVyb24gWndhcmljaC4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvcmVwYWludC9y
ZWZsZWN0aW9uLXJlZHJhdy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9yZXBhaW50L3JlZmxlY3Rp
b24tcmVkcmF3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjg0MjZj
ZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvcmVwYWludC9yZWZsZWN0aW9u
LXJlZHJhdy5odG1sCkBAIC0wLDAgKzEsNjkgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
VzNDLy9EVEQgSFRNTCA0LjAxLy9FTiIKKyAgImh0dHA6Ly93d3cudzMub3JnL1RSL2h0bWw0L3N0
cmljdC5kdGQiPgorPGh0bWw+CisgIDxoZWFkPgorICAgIDxtZXRhIGh0dHAtZXF1aXY9IkNvbnRl
bnQtdHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04Ij4KKyAgICA8dGl0bGU+
UmVmbGVjdGlvbiBSZWRyYXc8L3RpdGxlPgorICAgIDxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyIgbWVk
aWE9InNjcmVlbiI+CisgICAgICAjY29udGFpbmVyIHsKKyAgICAgICAgcG9zaXRpb246IGFic29s
dXRlOworICAgICAgICB0b3A6IDEyMHB4OworICAgICAgfQorICAgICAgLmJveCB7CisgICAgICAg
IHBvc2l0aW9uOiBhYnNvbHV0ZTsKKyAgICAgICAgd2lkdGg6IDE1MHB4OworICAgICAgICBoZWln
aHQ6IDEwMHB4OworICAgICAgICBtYXJnaW46IDEwcHg7CisgICAgICAgIHBhZGRpbmc6IDEwcHg7
CisgICAgICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDsKKyAgICAgICAgdGV4dC1h
bGlnbjogY2VudGVyOworICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBibGFjazsKKyAgICAgICAg
YmFja2dyb3VuZC1jb2xvcjogZ3JheTsKKyAgICAgIH0KKyAgICAgIC5yZWZsZWN0IHsKKyAgICAg
ICAgYmFja2dyb3VuZC1jb2xvcjogZ3JheTsKKyAgICAgICAgLXdlYmtpdC1ib3gtcmVmbGVjdDog
bGVmdCA1cHg7CisgICAgICB9CisgICAgICAKKyAgICA8L3N0eWxlPgorICAgIDxzY3JpcHQgc3Jj
PSJyZXBhaW50LmpzIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIGNoYXJzZXQ9InV0Zi04Ij48L3Nj
cmlwdD4KKyAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgY2hhcnNldD0idXRmLTgi
PgorICAgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICAgICAgbGF5b3V0
VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOworCisgICAgICBmdW5jdGlvbiByZXBhaW50
VGVzdCgpCisgICAgICB7CisgICAgICAgIHZhciBwYXJhcyA9IGRvY3VtZW50LmdldEVsZW1lbnRz
QnlUYWdOYW1lKCdwJyk7CisgICAgICAgIHdpbmRvdy5jb25zb2xlLmxvZygnaGVyZScpCisgICAg
ICAgIGZvciAodmFyIGkgPSAwOyBpIDwgcGFyYXMubGVuZ3RoOyArK2kpCisgICAgICAgICAgcGFy
YXNbaV0uc3R5bGUuY29sb3IgPSAnZ3JlZW4nOworICAgICAgfQorCisgICAgICBmdW5jdGlvbiBz
dGFydFRlc3QoKQorICAgICAgeworICAgICAgICBydW5SZXBhaW50VGVzdCgpOworICAgICAgICBp
ZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgICAgICAgIGxheW91dFRlc3RDb250
cm9sbGVyLm5vdGlmeURvbmUoKTsKKyAgICAgIH0KKyAgICA8L3NjcmlwdD4KKyAgPC9oZWFkPgor
PGJvZHkgb25sb2FkPSJzdGFydFRlc3QoKSI+CisgIDxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAg
PGRpdiBjbGFzcz0iYm94IHJlZmxlY3QtdG9wIiAgc3R5bGU9ImxlZnQ6IDI3NXB4OyAtd2Via2l0
LWJveC1yZWZsZWN0OiBhYm92ZSAxMHB4OyI+CisgICAgICA8cD5UaGUgY29sb3Igb2YgdGhpcyB0
ZXh0IGluIHRoZSByZWZsZWN0aW9uIHNob3VsZCBiZSBhbmltYXRpbmc8L3A+CisgICAgPC9kaXY+
CisKKyAgICA8ZGl2IGNsYXNzPSJib3ggcmVmbGVjdC1sZWZ0IiBzdHlsZT0idG9wOiAxMTBweDsg
bGVmdDogMjAwcHg7IC13ZWJraXQtYm94LXJlZmxlY3Q6IGxlZnQgMTBweDsiPgorICAgICAgPHA+
VGhlIGNvbG9yIG9mIHRoaXMgdGV4dCBpbiB0aGUgcmVmbGVjdGlvbiBzaG91bGQgYmUgYW5pbWF0
aW5nPC9wPgorICAgIDwvZGl2PgorCisgICAgPGRpdiBjbGFzcz0iYm94IHJlZmxlY3QtcmlnaHQi
ICBzdHlsZT0idG9wOiAxMTBweDsgbGVmdDogMzUwcHg7IC13ZWJraXQtYm94LXJlZmxlY3Q6IHJp
Z2h0IDEwcHg7Ij4KKyAgICAgIDxwPlRoZSBjb2xvciBvZiB0aGlzIHRleHQgaW4gdGhlIHJlZmxl
Y3Rpb24gc2hvdWxkIGJlIGFuaW1hdGluZzwvcD4KKyAgICA8L2Rpdj4KKworICAgIDxkaXYgY2xh
c3M9ImJveCByZWZsZWN0LWJvdHRvbSIgIHN0eWxlPSJ0b3A6IDIyMHB4OyBsZWZ0OiAyNzVweDsg
LXdlYmtpdC1ib3gtcmVmbGVjdDogYmVsb3cgMTBweDsiPgorICAgICAgPHA+VGhlIGNvbG9yIG9m
IHRoaXMgdGV4dCBpbiB0aGUgcmVmbGVjdGlvbiBzaG91bGQgYmUgYW5pbWF0aW5nPC9wPgorICAg
IDwvZGl2PgorICA8L2Rpdj4KKworPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3JlcGFpbnQvcmVmbGVj
dGlvbi1yZWRyYXctZXhwZWN0ZWQuY2hlY2tzdW0gYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMv
ZmFzdC9yZXBhaW50L3JlZmxlY3Rpb24tcmVkcmF3LWV4cGVjdGVkLmNoZWNrc3VtCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg2NDM5NjQKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9yZXBhaW50L3JlZmxlY3Rpb24tcmVkcmF3LWV4
cGVjdGVkLmNoZWNrc3VtCkBAIC0wLDAgKzEgQEAKK2MyNTJjYmFiMDg1N2VmZWJlMzRmMzc2NDUy
ZmQ2MTljClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vbWFjL2Zhc3QvcmVwYWludC9yZWZsZWN0aW9uLXJlZHJhdy1leHBlY3RlZC5w
bmcgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9yZXBhaW50L3JlZmxlY3Rpb24tcmVk
cmF3LWV4cGVjdGVkLnBuZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jNzE1
MjkwCkJpbmFyeSBmaWxlcyAvZGV2L251bGwgYW5kIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFj
L2Zhc3QvcmVwYWludC9yZWZsZWN0aW9uLXJlZHJhdy1leHBlY3RlZC5wbmcgZGlmZmVyCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9yZXBhaW50L3JlZmxlY3Rpb24t
cmVkcmF3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3JlcGFp
bnQvcmVmbGVjdGlvbi1yZWRyYXctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAuLmFhMjdmYmQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9tYWMvZmFzdC9yZXBhaW50L3JlZmxlY3Rpb24tcmVkcmF3LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDM0IEBACitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMzc6IGhlcmUKK2xheWVyIGF0ICgw
LDApIHNpemUgODAweDYwMAorICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAorbGF5
ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4OAorICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6
ZSA4MDB4OAorICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUgNzg0eDAKK2xheWVy
IGF0ICgyOTMsMTMwKSBzaXplIDE1MHgxMDAKKyAgUmVuZGVyQmxvY2sgKHBvc2l0aW9uZWQpIHtE
SVZ9IGF0ICgyODUsMTApIHNpemUgMTUweDEwMCBbYmdjb2xvcj0jODA4MDgwXSBbYm9yZGVyOiAo
MXB4IHNvbGlkICMwMDAwMDApXQorICAgIFJlbmRlckJsb2NrIHtQfSBhdCAoMTEsMjcpIHNpemUg
MTI4eDU0IFtjb2xvcj0jMDA4MDAwXQorICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgxMiww
KSBzaXplIDEyN3g1NAorICAgICAgICB0ZXh0IHJ1biBhdCAoMTIsMCkgd2lkdGggMTA0OiAiVGhl
IGNvbG9yIG9mIHRoaXMiCisgICAgICAgIHRleHQgcnVuIGF0ICgxLDE4KSB3aWR0aCAxMjU6ICJ0
ZXh0IGluIHRoZSByZWZsZWN0aW9uIgorICAgICAgICB0ZXh0IHJ1biBhdCAoMCwzNikgd2lkdGgg
MTI3OiAic2hvdWxkIGJlIGFuaW1hdGluZyIKK2xheWVyIGF0ICgyMTgsMjQwKSBzaXplIDE1MHgx
MDAKKyAgUmVuZGVyQmxvY2sgKHBvc2l0aW9uZWQpIHtESVZ9IGF0ICgyMTAsMTIwKSBzaXplIDE1
MHgxMDAgW2JnY29sb3I9IzgwODA4MF0gW2JvcmRlcjogKDFweCBzb2xpZCAjMDAwMDAwKV0KKyAg
ICBSZW5kZXJCbG9jayB7UH0gYXQgKDExLDI3KSBzaXplIDEyOHg1NCBbY29sb3I9IzAwODAwMF0K
KyAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMTIsMCkgc2l6ZSAxMjd4NTQKKyAgICAgICAg
dGV4dCBydW4gYXQgKDEyLDApIHdpZHRoIDEwNDogIlRoZSBjb2xvciBvZiB0aGlzIgorICAgICAg
ICB0ZXh0IHJ1biBhdCAoMSwxOCkgd2lkdGggMTI1OiAidGV4dCBpbiB0aGUgcmVmbGVjdGlvbiIK
KyAgICAgICAgdGV4dCBydW4gYXQgKDAsMzYpIHdpZHRoIDEyNzogInNob3VsZCBiZSBhbmltYXRp
bmciCitsYXllciBhdCAoMzY4LDI0MCkgc2l6ZSAxNTB4MTAwCisgIFJlbmRlckJsb2NrIChwb3Np
dGlvbmVkKSB7RElWfSBhdCAoMzYwLDEyMCkgc2l6ZSAxNTB4MTAwIFtiZ2NvbG9yPSM4MDgwODBd
IFtib3JkZXI6ICgxcHggc29saWQgIzAwMDAwMCldCisgICAgUmVuZGVyQmxvY2sge1B9IGF0ICgx
MSwyNykgc2l6ZSAxMjh4NTQgW2NvbG9yPSMwMDgwMDBdCisgICAgICBSZW5kZXJUZXh0IHsjdGV4
dH0gYXQgKDEyLDApIHNpemUgMTI3eDU0CisgICAgICAgIHRleHQgcnVuIGF0ICgxMiwwKSB3aWR0
aCAxMDQ6ICJUaGUgY29sb3Igb2YgdGhpcyIKKyAgICAgICAgdGV4dCBydW4gYXQgKDEsMTgpIHdp
ZHRoIDEyNTogInRleHQgaW4gdGhlIHJlZmxlY3Rpb24iCisgICAgICAgIHRleHQgcnVuIGF0ICgw
LDM2KSB3aWR0aCAxMjc6ICJzaG91bGQgYmUgYW5pbWF0aW5nIgorbGF5ZXIgYXQgKDI5MywzNTAp
IHNpemUgMTUweDIxMAorICBSZW5kZXJCbG9jayAocG9zaXRpb25lZCkge0RJVn0gYXQgKDI4NSwy
MzApIHNpemUgMTUweDEwMCBbYmdjb2xvcj0jODA4MDgwXSBbYm9yZGVyOiAoMXB4IHNvbGlkICMw
MDAwMDApXQorICAgIFJlbmRlckJsb2NrIHtQfSBhdCAoMTEsMjcpIHNpemUgMTI4eDU0IFtjb2xv
cj0jMDA4MDAwXQorICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgxMiwwKSBzaXplIDEyN3g1
NAorICAgICAgICB0ZXh0IHJ1biBhdCAoMTIsMCkgd2lkdGggMTA0OiAiVGhlIGNvbG9yIG9mIHRo
aXMiCisgICAgICAgIHRleHQgcnVuIGF0ICgxLDE4KSB3aWR0aCAxMjU6ICJ0ZXh0IGluIHRoZSBy
ZWZsZWN0aW9uIgorICAgICAgICB0ZXh0IHJ1biBhdCAoMCwzNikgd2lkdGggMTI3OiAic2hvdWxk
IGJlIGFuaW1hdGluZyIKZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9D
aGFuZ2VMb2cKaW5kZXggYTU4MjY5Yi4uODAxZjFiNSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFu
Z2VMb2cKKysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMSBAQAorMjAwOC0xMi0z
MCAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjMwNDIKKyAgICAgICAgCisgICAgICAgIFJhdGhlciB0aGFuIGRv
aW5nIGEgcmVwYWludCgpIGluc2lkZSBvZiBjb21wdXRlQWJzb2x1dGVSZXBhaW50UmVjdCgpCisg
ICAgICAgIHdoZW4gdGhlcmUgaXMgYSByZWZsZWN0aW9uLCBjb21wdXRlIHRoZSBsb2NhdGlvbiBv
ZiB0aGUgcmVjdCBpbnNpZGUKKyAgICAgICAgdGhlIHJlZmxlY3Rpb24gYW5kIHRha2UgdGhlIHVu
aW9uIG9mIHRoZSB1bnJlZmxlY3RlZCBhbmQgcmVmbGVjdGVkIHJlY3RzLgorICAgICAgICAKKyAg
ICAgICAgVGVzdDogZmFzdC9yZXBhaW50L3JlZmxlY3Rpb24tcmVkcmF3Lmh0bWwKKworICAgICAg
ICAqIHJlbmRlcmluZy9SZW5kZXJCb3guY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQm94
Ojpjb21wdXRlQWJzb2x1dGVSZXBhaW50UmVjdCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRl
ck9iamVjdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJPYmplY3Q6OnJlZmxlY3RlZFJl
Y3QpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJPYmplY3QuaDoKKwogMjAwOC0xMi0zMCAg
T2xpdmVyIEh1bnQgIDxvbGl2ZXJAYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEFu
dHRpIEtvaXZpc3RvLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNw
cCBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAKaW5kZXggNzM5YzBiOC4uNmRmMzZj
ZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcAorKysgYi9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwCkBAIC0xMjAwLDEzICsxMjAwLDkgQEAgdm9pZCBS
ZW5kZXJCb3g6OmNvbXB1dGVBYnNvbHV0ZVJlcGFpbnRSZWN0KEludFJlY3QmIHJlY3QsIGJvb2wg
Zml4ZWQpCiAgICAgICAgIH0KICAgICB9CiAKLSAgICAvLyBGSVhNRTogVGhpcyBpcyByZWFsbHkg
YSBoYWNrLiAgSWYgdGhlIHJlZmxlY3Rpb24gY2F1c2VkIHRoZSByZXBhaW50LCB3ZSBkb24ndCBo
YXZlIHRvIAotICAgIC8vIGRvIHRoaXMgKGFuZCB5ZXQgd2UgZG8pLiAgSWYgdGhlcmUgYXJlIG5l
c3RlZCByZWZsZWN0aW9ucywgdGhlbiB0aGUgc2luZ2xlIHN0YXRpYyBpcyBpbnN1ZmZpY2llbnQu
Ci0gICAgc3RhdGljIGJvb2wgaW52YWxpZGF0aW5nUmVmbGVjdGlvbjsKLSAgICBpZiAoaGFzUmVm
bGVjdGlvbigpICYmICFpbnZhbGlkYXRpbmdSZWZsZWN0aW9uKSB7Ci0gICAgICAgIGludmFsaWRh
dGluZ1JlZmxlY3Rpb24gPSB0cnVlOwotICAgICAgICBsYXllcigpLT5yZWZsZWN0aW9uKCktPnJl
cGFpbnRSZWN0YW5nbGUocmVjdCk7Ci0gICAgICAgIGludmFsaWRhdGluZ1JlZmxlY3Rpb24gPSBm
YWxzZTsKKyAgICBpZiAoaGFzUmVmbGVjdGlvbigpKSB7CisgICAgICAgIEludFJlY3QgcmVjdElu
UmVmbGVjdGlvbiA9IHJlZmxlY3RlZFJlY3QocmVjdCk7CisgICAgICAgIHJlY3QudW5pdGUocmVj
dEluUmVmbGVjdGlvbik7CiAgICAgfQogCiAgICAgUmVuZGVyT2JqZWN0KiBvID0gY29udGFpbmVy
KCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwIGIvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcAppbmRleCA5ZTQ0YjJjLi42ZTM5OTU2IDEw
MDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwCisrKyBiL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAKQEAgLTMyNDUsNiArMzI0NSwzMSBAQCBpbnQg
UmVuZGVyT2JqZWN0OjpyZWZsZWN0aW9uT2Zmc2V0KCkgY29uc3QKICAgICByZXR1cm4gbV9zdHls
ZS0+Ym94UmVmbGVjdCgpLT5vZmZzZXQoKS5jYWxjVmFsdWUoYm9yZGVyQm94KCkuaGVpZ2h0KCkp
OwogfQogCitJbnRSZWN0IFJlbmRlck9iamVjdDo6cmVmbGVjdGVkUmVjdChjb25zdCBJbnRSZWN0
JiByKSBjb25zdAoreworICAgIEludFJlY3QgcmVzdWx0OworICAgIGlmICghbV9zdHlsZS0+Ym94
UmVmbGVjdCgpKQorICAgICAgICByZXR1cm4gcmVzdWx0OworCisgICAgSW50UmVjdCBib3ggPSBi
b3JkZXJCb3goKTsKKyAgICByZXN1bHQgPSByOworICAgIHN3aXRjaCAobV9zdHlsZS0+Ym94UmVm
bGVjdCgpLT5kaXJlY3Rpb24oKSkgeworICAgICAgICBjYXNlIFJlZmxlY3Rpb25CZWxvdzoKKyAg
ICAgICAgICAgIHJlc3VsdC5zZXRZKGJveC5ib3R0b20oKSArIHJlZmxlY3Rpb25PZmZzZXQoKSAr
IChib3guYm90dG9tKCkgLSByLmJvdHRvbSgpKSk7CisgICAgICAgICAgICBicmVhazsKKyAgICAg
ICAgY2FzZSBSZWZsZWN0aW9uQWJvdmU6CisgICAgICAgICAgICByZXN1bHQuc2V0WShib3gueSgp
IC0gcmVmbGVjdGlvbk9mZnNldCgpIC0gYm94LmhlaWdodCgpICsgKGJveC5ib3R0b20oKSAtIHIu
Ym90dG9tKCkpKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIFJlZmxlY3Rpb25M
ZWZ0OgorICAgICAgICAgICAgcmVzdWx0LnNldFgoYm94LngoKSAtIHJlZmxlY3Rpb25PZmZzZXQo
KSAtIGJveC53aWR0aCgpICsgKGJveC5yaWdodCgpIC0gci5yaWdodCgpKSk7CisgICAgICAgICAg
ICBicmVhazsKKyAgICAgICAgY2FzZSBSZWZsZWN0aW9uUmlnaHQ6CisgICAgICAgICAgICByZXN1
bHQuc2V0WChib3gucmlnaHQoKSArIHJlZmxlY3Rpb25PZmZzZXQoKSArIChib3gucmlnaHQoKSAt
IHIucmlnaHQoKSkpOworICAgICAgICAgICAgYnJlYWs7CisgICAgfQorICAgIHJldHVybiByZXN1
bHQ7Cit9CisKICNpZiBFTkFCTEUoU1ZHKQogCiBGbG9hdFJlY3QgUmVuZGVyT2JqZWN0OjpyZWxh
dGl2ZUJCb3goYm9vbCkgY29uc3QKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ck9iamVjdC5oIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmgKaW5kZXggZmU5OTg1
OS4uN2EwMzlmZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmgK
KysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmgKQEAgLTc4NSw2ICs3ODUsOCBA
QCBwdWJsaWM6CiAgICAgYm9vbCBoYXNSZWZsZWN0aW9uKCkgY29uc3QgeyByZXR1cm4gbV9oYXNS
ZWZsZWN0aW9uOyB9CiAgICAgSW50UmVjdCByZWZsZWN0aW9uQm94KCkgY29uc3Q7CiAgICAgaW50
IHJlZmxlY3Rpb25PZmZzZXQoKSBjb25zdDsKKyAgICAvLyBHaXZlbiBhIHJlY3QgaW4gdGhlIG9i
amVjdCdzIGNvb3JkaW5hdGUgc3BhY2UsIHJldHVybnMgdGhlIGNvcnJlc3BvbmRpbmcgcmVjdCBp
biB0aGUgcmVmbGVjdGlvbi4KKyAgICBJbnRSZWN0IHJlZmxlY3RlZFJlY3QoY29uc3QgSW50UmVj
dCYpIGNvbnN0OwogCiAgICAgLy8gQXBwbGllZCBhcyBhICJzbG9wIiB0byBkaXJ0eSByZWN0IGNo
ZWNrcyBkdXJpbmcgdGhlIG91dGxpbmUgcGFpbnRpbmcgcGhhc2UncyBkaXJ0eS1yZWN0IGNoZWNr
cy4KICAgICBpbnQgbWF4aW1hbE91dGxpbmVTaXplKFBhaW50UGhhc2UpIGNvbnN0Owo=
</data>
<flag name="review"
          id="12469"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>