<?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>27136</bug_id>
          
          <creation_ts>2009-07-09 16:38:53 -0700</creation_ts>
          <short_desc>[Qt] Webkit hangs when executing an infinite JavaScript loop</short_desc>
          <delta_ts>2009-07-10 18:57:23 -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>All</rep_platform>
          <op_sys>All</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="Yael">yael</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>hausmann</cc>
    
    <cc>laszlo.gombos</cc>
    
    <cc>zecke</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>130762</commentid>
    <comment_count>0</comment_count>
    <who name="Yael">yael</who>
    <bug_when>2009-07-09 16:38:53 -0700</bug_when>
    <thetext>When executing an infinite loop in JavaScript, the Browser hangs. That is because the built-in toimeout mechanism is not exposed through the Qt API.
The following JavaScript can cause the crash:

&lt;html&gt;
&lt;head&gt;
&lt;script type=&quot;text/javascript&quot;&gt;
var run = true;
var a = 1;
function startLoop(){
    while(run){
        a++;
        document.forms[0].elements[0].value=a;
    }	
}  
&lt;/script&gt;
&lt;/head&gt;&lt;body&gt;
Activate the &quot;StartLoop&quot; link below to start an infinite loop by script execution.&lt;br&gt;
&lt;a href=&quot;#&quot; onclick=&quot;startLoop()&quot;&gt;Start Loop&lt;/a&gt;&lt;br&gt;
&lt;form&gt;&lt;input&gt;&lt;/form&gt;
&lt;/body&gt;
&lt;/html&gt;


A patch will be uploaded shortly</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>130764</commentid>
    <comment_count>1</comment_count>
      <attachid>32539</attachid>
    <who name="Yael">yael</who>
    <bug_when>2009-07-09 16:45:17 -0700</bug_when>
    <thetext>Created attachment 32539
Add UI asking the user if to stop running the script

Following the model of ChromeClientQt::runJavaScriptConfirm(), added a callback to QWebPage, to display a query to the user.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>130877</commentid>
    <comment_count>2</comment_count>
      <attachid>32539</attachid>
    <who name="Holger Freyther">zecke</who>
    <bug_when>2009-07-10 07:35:06 -0700</bug_when>
    <thetext>Comment on attachment 32539
Add UI asking the user if to stop running the script

Yael, we may not add new virtual methods as this will change the vtable and break ABI to previous versions. One common way is to create a new method with return value and use QMetaObject::invokeMethod. I assume Qt Software has an internal document describing what to do now. Besides that the patch looks fine.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>130888</commentid>
    <comment_count>3</comment_count>
      <attachid>32561</attachid>
    <who name="Yael">yael</who>
    <bug_when>2009-07-10 10:00:58 -0700</bug_when>
    <thetext>Created attachment 32561
Replace virtual method with signal/slot

I followed the instructions from http://techbase.kde.org/Policies/Binary_Compatibility_Examples#Add_new_virtuals_to_a_non-leaf_class.

I hope I got it right this time :-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>130907</commentid>
    <comment_count>4</comment_count>
      <attachid>32568</attachid>
    <who name="Yael">yael</who>
    <bug_when>2009-07-10 11:59:49 -0700</bug_when>
    <thetext>Created attachment 32568
Replace the signal with QMetaObject::invokeMethod

Third time is a charm :-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>130910</commentid>
    <comment_count>5</comment_count>
      <attachid>32568</attachid>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2009-07-10 12:08:50 -0700</bug_when>
    <thetext>Comment on attachment 32568
Replace the signal with QMetaObject::invokeMethod

&gt; Index: WebKit/qt/WebCoreSupport/ChromeClientQt.cpp
&gt; ===================================================================
&gt; --- WebKit/qt/WebCoreSupport/ChromeClientQt.cpp	(revision 45709)
&gt; +++ WebKit/qt/WebCoreSupport/ChromeClientQt.cpp	(working copy)
&gt; @@ -288,8 +288,7 @@
&gt;  
&gt;  bool ChromeClientQt::shouldInterruptJavaScript()
&gt;  {
&gt; -    notImplemented();
&gt; -    return false;
&gt; +    return QMetaObject::invokeMethod(m_webPage, &quot;shouldInterruptJavaScript&quot;, Qt::DirectConnection);

I don&apos;t think this is correct, invokeMethod returns a boolean indicating whether the function could be called or not, but the return value itself is placed in the fourth argument of invokeMethod.

Also a unit test would be good for this :)

An alternate solution would be to use QWebPage::supportsExtension and QWebPage::extension. Holger, do you have any preference?





I</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>130944</commentid>
    <comment_count>6</comment_count>
      <attachid>32576</attachid>
    <who name="Yael">yael</who>
    <bug_when>2009-07-10 13:47:30 -0700</bug_when>
    <thetext>Created attachment 32576
Added test case

I am thinking that using the extension is probably an overkill for this feature. It is very similar to JavaScript alert implementation. However, if there is a strong opinion otherwise, I will modify it again.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>130966</commentid>
    <comment_count>7</comment_count>
      <attachid>32576</attachid>
    <who name="Holger Freyther">zecke</who>
    <bug_when>2009-07-10 14:44:23 -0700</bug_when>
    <thetext>Comment on attachment 32576
Added test case

+ JSTestPage(QObject* parent = 0) : QWebPage(parent) {}

one style comment, could move the initializer list to the next line in accordance with the style guidelines?


&gt; +public slots:

please make that public Q_SLOTS... the reason is that it could work with boost and other things.
  
&gt;  /*!
&gt; +    This function is called when a JavaScript program is running for a long period of time.
&gt; +
&gt; +    If the user wanted to stop the JavaScript the implementation should return true; otherwise false.
&gt; +
&gt; +    The default implementation executes the query using QMessageBox::information with QMessageBox::Yes and QMessageBox::No buttons.



We need to add a @since 4.6 tag to the documentation. And please add some comments to make that virtual in the future? basically it is r=me when you change the two when landing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>130969</commentid>
    <comment_count>8</comment_count>
      <attachid>32576</attachid>
    <who name="Holger Freyther">zecke</who>
    <bug_when>2009-07-10 14:48:22 -0700</bug_when>
    <thetext>Comment on attachment 32576
Added test case

Yael wants to fix it before landing. So r=+ for me. We might have to discuss on monday if extensions are better...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>131047</commentid>
    <comment_count>9</comment_count>
    <who name="Yael">yael</who>
    <bug_when>2009-07-10 18:57:23 -0700</bug_when>
    <thetext>Landed in 45731.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>32539</attachid>
            <date>2009-07-09 16:45:17 -0700</date>
            <delta_ts>2009-07-10 10:00:58 -0700</delta_ts>
            <desc>Add UI asking the user if to stop running the script</desc>
            <filename>abort.patch</filename>
            <type>text/plain</type>
            <size>3050</size>
            <attacher name="Yael">yael</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRRdC5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudFF0LmNwcAkocmV2
aXNpb24gNDU2NjkpCisrKyBXZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50UXQu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yODgsOCArMjg4LDcgQEAKIAogYm9vbCBDaHJvbWVDbGll
bnRRdDo6c2hvdWxkSW50ZXJydXB0SmF2YVNjcmlwdCgpCiB7Ci0gICAgbm90SW1wbGVtZW50ZWQo
KTsKLSAgICByZXR1cm4gZmFsc2U7CisgICAgcmV0dXJuIG1fd2ViUGFnZS0+c2hvdWxkSW50ZXJy
dXB0SmF2YVNjcmlwdCgpOwogfQogCiBib29sIENocm9tZUNsaWVudFF0Ojp0YWJzVG9MaW5rcygp
IGNvbnN0CkluZGV4OiBXZWJLaXQvcXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC9x
dC9DaGFuZ2VMb2cJKHJldmlzaW9uIDQ1Njc0KQorKysgV2ViS2l0L3F0L0NoYW5nZUxvZwkod29y
a2luZyBjb3B5KQpAQCAtMSwzICsxLDE3IEBACisyMDA5LTA3LTA5ICBZYWVsIEFoYXJvbiAgPHlh
ZWwuYWhhcm9uQG5va2lhLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Mjcx
MzYKKworICAgICAgICBGaXggYSBidWcgd2hlcmUgd2Via2l0IGhhbmdzIHdoZW4gZXhlY3V0aW5n
IGluZmluaXRlIEphdmFTY3JpcHQgbG9vcC4KKworICAgICAgICAqIEFwaS9xd2VicGFnZS5jcHA6
CisgICAgICAgIChRV2ViUGFnZTo6c2hvdWxkSW50ZXJydXB0SmF2YVNjcmlwdCk6CisgICAgICAg
ICogQXBpL3F3ZWJwYWdlLmg6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50
UXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2hyb21lQ2xpZW50UXQ6OnNob3VsZEludGVycnVw
dEphdmFTY3JpcHQpOgorCiAyMDA5LTA3LTA4ICBQcmFkZWVwdG8gQmhhdHRhY2hhcnlhICA8cHJh
ZGVlcHRvQGtkZS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgQXJpeWEgSGlkYXlhdC4KSW5k
ZXg6IFdlYktpdC9xdC9BcGkvcXdlYnBhZ2UuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQvcXQvQXBp
L3F3ZWJwYWdlLmgJKHJldmlzaW9uIDQ1NjY5KQorKysgV2ViS2l0L3F0L0FwaS9xd2VicGFnZS5o
CSh3b3JraW5nIGNvcHkpCkBAIC0zMzMsNiArMzMzLDcgQEAKICAgICB2aXJ0dWFsIHZvaWQgamF2
YVNjcmlwdEFsZXJ0KFFXZWJGcmFtZSAqb3JpZ2luYXRpbmdGcmFtZSwgY29uc3QgUVN0cmluZyYg
bXNnKTsKICAgICB2aXJ0dWFsIGJvb2wgamF2YVNjcmlwdENvbmZpcm0oUVdlYkZyYW1lICpvcmln
aW5hdGluZ0ZyYW1lLCBjb25zdCBRU3RyaW5nJiBtc2cpOwogICAgIHZpcnR1YWwgYm9vbCBqYXZh
U2NyaXB0UHJvbXB0KFFXZWJGcmFtZSAqb3JpZ2luYXRpbmdGcmFtZSwgY29uc3QgUVN0cmluZyYg
bXNnLCBjb25zdCBRU3RyaW5nJiBkZWZhdWx0VmFsdWUsIFFTdHJpbmcqIHJlc3VsdCk7CisgICAg
dmlydHVhbCBib29sIHNob3VsZEludGVycnVwdEphdmFTY3JpcHQoKTsKICAgICB2aXJ0dWFsIHZv
aWQgamF2YVNjcmlwdENvbnNvbGVNZXNzYWdlKGNvbnN0IFFTdHJpbmcmIG1lc3NhZ2UsIGludCBs
aW5lTnVtYmVyLCBjb25zdCBRU3RyaW5nJiBzb3VyY2VJRCk7CiAKICAgICB2aXJ0dWFsIFFTdHJp
bmcgdXNlckFnZW50Rm9yVXJsKGNvbnN0IFFVcmwmIHVybCkgY29uc3Q7CkluZGV4OiBXZWJLaXQv
cXQvQXBpL3F3ZWJwYWdlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQvcXQvQXBpL3F3ZWJwYWdl
LmNwcAkocmV2aXNpb24gNDU2NjkpCisrKyBXZWJLaXQvcXQvQXBpL3F3ZWJwYWdlLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtMTQyNSw2ICsxNDI1LDIyIEBACiB9CiAKIC8qIQorICAgIFRoaXMgZnVu
Y3Rpb24gaXMgY2FsbGVkIHdoZW5ldmVyIGEgSmF2YVNjcmlwdCBwcm9ncmFtIGlzIHJ1bm5pbmcg
Zm9yIGEgbG9uZyBwZXJpb2Qgb2YgdGltZS4KKworICAgIElmIHRoZSB1c2VyIHdhbnRlZCB0byBz
dG9wIHRoZSBKYXZhU2NyaXB0IHRoZSBpbXBsZW1lbnRhdGlvbiBzaG91bGQgcmV0dXJuIHRydWU7
IG90aGVyd2lzZSBmYWxzZS4KKworICAgIFRoZSBkZWZhdWx0IGltcGxlbWVudGF0aW9uIGV4ZWN1
dGVzIHRoZSBxdWVyeSB1c2luZyBRTWVzc2FnZUJveDo6aW5mb3JtYXRpb24gd2l0aCBRTWVzc2Fn
ZUJveDo6WWVzIGFuZCBRTWVzc2FnZUJveDo6Tm8gYnV0dG9ucy4KKyovCitib29sIFFXZWJQYWdl
OjpzaG91bGRJbnRlcnJ1cHRKYXZhU2NyaXB0KCkKK3sKKyNpZmRlZiBRVF9OT19NRVNTQUdFQk9Y
CisgICAgcmV0dXJuIGZhbHNlOworI2Vsc2UKKyAgICByZXR1cm4gUU1lc3NhZ2VCb3g6OlllcyA9
PSBRTWVzc2FnZUJveDo6aW5mb3JtYXRpb24oZC0+dmlldywgdHIoIkphdmFTY3JpcHQgUHJvYmxl
bSAtICUxIikuYXJnKG1haW5GcmFtZSgpLT51cmwoKS5ob3N0KCkpLCB0cigiVGhlIHNjcmlwdCBv
biB0aGlzIHBhZ2UgYXBwZWFycyB0byBoYXZlIGEgcHJvYmxlbS4gRG8geW91IHdhbnQgdG8gc3Rv
cCB0aGUgc2NyaXB0PyIpLCBRTWVzc2FnZUJveDo6WWVzLCBRTWVzc2FnZUJveDo6Tm8pOworI2Vu
ZGlmCit9CisKKy8qIQogICAgIFRoaXMgZnVuY3Rpb24gaXMgY2FsbGVkIHdoZW5ldmVyIFdlYktp
dCB3YW50cyB0byBjcmVhdGUgYSBuZXcgd2luZG93IG9mIHRoZSBnaXZlbiBcYSB0eXBlLCBmb3IK
ICAgICBleGFtcGxlIHdoZW4gYSBKYXZhU2NyaXB0IHByb2dyYW0gcmVxdWVzdHMgdG8gb3BlbiBh
IGRvY3VtZW50IGluIGEgbmV3IHdpbmRvdy4KIAo=
</data>
<flag name="review"
          id="16961"
          type_id="1"
          status="-"
          setter="zecke"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>32561</attachid>
            <date>2009-07-10 10:00:58 -0700</date>
            <delta_ts>2009-07-10 11:59:49 -0700</delta_ts>
            <desc>Replace virtual method with signal/slot</desc>
            <filename>abort.patch</filename>
            <type>text/plain</type>
            <size>3855</size>
            <attacher name="Yael">yael</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRRdC5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudFF0LmNwcAkocmV2
aXNpb24gNDU3MDkpCisrKyBXZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50UXQu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yODgsOCArMjg4LDkgQEAKIAogYm9vbCBDaHJvbWVDbGll
bnRRdDo6c2hvdWxkSW50ZXJydXB0SmF2YVNjcmlwdCgpCiB7Ci0gICAgbm90SW1wbGVtZW50ZWQo
KTsKLSAgICByZXR1cm4gZmFsc2U7CisgICAgYm9vbCBzaG91bGRJbnRlcnJ1cHQgPSBmYWxzZTsK
KyAgICBlbWl0IG1fd2ViUGFnZS0+c2hvdWxkSW50ZXJydXB0SmF2YVNjcmlwdCgmc2hvdWxkSW50
ZXJydXB0KTsKKyAgICByZXR1cm4gc2hvdWxkSW50ZXJydXB0OwogfQogCiBib29sIENocm9tZUNs
aWVudFF0Ojp0YWJzVG9MaW5rcygpIGNvbnN0CkluZGV4OiBXZWJLaXQvcXQvQ2hhbmdlTG9nCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFdlYktpdC9xdC9DaGFuZ2VMb2cJKHJldmlzaW9uIDQ1NzA5KQorKysgV2Vi
S2l0L3F0L0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE4IEBACisyMDA5LTA3
LTEwICBZYWVsIEFoYXJvbiAgPHlhZWwuYWhhcm9uQG5va2lhLmNvbT4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjcxMzYKKworICAgICAgICBGaXggYSBidWcgd2hlcmUgd2Via2l0
IGhhbmdzIHdoZW4gZXhlY3V0aW5nIGluZmluaXRlIEphdmFTY3JpcHQgbG9vcC4KKworICAgICAg
ICAqIEFwaS9xd2VicGFnZS5jcHA6CisgICAgICAgIChRV2ViUGFnZTo6UVdlYlBhZ2UpOgorICAg
ICAgICAoUVdlYlBhZ2U6OmFza1Nob3VsZEludGVycnVwdEphdmFTY3JpcHQpOgorICAgICAgICAq
IEFwaS9xd2VicGFnZS5oOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudFF0
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNocm9tZUNsaWVudFF0OjpzaG91bGRJbnRlcnJ1cHRK
YXZhU2NyaXB0KToKKwogMjAwOS0wNy0xMCAgU2ltb24gSGF1c21hbm4gIDxzaW1vbi5oYXVzbWFu
bkBub2tpYS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgSG9sZ2VyIEZyZXl0aGVyLgpJbmRl
eDogV2ViS2l0L3F0L0FwaS9xd2VicGFnZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC9xdC9BcGkv
cXdlYnBhZ2UuaAkocmV2aXNpb24gNDU3MDkpCisrKyBXZWJLaXQvcXQvQXBpL3F3ZWJwYWdlLmgJ
KHdvcmtpbmcgY29weSkKQEAgLTI4OCw2ICsyODgsOSBAQAogCiAgICAgaW5saW5lIFFXZWJQYWdl
UHJpdmF0ZSogaGFuZGxlKCkgY29uc3QgeyByZXR1cm4gZDsgfQogCitwdWJsaWMgc2xvdHM6Cisg
ICAgdm9pZCBhc2tTaG91bGRJbnRlcnJ1cHRKYXZhU2NyaXB0KGJvb2wqIHNob3VsZEludGVycnVw
dCk7CisKIFFfU0lHTkFMUzoKICAgICB2b2lkIGxvYWRTdGFydGVkKCk7CiAgICAgdm9pZCBsb2Fk
UHJvZ3Jlc3MoaW50IHByb2dyZXNzKTsKQEAgLTMyMCw2ICszMjMsOCBAQAogICAgIHZvaWQgc2F2
ZUZyYW1lU3RhdGVSZXF1ZXN0ZWQoUVdlYkZyYW1lKiBmcmFtZSwgUVdlYkhpc3RvcnlJdGVtKiBp
dGVtKTsKICAgICB2b2lkIHJlc3RvcmVGcmFtZVN0YXRlUmVxdWVzdGVkKFFXZWJGcmFtZSogZnJh
bWUpOwogCisgICAgYm9vbCBzaG91bGRJbnRlcnJ1cHRKYXZhU2NyaXB0KGJvb2wqIHNob3VsZElu
dGVycnVwdCk7CisKIHByb3RlY3RlZDoKICAgICB2aXJ0dWFsIFFXZWJQYWdlICpjcmVhdGVXaW5k
b3coV2ViV2luZG93VHlwZSB0eXBlKTsKICAgICB2aXJ0dWFsIFFPYmplY3QgKmNyZWF0ZVBsdWdp
bihjb25zdCBRU3RyaW5nICZjbGFzc2lkLCBjb25zdCBRVXJsICZ1cmwsIGNvbnN0IFFTdHJpbmdM
aXN0ICZwYXJhbU5hbWVzLCBjb25zdCBRU3RyaW5nTGlzdCAmcGFyYW1WYWx1ZXMpOwpJbmRleDog
V2ViS2l0L3F0L0FwaS9xd2VicGFnZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L3F0L0FwaS9x
d2VicGFnZS5jcHAJKHJldmlzaW9uIDQ1NzA5KQorKysgV2ViS2l0L3F0L0FwaS9xd2VicGFnZS5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTEyNzYsNiArMTI3Niw3IEBACiAjaWZuZGVmIE5ERUJVRwog
ICAgIGNvbm5lY3QoUUNvcmVBcHBsaWNhdGlvbjo6aW5zdGFuY2UoKSwgU0lHTkFMKGFib3V0VG9R
dWl0KCkpLCB0aGlzLCBTTE9UKF9xX2NsZWFudXBMZWFrTWVzc2FnZXMoKSkpOwogI2VuZGlmCisg
ICAgY29ubmVjdCh0aGlzLCBTSUdOQUwoc2hvdWxkSW50ZXJydXB0SmF2YVNjcmlwdChib29sKikp
LCB0aGlzLCBTTE9UKGFza1Nob3VsZEludGVycnVwdEphdmFTY3JpcHQoYm9vbCopKSk7CiB9CiAK
IC8qIQpAQCAtMTQyMSw2ICsxNDIyLDIwIEBACiB9CiAKIC8qIQorICAgIFRoaXMgZnVuY3Rpb24g
aXMgY2FsbGVkIHdoZW4gYSBKYXZhU2NyaXB0IHByb2dyYW0gaXMgcnVubmluZyBmb3IgYSBsb25n
IHBlcmlvZCBvZiB0aW1lLgorCisgICAgSWYgdGhlIHVzZXIgd2FudGVkIHRvIHN0b3AgdGhlIEph
dmFTY3JpcHQgdGhlIGltcGxlbWVudGF0aW9uIHNob3VsZCByZXR1cm4gdHJ1ZTsgb3RoZXJ3aXNl
IGZhbHNlLgorCisgICAgVGhlIGRlZmF1bHQgaW1wbGVtZW50YXRpb24gZXhlY3V0ZXMgdGhlIHF1
ZXJ5IHVzaW5nIFFNZXNzYWdlQm94OjppbmZvcm1hdGlvbiB3aXRoIFFNZXNzYWdlQm94OjpZZXMg
YW5kIFFNZXNzYWdlQm94OjpObyBidXR0b25zLgorKi8KK3ZvaWQgUVdlYlBhZ2U6OmFza1Nob3Vs
ZEludGVycnVwdEphdmFTY3JpcHQoYm9vbCogc2hvdWxkSW50ZXJydXB0KQoreworI2lmbmRlZiBR
VF9OT19NRVNTQUdFQk9YCisgICAgKnNob3VsZEludGVycnVwdCA9IChRTWVzc2FnZUJveDo6WWVz
ID09IFFNZXNzYWdlQm94OjppbmZvcm1hdGlvbihkLT52aWV3LCB0cigiSmF2YVNjcmlwdCBQcm9i
bGVtIC0gJTEiKS5hcmcobWFpbkZyYW1lKCktPnVybCgpLmhvc3QoKSksIHRyKCJUaGUgc2NyaXB0
IG9uIHRoaXMgcGFnZSBhcHBlYXJzIHRvIGhhdmUgYSBwcm9ibGVtLiBEbyB5b3Ugd2FudCB0byBz
dG9wIHRoZSBzY3JpcHQ/IiksIFFNZXNzYWdlQm94OjpZZXMsIFFNZXNzYWdlQm94OjpObykpOwor
I2VuZGlmCit9CisKKy8qIQogICAgIFRoaXMgZnVuY3Rpb24gaXMgY2FsbGVkIHdoZW5ldmVyIFdl
YktpdCB3YW50cyB0byBjcmVhdGUgYSBuZXcgd2luZG93IG9mIHRoZSBnaXZlbiBcYSB0eXBlLCBm
b3IKICAgICBleGFtcGxlIHdoZW4gYSBKYXZhU2NyaXB0IHByb2dyYW0gcmVxdWVzdHMgdG8gb3Bl
biBhIGRvY3VtZW50IGluIGEgbmV3IHdpbmRvdy4KIApAQCAtMjkxOSw2ICsyOTM0LDEzIEBACiAq
LwogCiAvKiEKKyAgXHNpbmNlIDQuNgorICBcZm4gYm9vbCBRV2ViUGFnZTo6c2hvdWxkSW50ZXJy
dXB0SmF2YVNjcmlwdChib29sKiBzaG91bGRJbnRlcnJ1cHQpOworCisgIFRoaXMgc2lnbmFsIGlz
IGVtaXR0ZWQgd2hlbiBhIEphdmFTY3JpcHQgcHJvZ3JhbSBpcyBydW5uaW5nIGZvciBhIGxvbmcg
cGVyaW9kIG9mIHRpbWUuCisqLworCisvKiEKICAgXGZuIFFXZWJQYWdlUHJpdmF0ZSogUVdlYlBh
Z2U6OmhhbmRsZSgpIGNvbnN0CiAgIFxpbnRlcm5hbAogKi8K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>32568</attachid>
            <date>2009-07-10 11:59:49 -0700</date>
            <delta_ts>2009-07-10 13:47:30 -0700</delta_ts>
            <desc>Replace the signal with QMetaObject::invokeMethod</desc>
            <filename>abort.patch</filename>
            <type>text/plain</type>
            <size>2769</size>
            <attacher name="Yael">yael</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRRdC5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudFF0LmNwcAkocmV2
aXNpb24gNDU3MDkpCisrKyBXZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50UXQu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yODgsOCArMjg4LDcgQEAKIAogYm9vbCBDaHJvbWVDbGll
bnRRdDo6c2hvdWxkSW50ZXJydXB0SmF2YVNjcmlwdCgpCiB7Ci0gICAgbm90SW1wbGVtZW50ZWQo
KTsKLSAgICByZXR1cm4gZmFsc2U7CisgICAgcmV0dXJuIFFNZXRhT2JqZWN0OjppbnZva2VNZXRo
b2QobV93ZWJQYWdlLCAic2hvdWxkSW50ZXJydXB0SmF2YVNjcmlwdCIsIFF0OjpEaXJlY3RDb25u
ZWN0aW9uKTsKIH0KIAogYm9vbCBDaHJvbWVDbGllbnRRdDo6dGFic1RvTGlua3MoKSBjb25zdApJ
bmRleDogV2ViS2l0L3F0L0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQvcXQvQ2hhbmdl
TG9nCShyZXZpc2lvbiA0NTcxNCkKKysrIFdlYktpdC9xdC9DaGFuZ2VMb2cJKHdvcmtpbmcgY29w
eSkKQEAgLTEsMyArMSwxNyBAQAorMjAwOS0wNy0xMCAgWWFlbCBBaGFyb24gIDx5YWVsLmFoYXJv
bkBub2tpYS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI3MTM2CisKKyAg
ICAgICAgRml4IGEgYnVnIHdoZXJlIHdlYmtpdCBoYW5ncyB3aGVuIGV4ZWN1dGluZyBpbmZpbml0
ZSBKYXZhU2NyaXB0IGxvb3AuCisKKyAgICAgICAgKiBBcGkvcXdlYnBhZ2UuY3BwOgorICAgICAg
ICAoUVdlYlBhZ2U6OnNob3VsZEludGVycnVwdEphdmFTY3JpcHQpOgorICAgICAgICAqIEFwaS9x
d2VicGFnZS5oOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudFF0LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkNocm9tZUNsaWVudFF0OjpzaG91bGRJbnRlcnJ1cHRKYXZhU2Ny
aXB0KToKKwogMjAwOS0wNy0xMCAgU2ltb24gSGF1c21hbm4gIDxzaW1vbi5oYXVzbWFubkBub2tp
YS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgSG9sZ2VyIEZyZXl0aGVyLgpJbmRleDogV2Vi
S2l0L3F0L0FwaS9xd2VicGFnZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC9xdC9BcGkvcXdlYnBh
Z2UuaAkocmV2aXNpb24gNDU3MDkpCisrKyBXZWJLaXQvcXQvQXBpL3F3ZWJwYWdlLmgJKHdvcmtp
bmcgY29weSkKQEAgLTI4OCw2ICsyODgsOSBAQAogCiAgICAgaW5saW5lIFFXZWJQYWdlUHJpdmF0
ZSogaGFuZGxlKCkgY29uc3QgeyByZXR1cm4gZDsgfQogCitwdWJsaWMgc2xvdHM6CisgICAgYm9v
bCBzaG91bGRJbnRlcnJ1cHRKYXZhU2NyaXB0KCk7CisKIFFfU0lHTkFMUzoKICAgICB2b2lkIGxv
YWRTdGFydGVkKCk7CiAgICAgdm9pZCBsb2FkUHJvZ3Jlc3MoaW50IHByb2dyZXNzKTsKSW5kZXg6
IFdlYktpdC9xdC9BcGkvcXdlYnBhZ2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC9xdC9BcGkv
cXdlYnBhZ2UuY3BwCShyZXZpc2lvbiA0NTcwOSkKKysrIFdlYktpdC9xdC9BcGkvcXdlYnBhZ2Uu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNDIxLDYgKzE0MjEsMjIgQEAKIH0KIAogLyohCisgICAg
VGhpcyBmdW5jdGlvbiBpcyBjYWxsZWQgd2hlbiBhIEphdmFTY3JpcHQgcHJvZ3JhbSBpcyBydW5u
aW5nIGZvciBhIGxvbmcgcGVyaW9kIG9mIHRpbWUuCisKKyAgICBJZiB0aGUgdXNlciB3YW50ZWQg
dG8gc3RvcCB0aGUgSmF2YVNjcmlwdCB0aGUgaW1wbGVtZW50YXRpb24gc2hvdWxkIHJldHVybiB0
cnVlOyBvdGhlcndpc2UgZmFsc2UuCisKKyAgICBUaGUgZGVmYXVsdCBpbXBsZW1lbnRhdGlvbiBl
eGVjdXRlcyB0aGUgcXVlcnkgdXNpbmcgUU1lc3NhZ2VCb3g6OmluZm9ybWF0aW9uIHdpdGggUU1l
c3NhZ2VCb3g6OlllcyBhbmQgUU1lc3NhZ2VCb3g6Ok5vIGJ1dHRvbnMuCisqLworYm9vbCBRV2Vi
UGFnZTo6c2hvdWxkSW50ZXJydXB0SmF2YVNjcmlwdCgpCit7CisjaWZkZWYgUVRfTk9fTUVTU0FH
RUJPWAorICAgIHJldHVybiBmYWxzZTsKKyNlbHNlCisgICAgcmV0dXJuIFFNZXNzYWdlQm94OjpZ
ZXMgPT0gUU1lc3NhZ2VCb3g6OmluZm9ybWF0aW9uKGQtPnZpZXcsIHRyKCJKYXZhU2NyaXB0IFBy
b2JsZW0gLSAlMSIpLmFyZyhtYWluRnJhbWUoKS0+dXJsKCkuaG9zdCgpKSwgdHIoIlRoZSBzY3Jp
cHQgb24gdGhpcyBwYWdlIGFwcGVhcnMgdG8gaGF2ZSBhIHByb2JsZW0uIERvIHlvdSB3YW50IHRv
IHN0b3AgdGhlIHNjcmlwdD8iKSwgUU1lc3NhZ2VCb3g6OlllcywgUU1lc3NhZ2VCb3g6Ok5vKTsK
KyNlbmRpZgorfQorCisvKiEKICAgICBUaGlzIGZ1bmN0aW9uIGlzIGNhbGxlZCB3aGVuZXZlciBX
ZWJLaXQgd2FudHMgdG8gY3JlYXRlIGEgbmV3IHdpbmRvdyBvZiB0aGUgZ2l2ZW4gXGEgdHlwZSwg
Zm9yCiAgICAgZXhhbXBsZSB3aGVuIGEgSmF2YVNjcmlwdCBwcm9ncmFtIHJlcXVlc3RzIHRvIG9w
ZW4gYSBkb2N1bWVudCBpbiBhIG5ldyB3aW5kb3cuCiAK
</data>
<flag name="review"
          id="16987"
          type_id="1"
          status="-"
          setter="hausmann"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>32576</attachid>
            <date>2009-07-10 13:47:30 -0700</date>
            <delta_ts>2009-07-10 14:48:22 -0700</delta_ts>
            <desc>Added test case</desc>
            <filename>abort.patch</filename>
            <type>text/plain</type>
            <size>4137</size>
            <attacher name="Yael">yael</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdC9xdC90ZXN0cy9xd2VicGFnZS90c3RfcXdlYnBhZ2UuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYktpdC9xdC90ZXN0cy9xd2VicGFnZS90c3RfcXdlYnBhZ2UuY3BwCShyZXZpc2lv
biA0NTcwOSkKKysrIFdlYktpdC9xdC90ZXN0cy9xd2VicGFnZS90c3RfcXdlYnBhZ2UuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC05Miw2ICs5Miw3IEBACiAgICAgdm9pZCBjbGVhbnVwVGVzdENhc2Uo
KTsKIAogICAgIHZvaWQgYWNjZXB0TmF2aWdhdGlvblJlcXVlc3QoKTsKKyAgICB2b2lkIGluZmlu
aXRlTG9vcEpTKCk7CiAgICAgdm9pZCBsb2FkRmluaXNoZWQoKTsKICAgICB2b2lkIGFjY2VwdE5h
dmlnYXRpb25SZXF1ZXN0V2l0aE5ld1dpbmRvdygpOwogICAgIHZvaWQgdXNlclN0eWxlU2hlZXQo
KTsKQEAgLTE5Miw3ICsxOTMsMjQgQEAKICAgICBtX3ZpZXctPnNldFBhZ2UoMCk7CiB9CiAKK2Ns
YXNzIEpTVGVzdFBhZ2UgOiBwdWJsaWMgUVdlYlBhZ2UKK3sKK1FfT0JKRUNUCitwdWJsaWM6Cisg
ICAgSlNUZXN0UGFnZShRT2JqZWN0KiBwYXJlbnQgPSAwKSA6IFFXZWJQYWdlKHBhcmVudCkge30K
IAorcHVibGljIHNsb3RzOgorICAgIGJvb2wgc2hvdWxkSW50ZXJydXB0SmF2YVNjcmlwdCgpIHsg
cmV0dXJuIHRydWU7IH0KK307CisKK3ZvaWQgdHN0X1FXZWJQYWdlOjppbmZpbml0ZUxvb3BKUygp
Cit7CisgICAgSlNUZXN0UGFnZSogbmV3UGFnZSA9IG5ldyBKU1Rlc3RQYWdlKG1fdmlldyk7Cisg
ICAgbV92aWV3LT5zZXRQYWdlKG5ld1BhZ2UpOworICAgIG1fdmlldy0+c2V0SHRtbChRU3RyaW5n
KCI8aHRtbD48Ym9keXRlc3Q8L2JvZHk+PC9odG1sPiIpLCBRVXJsKCkpOworICAgIG1fdmlldy0+
cGFnZSgpLT5tYWluRnJhbWUoKS0+ZXZhbHVhdGVKYXZhU2NyaXB0KCJ2YXIgcnVuID0gdHJ1ZTt2
YXIgYSA9IDE7d2hpbGUocnVuKXthKys7fSIpOworfQorCiB2b2lkIHRzdF9RV2ViUGFnZTo6bG9h
ZEZpbmlzaGVkKCkKIHsKICAgICBRU2lnbmFsU3B5IHNweUxvYWRTdGFydGVkKG1fdmlldywgU0lH
TkFMKGxvYWRTdGFydGVkKCkpKTsKSW5kZXg6IFdlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9DaHJv
bWVDbGllbnRRdC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0No
cm9tZUNsaWVudFF0LmNwcAkocmV2aXNpb24gNDU3MDkpCisrKyBXZWJLaXQvcXQvV2ViQ29yZVN1
cHBvcnQvQ2hyb21lQ2xpZW50UXQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yODgsOCArMjg4LDkg
QEAKIAogYm9vbCBDaHJvbWVDbGllbnRRdDo6c2hvdWxkSW50ZXJydXB0SmF2YVNjcmlwdCgpCiB7
Ci0gICAgbm90SW1wbGVtZW50ZWQoKTsKLSAgICByZXR1cm4gZmFsc2U7CisgICAgYm9vbCBzaG91
bGRJbnRlcnJ1cHQgPSBmYWxzZTsKKyAgICBRTWV0YU9iamVjdDo6aW52b2tlTWV0aG9kKG1fd2Vi
UGFnZSwgInNob3VsZEludGVycnVwdEphdmFTY3JpcHQiLCBRdDo6RGlyZWN0Q29ubmVjdGlvbiwg
UV9SRVRVUk5fQVJHKGJvb2wsIHNob3VsZEludGVycnVwdCkpOworICAgIHJldHVybiBzaG91bGRJ
bnRlcnJ1cHQ7CiB9CiAKIGJvb2wgQ2hyb21lQ2xpZW50UXQ6OnRhYnNUb0xpbmtzKCkgY29uc3QK
SW5kZXg6IFdlYktpdC9xdC9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L3F0L0NoYW5n
ZUxvZwkocmV2aXNpb24gNDU3MjMpCisrKyBXZWJLaXQvcXQvQ2hhbmdlTG9nCSh3b3JraW5nIGNv
cHkpCkBAIC0xLDMgKzEsMjEgQEAKKzIwMDktMDctMTAgIFlhZWwgQWhhcm9uICA8eWFlbC5haGFy
b25Abm9raWEuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yNzEzNgorCisg
ICAgICAgIEZpeCBhIGJ1ZyB3aGVyZSB3ZWJraXQgaGFuZ3Mgd2hlbiBleGVjdXRpbmcgaW5maW5p
dGUgSmF2YVNjcmlwdCBsb29wLgorCisgICAgICAgICogQXBpL3F3ZWJwYWdlLmNwcDoKKyAgICAg
ICAgKFFXZWJQYWdlOjpzaG91bGRJbnRlcnJ1cHRKYXZhU2NyaXB0KToKKyAgICAgICAgKiBBcGkv
cXdlYnBhZ2UuaDoKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRRdC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpDaHJvbWVDbGllbnRRdDo6c2hvdWxkSW50ZXJydXB0SmF2YVNj
cmlwdCk6CisgICAgICAgICogdGVzdHMvcXdlYnBhZ2UvdHN0X3F3ZWJwYWdlLmNwcDoKKyAgICAg
ICAgKEpTVGVzdFBhZ2U6OkpTVGVzdFBhZ2UpOgorICAgICAgICAoSlNUZXN0UGFnZTo6c2hvdWxk
SW50ZXJydXB0SmF2YVNjcmlwdCk6CisgICAgICAgICh0c3RfUVdlYlBhZ2U6OmluZmluaXRlTG9v
cEpTKToKKwogMjAwOS0wNy0xMCAgU2ltb24gSGF1c21hbm4gIDxzaW1vbi5oYXVzbWFubkBub2tp
YS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgSG9sZ2VyIEZyZXl0aGVyLgpJbmRleDogV2Vi
S2l0L3F0L0FwaS9xd2VicGFnZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC9xdC9BcGkvcXdlYnBh
Z2UuaAkocmV2aXNpb24gNDU3MDkpCisrKyBXZWJLaXQvcXQvQXBpL3F3ZWJwYWdlLmgJKHdvcmtp
bmcgY29weSkKQEAgLTI4OCw2ICsyODgsOSBAQAogCiAgICAgaW5saW5lIFFXZWJQYWdlUHJpdmF0
ZSogaGFuZGxlKCkgY29uc3QgeyByZXR1cm4gZDsgfQogCitwdWJsaWMgc2xvdHM6CisgICAgYm9v
bCBzaG91bGRJbnRlcnJ1cHRKYXZhU2NyaXB0KCk7CisKIFFfU0lHTkFMUzoKICAgICB2b2lkIGxv
YWRTdGFydGVkKCk7CiAgICAgdm9pZCBsb2FkUHJvZ3Jlc3MoaW50IHByb2dyZXNzKTsKSW5kZXg6
IFdlYktpdC9xdC9BcGkvcXdlYnBhZ2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC9xdC9BcGkv
cXdlYnBhZ2UuY3BwCShyZXZpc2lvbiA0NTcwOSkKKysrIFdlYktpdC9xdC9BcGkvcXdlYnBhZ2Uu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNDIxLDYgKzE0MjEsMjIgQEAKIH0KIAogLyohCisgICAg
VGhpcyBmdW5jdGlvbiBpcyBjYWxsZWQgd2hlbiBhIEphdmFTY3JpcHQgcHJvZ3JhbSBpcyBydW5u
aW5nIGZvciBhIGxvbmcgcGVyaW9kIG9mIHRpbWUuCisKKyAgICBJZiB0aGUgdXNlciB3YW50ZWQg
dG8gc3RvcCB0aGUgSmF2YVNjcmlwdCB0aGUgaW1wbGVtZW50YXRpb24gc2hvdWxkIHJldHVybiB0
cnVlOyBvdGhlcndpc2UgZmFsc2UuCisKKyAgICBUaGUgZGVmYXVsdCBpbXBsZW1lbnRhdGlvbiBl
eGVjdXRlcyB0aGUgcXVlcnkgdXNpbmcgUU1lc3NhZ2VCb3g6OmluZm9ybWF0aW9uIHdpdGggUU1l
c3NhZ2VCb3g6OlllcyBhbmQgUU1lc3NhZ2VCb3g6Ok5vIGJ1dHRvbnMuCisqLworYm9vbCBRV2Vi
UGFnZTo6c2hvdWxkSW50ZXJydXB0SmF2YVNjcmlwdCgpCit7CisjaWZkZWYgUVRfTk9fTUVTU0FH
RUJPWAorICAgIHJldHVybiBmYWxzZTsKKyNlbHNlCisgICAgcmV0dXJuIFFNZXNzYWdlQm94OjpZ
ZXMgPT0gUU1lc3NhZ2VCb3g6OmluZm9ybWF0aW9uKGQtPnZpZXcsIHRyKCJKYXZhU2NyaXB0IFBy
b2JsZW0gLSAlMSIpLmFyZyhtYWluRnJhbWUoKS0+dXJsKCkuaG9zdCgpKSwgdHIoIlRoZSBzY3Jp
cHQgb24gdGhpcyBwYWdlIGFwcGVhcnMgdG8gaGF2ZSBhIHByb2JsZW0uIERvIHlvdSB3YW50IHRv
IHN0b3AgdGhlIHNjcmlwdD8iKSwgUU1lc3NhZ2VCb3g6OlllcywgUU1lc3NhZ2VCb3g6Ok5vKTsK
KyNlbmRpZgorfQorCisvKiEKICAgICBUaGlzIGZ1bmN0aW9uIGlzIGNhbGxlZCB3aGVuZXZlciBX
ZWJLaXQgd2FudHMgdG8gY3JlYXRlIGEgbmV3IHdpbmRvdyBvZiB0aGUgZ2l2ZW4gXGEgdHlwZSwg
Zm9yCiAgICAgZXhhbXBsZSB3aGVuIGEgSmF2YVNjcmlwdCBwcm9ncmFtIHJlcXVlc3RzIHRvIG9w
ZW4gYSBkb2N1bWVudCBpbiBhIG5ldyB3aW5kb3cuCiAK
</data>
<flag name="review"
          id="16996"
          type_id="1"
          status="+"
          setter="zecke"
    />
          </attachment>
      

    </bug>

</bugzilla>