<?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>23552</bug_id>
          
          <creation_ts>2009-01-26 14:49:25 -0800</creation_ts>
          <short_desc>Dashcode evaluator no longer works after making ExecStates actual call frames</short_desc>
          <delta_ts>2009-01-27 14:56:34 -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>JavaScriptCore</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="Cameron Zwarich (cpst)">zwarich</reporter>
          <assigned_to name="Cameron Zwarich (cpst)">zwarich</assigned_to>
          <cc>darin</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>107087</commentid>
    <comment_count>0</comment_count>
    <who name="Cameron Zwarich (cpst)">zwarich</who>
    <bug_when>2009-01-26 14:49:25 -0800</bug_when>
    <thetext>Dashcode will crash and burn hard when using the evaluator because it saves a global call frame, even after global code has finished executing, and then uses this as a launching pad to execute new JS in the evaluator. The fix is to detect when Dashcode is attempting to do this and execute code from a global call frame instead.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>107095</commentid>
    <comment_count>1</comment_count>
      <attachid>27052</attachid>
    <who name="Cameron Zwarich (cpst)">zwarich</who>
    <bug_when>2009-01-26 15:02:55 -0800</bug_when>
    <thetext>Created attachment 27052
Proposed patch

There is a Radar for this, I just don&apos;t know the number. I should probably put it in the ChangeLog.

I noticed something odd with this patch -- the global scope chain&apos;s ref count never seems to decrease when using the evaluator. I don&apos;t see how this could have been caused by my patch, but I should figure out why this is happening after this patch lands and fix it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>107099</commentid>
    <comment_count>2</comment_count>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2009-01-26 15:15:12 -0800</bug_when>
    <thetext>The radar for this bug is rdar://problem/6398839
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>107106</commentid>
    <comment_count>3</comment_count>
    <who name="Cameron Zwarich (cpst)">zwarich</who>
    <bug_when>2009-01-26 15:58:32 -0800</bug_when>
    <thetext>Landed in r40274.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>27052</attachid>
            <date>2009-01-26 15:02:55 -0800</date>
            <delta_ts>2009-01-26 15:13:29 -0800</delta_ts>
            <desc>Proposed patch</desc>
            <filename>dashcode.diff</filename>
            <type>text/plain</type>
            <size>12421</size>
            <attacher name="Cameron Zwarich (cpst)">zwarich</attacher>
            
              <data encoding="base64">SW5kZXg6IEphdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDQwMjY2KQorKysgSmF2YVNjcmlwdENvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTYgQEAKKzIwMDktMDEtMjYgIENhbWVyb24g
WndhcmljaCAgPGN3endhcmljaEB1d2F0ZXJsb28uY2E+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQnVnIDIzNTUyOiBEYXNoY29kZSBldmFsdWF0b3Ig
bm8gbG9uZ2VyIHdvcmtzIGFmdGVyIG1ha2luZyBFeGVjU3RhdGVzIGFjdHVhbCBjYWxsIGZyYW1l
cworICAgICAgICA8aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNTUy
PgorCisgICAgICAgICogSmF2YVNjcmlwdENvcmUuZXhwOgorICAgICAgICAqIGRlYnVnZ2VyL0Rl
YnVnZ2VyLmNwcDoKKyAgICAgICAgKEpTQzo6ZXZhbHVhdGVJbkdsb2JhbENhbGxGcmFtZSk6IEFk
ZGVkIHNvIHRoYXQgV2ViU2NyaXB0Q2FsbEZyYW1lIGNhbgorICAgICAgICBldmFsdWF0ZSBKUyBz
dGFydGluZyBmcm9tIGEgZ2xvYmFsIGNhbGwgZnJhbWUuCisgICAgICAgICogZGVidWdnZXIvRGVi
dWdnZXIuaDoKKwogMjAwOS0wMS0yNSAgTWFyayBSb3dlICA8bXJvd2VAYXBwbGUuY29tPgogCiAg
ICAgICAgIFJ1YmJlci1zdGFtcGVkIGJ5IERhbiBCZXJuc3RlaW4uCkluZGV4OiBKYXZhU2NyaXB0
Q29yZS9KYXZhU2NyaXB0Q29yZS5leHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSmF2YVNjcmlwdENvcmUvSmF2
YVNjcmlwdENvcmUuZXhwCShyZXZpc2lvbiA0MDI0OCkKKysrIEphdmFTY3JpcHRDb3JlL0phdmFT
Y3JpcHRDb3JlLmV4cAkod29ya2luZyBjb3B5KQpAQCAtMTY0LDYgKzE2NCw3IEBAIF9fWk4zSlND
MTlpbml0aWFsaXplVGhyZWFkaW5nRXYKIF9fWk4zSlNDMjBjb25zdHJ1Y3RFbXB0eU9iamVjdEVQ
TlNfOUV4ZWNTdGF0ZUUKIF9fWk4zSlNDMjNvYmplY3RQcm90b0Z1bmNUb1N0cmluZ0VQTlNfOUV4
ZWNTdGF0ZUVQTlNfOEpTT2JqZWN0RU5TXzEwSlNWYWx1ZVB0ckVSS05TXzdBcmdMaXN0RQogX19a
TjNKU0MyM3NldFVwU3RhdGljRnVuY3Rpb25TbG90RVBOU185RXhlY1N0YXRlRVBLTlNfOUhhc2hF
bnRyeUVQTlNfOEpTT2JqZWN0RVJLTlNfMTBJZGVudGlmaWVyRVJOU18xMlByb3BlcnR5U2xvdEUK
K19fWk4zSlNDMjVldmFsdWF0ZUluR2xvYmFsQ2FsbEZyYW1lRVJLTlNfN1VTdHJpbmdFUk5TXzEw
SlNWYWx1ZVB0ckVQTlNfMTRKU0dsb2JhbE9iamVjdEUKIF9fWk4zSlNDNEhlYXAxMW9iamVjdENv
dW50RXYKIF9fWk4zSlNDNEhlYXAxNGFsbG9jYXRlTnVtYmVyRW0KIF9fWk4zSlNDNEhlYXAxNHBy
aW1hcnlIZWFwRW5kRXYKSW5kZXg6IEphdmFTY3JpcHRDb3JlL2RlYnVnZ2VyL0RlYnVnZ2VyLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBKYXZhU2NyaXB0Q29yZS9kZWJ1Z2dlci9EZWJ1Z2dlci5jcHAJKHJl
dmlzaW9uIDQwMjQ4KQorKysgSmF2YVNjcmlwdENvcmUvZGVidWdnZXIvRGVidWdnZXIuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC01MSw0ICs1MSwxOCBAQCB2b2lkIERlYnVnZ2VyOjpkZXRhY2goSlNH
bG9iYWxPYmplY3QqIGdsCiAgICAgZ2xvYmFsT2JqZWN0LT5zZXREZWJ1Z2dlcigwKTsKIH0KIAor
SlNWYWx1ZVB0ciBldmFsdWF0ZUluR2xvYmFsQ2FsbEZyYW1lKGNvbnN0IFVTdHJpbmcmIHNjcmlw
dCwgSlNWYWx1ZVB0ciYgZXhjZXB0aW9uLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KQor
eworICAgIENhbGxGcmFtZSogZ2xvYmFsQ2FsbEZyYW1lID0gZ2xvYmFsT2JqZWN0LT5nbG9iYWxF
eGVjKCk7CisKKyAgICBpbnQgZXJyTGluZTsKKyAgICBVU3RyaW5nIGVyck1zZzsKKyAgICBTb3Vy
Y2VDb2RlIHNvdXJjZSA9IG1ha2VTb3VyY2Uoc2NyaXB0KTsKKyAgICBSZWZQdHI8RXZhbE5vZGU+
IGV2YWxOb2RlID0gZ2xvYmFsT2JqZWN0LT5nbG9iYWxEYXRhKCktPnBhcnNlci0+cGFyc2U8RXZh
bE5vZGU+KGdsb2JhbENhbGxGcmFtZSwgZ2xvYmFsT2JqZWN0LT5kZWJ1Z2dlcigpLCBzb3VyY2Us
ICZlcnJMaW5lLCAmZXJyTXNnKTsKKyAgICBpZiAoIWV2YWxOb2RlKQorICAgICAgICByZXR1cm4g
RXJyb3I6OmNyZWF0ZShnbG9iYWxDYWxsRnJhbWUsIFN5bnRheEVycm9yLCBlcnJNc2csIGVyckxp
bmUsIHNvdXJjZS5wcm92aWRlcigpLT5hc0lEKCksIHNvdXJjZS5wcm92aWRlcigpLT51cmwoKSk7
CisKKyAgICByZXR1cm4gZ2xvYmFsT2JqZWN0LT5nbG9iYWxEYXRhKCktPmludGVycHJldGVyLT5l
eGVjdXRlKGV2YWxOb2RlLmdldCgpLCBnbG9iYWxDYWxsRnJhbWUsIGdsb2JhbE9iamVjdCwgZ2xv
YmFsQ2FsbEZyYW1lLT5zY29wZUNoYWluKCksICZleGNlcHRpb24pOworfQorCiB9IC8vIG5hbWVz
cGFjZSBKU0MKSW5kZXg6IEphdmFTY3JpcHRDb3JlL2RlYnVnZ2VyL0RlYnVnZ2VyLmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gSmF2YVNjcmlwdENvcmUvZGVidWdnZXIvRGVidWdnZXIuaAkocmV2aXNpb24gNDAy
NDgpCisrKyBKYXZhU2NyaXB0Q29yZS9kZWJ1Z2dlci9EZWJ1Z2dlci5oCSh3b3JraW5nIGNvcHkp
CkBAIC01NCw2ICs1NCwxMCBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgSGFzaFNldDxKU0ds
b2JhbE9iamVjdCo+IG1fZ2xvYmFsT2JqZWN0czsKICAgICB9OwogCisgICAgLy8gVGhpcyBtZXRo
b2QgZXhpc3RzIG9ubHkgZm9yIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5IHdpdGggZXhpc3RpbmcK
KyAgICAvLyBXZWJTY3JpcHREZWJ1Z2dlciBjbGllbnRzCisgICAgSlNWYWx1ZVB0ciBldmFsdWF0
ZUluR2xvYmFsQ2FsbEZyYW1lKGNvbnN0IFVTdHJpbmcmLCBKU1ZhbHVlUHRyJiBleGNlcHRpb24s
IEpTR2xvYmFsT2JqZWN0Kik7CisKIH0gLy8gbmFtZXNwYWNlIEpTQwogCiAjZW5kaWYgLy8gRGVi
dWdnZXJfaApJbmRleDogV2ViS2l0L21hYy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0
L21hYy9DaGFuZ2VMb2cJKHJldmlzaW9uIDQwMjY2KQorKysgV2ViS2l0L21hYy9DaGFuZ2VMb2cJ
KHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwzMyBAQAorMjAwOS0wMS0yNiAgQ2FtZXJvbiBad2Fy
aWNoICA8Y3d6d2FyaWNoQHV3YXRlcmxvby5jYT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBCdWcgMjM1NTI6IERhc2hjb2RlIGV2YWx1YXRvciBubyBs
b25nZXIgd29ya3MgYWZ0ZXIgbWFraW5nIEV4ZWNTdGF0ZXMgYWN0dWFsIGNhbGwgZnJhbWVzCisg
ICAgICAgIDxodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM1NTI+CisK
KyAgICAgICAgRGFzaGNvZGUgd2lsbCBjcmFzaCB3aGVuIHVzaW5nIHRoZSBldmFsdWF0b3IgYmVj
YXVzZSBpdCBzYXZlcyBhIGdsb2JhbCBjYWxsCisgICAgICAgIGZyYW1lLCBldmVuIGFmdGVyIGds
b2JhbCBjb2RlIGhhcyBmaW5pc2hlZCBleGVjdXRpbmcsIGFuZCB0aGVuIHVzZXMgdGhpcyBhcwor
ICAgICAgICBhIGxhdW5jaGluZyBwYWQgdG8gZXhlY3V0ZSBuZXcgSlMgaW4gdGhlIGV2YWx1YXRv
ci4gVGhlIGZpeCBpcyB0byBkZXRlY3QKKyAgICAgICAgd2hlbiBEYXNoY29kZSBpcyBhdHRlbXB0
aW5nIHRvIGRvIHRoaXMgYW5kIGV4ZWN1dGUgY29kZSBmcm9tIGEgZ2xvYmFsIGNhbGwKKyAgICAg
ICAgZnJhbWUgaW5zdGVhZC4gICAgICAgIAorCisgICAgICAgICogRm9yd2FyZGluZ0hlYWRlcnMv
cnVudGltZS9Qcm90ZWN0Lmg6IEFkZGVkLgorICAgICAgICAqIFdlYlZpZXcvV2ViU2NyaXB0RGVi
dWdEZWxlZ2F0ZS5tbToKKyAgICAgICAgKC1bV2ViU2NyaXB0Q2FsbEZyYW1lIF9pbml0V2l0aEds
b2JhbE9iamVjdDpkZWJ1Z2dlcjpjYWxsZXI6ZGVidWdnZXJDYWxsRnJhbWU6XSk6CisgICAgICAg
IEFkZGVkIGRlYnVnZ2VyLCBhIFdlYlNjcmlwdERlYnVnZ2VyKiBhcmd1bWVudC4KKyAgICAgICAg
KC1bV2ViU2NyaXB0Q2FsbEZyYW1lIGV2YWx1YXRlV2ViU2NyaXB0Ol0pOiBEZXRlY3Qgd2hlbiBE
YXNoY29kZSBpcyB1c2luZworICAgICAgICBhIHN0YWxlIFdlYlNjcmlwdENhbGxGcmFtZSB0byBl
eGVjdXRlIG5ldyBKUyBhbmQgZXZhbHVhdGUgaXQgc3RhcnRpbmcgZnJvbQorICAgICAgICB0aGUg
Z2xvYmFsIG9iamVjdCdzIGdsb2JhbCBjYWxsIGZyYW1lIGluc3RlYWQuCisgICAgICAgICogV2Vi
Vmlldy9XZWJTY3JpcHREZWJ1Z2dlci5oOgorICAgICAgICAoV2ViU2NyaXB0RGVidWdnZXI6Omds
b2JhbE9iamVjdCk6IEFkZGVkLgorICAgICAgICAoV2ViU2NyaXB0RGVidWdnZXI6Omdsb2JhbENh
bGxGcmFtZSk6IEFkZGVkLgorICAgICAgICAqIFdlYlZpZXcvV2ViU2NyaXB0RGVidWdnZXIubW06
CisgICAgICAgIChXZWJTY3JpcHREZWJ1Z2dlcjo6V2ViU2NyaXB0RGVidWdnZXIpOiBJbml0aWFs
aXplIG1fZ2xvYmFsT2JqZWN0LgorICAgICAgICAoV2ViU2NyaXB0RGVidWdnZXI6OmluaXRHbG9i
YWxDYWxsRnJhbWUpOiBDcmVhdGVkIGFzIGEgY2xvbmUgb2YgY2FsbEV2ZW50CisgICAgICAgIHNv
IHRoYXQgdGhlIGdsb2JhbCBjYWxsIGZyYW1lIGNhbiBiZSBzYXZlZCBpbW1lZGlhdGVseSBhZnRl
ciBiZWluZyBjcmVhdGVkLgorICAgICAgICAoV2ViU2NyaXB0RGVidWdnZXI6OmNhbGxFdmVudCk6
IFBhc3MgJ3RoaXMnIGFzIHRoZSBkZWJ1Z2dlciBhcmd1bWVudCBvZgorICAgICAgICBXZWJTY3Jp
cHRDYWxsRnJhbWUncyBfaW5pdFdpdGhHbG9iYWxPYmplY3QgbWV0aG9kLgorCiAyMDA5LTAxLTI2
ICBBbmRlcnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3
ZWQgYnkgU2FtIFdlaW5pZy4KSW5kZXg6IFdlYktpdC9tYWMvRm9yd2FyZGluZ0hlYWRlcnMvcnVu
dGltZS9Qcm90ZWN0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L21hYy9Gb3J3YXJkaW5nSGVhZGVy
cy9ydW50aW1lL1Byb3RlY3QuaAkocmV2aXNpb24gMCkKKysrIFdlYktpdC9tYWMvRm9yd2FyZGlu
Z0hlYWRlcnMvcnVudGltZS9Qcm90ZWN0LmgJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEgQEAKKyNp
bXBvcnQgPEphdmFTY3JpcHRDb3JlL1Byb3RlY3QuaD4KSW5kZXg6IFdlYktpdC9tYWMvV2ViVmll
dy9XZWJTY3JpcHREZWJ1Z0RlbGVnYXRlLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC9tYWMvV2Vi
Vmlldy9XZWJTY3JpcHREZWJ1Z0RlbGVnYXRlLm1tCShyZXZpc2lvbiA0MDI0OCkKKysrIFdlYktp
dC9tYWMvV2ViVmlldy9XZWJTY3JpcHREZWJ1Z0RlbGVnYXRlLm1tCSh3b3JraW5nIGNvcHkpCkBA
IC0zMiw2ICszMiw3IEBACiAjaW1wb3J0ICJXZWJGcmFtZUludGVybmFsLmgiCiAjaW1wb3J0ICJX
ZWJTY3JpcHREZWJ1Z0RlbGVnYXRlLmgiCiAjaW1wb3J0ICJXZWJWaWV3SW50ZXJuYWwuaCIKKyNp
bXBvcnQgPGRlYnVnZ2VyL0RlYnVnZ2VyLmg+CiAjaW1wb3J0IDxkZWJ1Z2dlci9EZWJ1Z2dlckNh
bGxGcmFtZS5oPgogI2ltcG9ydCA8aW50ZXJwcmV0ZXIvQ2FsbEZyYW1lLmg+CiAjaW1wb3J0IDxy
dW50aW1lL0pTR2xvYmFsT2JqZWN0Lmg+CkBAIC02Miw2ICs2Myw3IEBAIE5TU3RyaW5nICogY29u
c3QgV2ViU2NyaXB0RXJyb3JMaW5lTnVtYmUKICAgICBXZWJTY3JpcHRPYmplY3QgICAgICAgICpn
bG9iYWxPYmplY3Q7ICAgLy8gdGhlIGdsb2JhbCBvYmplY3QncyBwcm94eSAobm90IHJldGFpbmVk
KQogICAgIFdlYlNjcmlwdENhbGxGcmFtZSAgICAgKmNhbGxlcjsgICAgICAgICAvLyBwcmV2aW91
cyBzdGFjayBmcmFtZQogICAgIERlYnVnZ2VyQ2FsbEZyYW1lKiBkZWJ1Z2dlckNhbGxGcmFtZTsK
KyAgICBXZWJTY3JpcHREZWJ1Z2dlciogZGVidWdnZXI7CiB9CiBAZW5kCiAKQEAgLTg1LDEyICs4
NywxMyBAQCBOU1N0cmluZyAqIGNvbnN0IFdlYlNjcmlwdEVycm9yTGluZU51bWJlCiAKIEBpbXBs
ZW1lbnRhdGlvbiBXZWJTY3JpcHRDYWxsRnJhbWUgKFdlYlNjcmlwdERlYnVnRGVsZWdhdGVJbnRl
cm5hbCkKIAotLSAoV2ViU2NyaXB0Q2FsbEZyYW1lICopX2luaXRXaXRoR2xvYmFsT2JqZWN0OihX
ZWJTY3JpcHRPYmplY3QgKilnbG9iYWxPYmogY2FsbGVyOihXZWJTY3JpcHRDYWxsRnJhbWUgKilj
YWxsZXIgZGVidWdnZXJDYWxsRnJhbWU6KGNvbnN0IERlYnVnZ2VyQ2FsbEZyYW1lJilkZWJ1Z2dl
ckNhbGxGcmFtZQorLSAoV2ViU2NyaXB0Q2FsbEZyYW1lICopX2luaXRXaXRoR2xvYmFsT2JqZWN0
OihXZWJTY3JpcHRPYmplY3QgKilnbG9iYWxPYmogZGVidWdnZXI6KFdlYlNjcmlwdERlYnVnZ2Vy
ICopZGVidWdnZXIgY2FsbGVyOihXZWJTY3JpcHRDYWxsRnJhbWUgKiljYWxsZXIgZGVidWdnZXJD
YWxsRnJhbWU6KGNvbnN0IERlYnVnZ2VyQ2FsbEZyYW1lJilkZWJ1Z2dlckNhbGxGcmFtZQogewog
ICAgIGlmICgoc2VsZiA9IFtzdXBlciBpbml0XSkpIHsKICAgICAgICAgX3ByaXZhdGUgPSBbW1dl
YlNjcmlwdENhbGxGcmFtZVByaXZhdGUgYWxsb2NdIGluaXRdOwogICAgICAgICBfcHJpdmF0ZS0+
Z2xvYmFsT2JqZWN0ID0gZ2xvYmFsT2JqOwogICAgICAgICBfcHJpdmF0ZS0+Y2FsbGVyID0gW2Nh
bGxlciByZXRhaW5dOworICAgICAgICBfcHJpdmF0ZS0+ZGVidWdnZXIgPSBkZWJ1Z2dlcjsKICAg
ICB9CiAgICAgcmV0dXJuIHNlbGY7CiB9CkBAIC0yMjEsNiArMjI0LDIzIEBAIE5TU3RyaW5nICog
Y29uc3QgV2ViU2NyaXB0RXJyb3JMaW5lTnVtYmUKIAogICAgIEpTTG9jayBsb2NrKGZhbHNlKTsK
IAorICAgIC8vIElmIHRoaXMgaXMgdGhlIGdsb2JhbCBjYWxsIGZyYW1lIGFuZCB0aGVyZSBpcyBu
byBkeW5hbWljIGdsb2JhbCBvYmplY3QsCisgICAgLy8gRGFzaGNvZGUgaXMgYXR0ZW1wdGluZyB0
byBleGVjdXRlIEpTIGluIHRoZSBldmFsdWF0b3IgdXNpbmcgYSBzdGFsZQorICAgIC8vIFdlYlNj
cmlwdENhbGxGcmFtZS4gSW5zdGVhZCwgd2UgbmVlZCB0byBzZXQgdGhlIGR5bmFtaWMgZ2xvYmFs
IG9iamVjdAorICAgIC8vIGFuZCBldmFsdWF0ZSB0aGUgSlMgaW4gdGhlIGdsb2JhbCBvYmplY3Qn
cyBnbG9iYWwgY2FsbCBmcmFtZS4KKyAgICBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0ID0g
X3ByaXZhdGUtPmRlYnVnZ2VyLT5nbG9iYWxPYmplY3QoKTsKKyAgICBpZiAoc2VsZiA9PSBfcHJp
dmF0ZS0+ZGVidWdnZXItPmdsb2JhbENhbGxGcmFtZSgpICYmICFnbG9iYWxPYmplY3QtPmdsb2Jh
bERhdGEoKS0+ZHluYW1pY0dsb2JhbE9iamVjdCkgeworICAgICAgICBKU0dsb2JhbE9iamVjdCog
Z2xvYmFsT2JqZWN0ID0gX3ByaXZhdGUtPmRlYnVnZ2VyLT5nbG9iYWxPYmplY3QoKTsKKworICAg
ICAgICBEeW5hbWljR2xvYmFsT2JqZWN0U2NvcGUgZ2xvYmFsT2JqZWN0U2NvcGUoZ2xvYmFsT2Jq
ZWN0LT5nbG9iYWxFeGVjKCksIGdsb2JhbE9iamVjdCk7CisKKyAgICAgICAgSlNWYWx1ZVB0ciBl
eGNlcHRpb24gPSBub1ZhbHVlKCk7CisgICAgICAgIEpTVmFsdWVQdHIgcmVzdWx0ID0gZXZhbHVh
dGVJbkdsb2JhbENhbGxGcmFtZShTdHJpbmcoc2NyaXB0KSwgZXhjZXB0aW9uLCBnbG9iYWxPYmpl
Y3QpOworICAgICAgICBpZiAoZXhjZXB0aW9uKQorICAgICAgICAgICAgcmV0dXJuIFtzZWxmIF9j
b252ZXJ0VmFsdWVUb09iamNWYWx1ZTpleGNlcHRpb25dOworICAgICAgICByZXR1cm4gcmVzdWx0
ID8gW3NlbGYgX2NvbnZlcnRWYWx1ZVRvT2JqY1ZhbHVlOnJlc3VsdF0gOiBuaWw7ICAgICAgICAK
KyAgICB9CisKICAgICBKU1ZhbHVlUHRyIGV4Y2VwdGlvbiA9IG5vVmFsdWUoKTsKICAgICBKU1Zh
bHVlUHRyIHJlc3VsdCA9IF9wcml2YXRlLT5kZWJ1Z2dlckNhbGxGcmFtZS0+ZXZhbHVhdGUoU3Ry
aW5nKHNjcmlwdCksIGV4Y2VwdGlvbik7CiAgICAgaWYgKGV4Y2VwdGlvbikKSW5kZXg6IFdlYktp
dC9tYWMvV2ViVmlldy9XZWJTY3JpcHREZWJ1Z2dlci5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC9t
YWMvV2ViVmlldy9XZWJTY3JpcHREZWJ1Z2dlci5oCShyZXZpc2lvbiA0MDI0OCkKKysrIFdlYktp
dC9tYWMvV2ViVmlldy9XZWJTY3JpcHREZWJ1Z2dlci5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMCw2
ICszMCw3IEBACiAjZGVmaW5lIFdlYlNjcmlwdERlYnVnZ2VyX2gKIAogI2luY2x1ZGUgPGRlYnVn
Z2VyL0RlYnVnZ2VyLmg+CisjaW5jbHVkZSA8cnVudGltZS9Qcm90ZWN0Lmg+CiAKICNpbmNsdWRl
IDx3dGYvUmV0YWluUHRyLmg+CiAKQEAgLTUwLDYgKzUxLDggQEAgY2xhc3MgV2ViU2NyaXB0RGVi
dWdnZXIgOiBwdWJsaWMgSlNDOjpEZQogcHVibGljOgogICAgIFdlYlNjcmlwdERlYnVnZ2VyKEpT
Qzo6SlNHbG9iYWxPYmplY3QqKTsKIAorICAgIHZvaWQgaW5pdEdsb2JhbENhbGxGcmFtZShjb25z
dCBKU0M6OkRlYnVnZ2VyQ2FsbEZyYW1lJik7CisKICAgICB2aXJ0dWFsIHZvaWQgc291cmNlUGFy
c2VkKEpTQzo6RXhlY1N0YXRlKiwgY29uc3QgSlNDOjpTb3VyY2VDb2RlJiwgaW50IGVycm9yTGlu
ZSwgY29uc3QgSlNDOjpVU3RyaW5nJiBlcnJvck1zZyk7CiAgICAgdmlydHVhbCB2b2lkIGNhbGxF
dmVudChjb25zdCBKU0M6OkRlYnVnZ2VyQ2FsbEZyYW1lJiwgaW50cHRyX3Qgc291cmNlSUQsIGlu
dCBsaW5lTnVtYmVyKTsKICAgICB2aXJ0dWFsIHZvaWQgYXRTdGF0ZW1lbnQoY29uc3QgSlNDOjpE
ZWJ1Z2dlckNhbGxGcmFtZSYsIGludHB0cl90IHNvdXJjZUlELCBpbnQgbGluZU51bWJlcik7CkBA
IC01OSw5ICs2MiwxNSBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIGRpZEV4ZWN1dGVQcm9n
cmFtKGNvbnN0IEpTQzo6RGVidWdnZXJDYWxsRnJhbWUmLCBpbnRwdHJfdCBzb3VyY2VJRCwgaW50
IGxpbmVubyk7CiAgICAgdmlydHVhbCB2b2lkIGRpZFJlYWNoQnJlYWtwb2ludChjb25zdCBKU0M6
OkRlYnVnZ2VyQ2FsbEZyYW1lJiwgaW50cHRyX3Qgc291cmNlSUQsIGludCBsaW5lbm8pOwogCisg
ICAgSlNDOjpKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KCkgY29uc3QgeyByZXR1cm4gbV9n
bG9iYWxPYmplY3QuZ2V0KCk7IH0KKyAgICBXZWJTY3JpcHRDYWxsRnJhbWUgKmdsb2JhbENhbGxG
cmFtZSgpIGNvbnN0IHsgcmV0dXJuIG1fZ2xvYmFsQ2FsbEZyYW1lLmdldCgpOyB9CisKIHByaXZh
dGU6CiAgICAgYm9vbCBtX2NhbGxpbmdEZWxlZ2F0ZTsKICAgICBSZXRhaW5QdHI8V2ViU2NyaXB0
Q2FsbEZyYW1lPiBtX3RvcENhbGxGcmFtZTsKKworICAgIEpTQzo6UHJvdGVjdGVkUHRyPEpTQzo6
SlNHbG9iYWxPYmplY3Q+IG1fZ2xvYmFsT2JqZWN0OworICAgIFJldGFpblB0cjxXZWJTY3JpcHRD
YWxsRnJhbWU+IG1fZ2xvYmFsQ2FsbEZyYW1lOwogfTsKIAogI2VuZGlmIC8vIFdlYlNjcmlwdERl
YnVnZ2VyX2gKSW5kZXg6IFdlYktpdC9tYWMvV2ViVmlldy9XZWJTY3JpcHREZWJ1Z2dlci5tbQo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJLaXQvbWFjL1dlYlZpZXcvV2ViU2NyaXB0RGVidWdnZXIubW0JKHJl
dmlzaW9uIDQwMjQ4KQorKysgV2ViS2l0L21hYy9XZWJWaWV3L1dlYlNjcmlwdERlYnVnZ2VyLm1t
CSh3b3JraW5nIGNvcHkpCkBAIC00Myw3ICs0Myw3IEBAIHVzaW5nIG5hbWVzcGFjZSBKU0M7CiB1
c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAogQGludGVyZmFjZSBXZWJTY3JpcHRDYWxsRnJhbWUg
KFdlYlNjcmlwdERlYnVnRGVsZWdhdGVJbnRlcm5hbCkKLS0gKFdlYlNjcmlwdENhbGxGcmFtZSAq
KV9pbml0V2l0aEdsb2JhbE9iamVjdDooV2ViU2NyaXB0T2JqZWN0ICopZ2xvYmFsT2JqIGNhbGxl
cjooV2ViU2NyaXB0Q2FsbEZyYW1lICopY2FsbGVyIGRlYnVnZ2VyQ2FsbEZyYW1lOihjb25zdCBE
ZWJ1Z2dlckNhbGxGcmFtZSYpZGVidWdnZXJDYWxsRnJhbWU7CistIChXZWJTY3JpcHRDYWxsRnJh
bWUgKilfaW5pdFdpdGhHbG9iYWxPYmplY3Q6KFdlYlNjcmlwdE9iamVjdCAqKWdsb2JhbE9iaiBk
ZWJ1Z2dlcjooV2ViU2NyaXB0RGVidWdnZXIgKilkZWJ1Z2dlciBjYWxsZXI6KFdlYlNjcmlwdENh
bGxGcmFtZSAqKWNhbGxlciBkZWJ1Z2dlckNhbGxGcmFtZTooY29uc3QgRGVidWdnZXJDYWxsRnJh
bWUmKWRlYnVnZ2VyQ2FsbEZyYW1lOwogLSAodm9pZClfc2V0RGVidWdnZXJDYWxsRnJhbWU6KGNv
bnN0IERlYnVnZ2VyQ2FsbEZyYW1lJilkZWJ1Z2dlckNhbGxGcmFtZTsKIC0gKHZvaWQpX2NsZWFy
RGVidWdnZXJDYWxsRnJhbWU7CiBAZW5kCkBAIC03OCw5ICs3OCwyNSBAQCBzdGF0aWMgV2ViRnJh
bWUgKnRvV2ViRnJhbWUoSlNHbG9iYWxPYmplCiAKIFdlYlNjcmlwdERlYnVnZ2VyOjpXZWJTY3Jp
cHREZWJ1Z2dlcihKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KQogICAgIDogbV9jYWxsaW5n
RGVsZWdhdGUoZmFsc2UpCisgICAgLCBtX2dsb2JhbE9iamVjdChnbG9iYWxPYmplY3QpCiB7CiAg
ICAgYXR0YWNoKGdsb2JhbE9iamVjdCk7Ci0gICAgY2FsbEV2ZW50KGdsb2JhbE9iamVjdC0+Z2xv
YmFsRXhlYygpLCAwLCAtMSk7CisgICAgaW5pdEdsb2JhbENhbGxGcmFtZShnbG9iYWxPYmplY3Qt
Pmdsb2JhbEV4ZWMoKSk7Cit9CisKK3ZvaWQgV2ViU2NyaXB0RGVidWdnZXI6OmluaXRHbG9iYWxD
YWxsRnJhbWUoY29uc3QgRGVidWdnZXJDYWxsRnJhbWUmIGRlYnVnZ2VyQ2FsbEZyYW1lKQorewor
ICAgIG1fY2FsbGluZ0RlbGVnYXRlID0gdHJ1ZTsKKworICAgIFdlYkZyYW1lICp3ZWJGcmFtZSA9
IHRvV2ViRnJhbWUoZGVidWdnZXJDYWxsRnJhbWUuZHluYW1pY0dsb2JhbE9iamVjdCgpKTsKKwor
ICAgIG1fdG9wQ2FsbEZyYW1lLmFkb3B0TlMoW1tXZWJTY3JpcHRDYWxsRnJhbWUgYWxsb2NdIF9p
bml0V2l0aEdsb2JhbE9iamVjdDpjb3JlKHdlYkZyYW1lKS0+c2NyaXB0KCktPndpbmRvd1Njcmlw
dE9iamVjdCgpIGRlYnVnZ2VyOnRoaXMgY2FsbGVyOm1fdG9wQ2FsbEZyYW1lLmdldCgpIGRlYnVn
Z2VyQ2FsbEZyYW1lOmRlYnVnZ2VyQ2FsbEZyYW1lXSk7CisgICAgbV9nbG9iYWxDYWxsRnJhbWUg
PSBtX3RvcENhbGxGcmFtZTsKKworICAgIFdlYlZpZXcgKndlYlZpZXcgPSBbd2ViRnJhbWUgd2Vi
Vmlld107CisgICAgW1t3ZWJWaWV3IF9zY3JpcHREZWJ1Z0RlbGVnYXRlRm9yd2FyZGVyXSB3ZWJW
aWV3OndlYlZpZXcgZGlkRW50ZXJDYWxsRnJhbWU6bV90b3BDYWxsRnJhbWUuZ2V0KCkgc291cmNl
SWQ6c3RhdGljX2Nhc3Q8V2ViU291cmNlSWQ+KDApIGxpbmU6LTEgZm9yV2ViRnJhbWU6d2ViRnJh
bWVdOworCisgICAgbV9jYWxsaW5nRGVsZWdhdGUgPSBmYWxzZTsKIH0KIAogLy8gY2FsbGJhY2tz
IC0gcmVsYXkgdG8gZGVsZWdhdGUKQEAgLTEyMCw3ICsxMzYsNyBAQCB2b2lkIFdlYlNjcmlwdERl
YnVnZ2VyOjpjYWxsRXZlbnQoY29uc3QgCiAKICAgICBXZWJGcmFtZSAqd2ViRnJhbWUgPSB0b1dl
YkZyYW1lKGRlYnVnZ2VyQ2FsbEZyYW1lLmR5bmFtaWNHbG9iYWxPYmplY3QoKSk7CiAKLSAgICBt
X3RvcENhbGxGcmFtZS5hZG9wdE5TKFtbV2ViU2NyaXB0Q2FsbEZyYW1lIGFsbG9jXSBfaW5pdFdp
dGhHbG9iYWxPYmplY3Q6Y29yZSh3ZWJGcmFtZSktPnNjcmlwdCgpLT53aW5kb3dTY3JpcHRPYmpl
Y3QoKSBjYWxsZXI6bV90b3BDYWxsRnJhbWUuZ2V0KCkgZGVidWdnZXJDYWxsRnJhbWU6ZGVidWdn
ZXJDYWxsRnJhbWVdKTsKKyAgICBtX3RvcENhbGxGcmFtZS5hZG9wdE5TKFtbV2ViU2NyaXB0Q2Fs
bEZyYW1lIGFsbG9jXSBfaW5pdFdpdGhHbG9iYWxPYmplY3Q6Y29yZSh3ZWJGcmFtZSktPnNjcmlw
dCgpLT53aW5kb3dTY3JpcHRPYmplY3QoKSBkZWJ1Z2dlcjp0aGlzIGNhbGxlcjptX3RvcENhbGxG
cmFtZS5nZXQoKSBkZWJ1Z2dlckNhbGxGcmFtZTpkZWJ1Z2dlckNhbGxGcmFtZV0pOwogCiAgICAg
V2ViVmlldyAqd2ViVmlldyA9IFt3ZWJGcmFtZSB3ZWJWaWV3XTsKICAgICBbW3dlYlZpZXcgX3Nj
cmlwdERlYnVnRGVsZWdhdGVGb3J3YXJkZXJdIHdlYlZpZXc6d2ViVmlldyBkaWRFbnRlckNhbGxG
cmFtZTptX3RvcENhbGxGcmFtZS5nZXQoKSBzb3VyY2VJZDpzdGF0aWNfY2FzdDxXZWJTb3VyY2VJ
ZD4oc291cmNlSUQpIGxpbmU6bGluZU51bWJlciBmb3JXZWJGcmFtZTp3ZWJGcmFtZV07Cg==
</data>
<flag name="review"
          id="12980"
          type_id="1"
          status="+"
          setter="barraclough"
    />
          </attachment>
      

    </bug>

</bugzilla>