<?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>83135</bug_id>
          
          <creation_ts>2012-04-04 03:17:13 -0700</creation_ts>
          <short_desc>[Qt] Improve the tap gesture recognizer</short_desc>
          <delta_ts>2012-04-04 04:00:55 -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>WebKit2</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Kenneth Rohde Christiansen">kenneth</reporter>
          <assigned_to name="Kenneth Rohde Christiansen">kenneth</assigned_to>
          <cc>allan.jensen</cc>
    
    <cc>hausmann</cc>
    
    <cc>menard</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>zoltan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>595369</commentid>
    <comment_count>0</comment_count>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2012-04-04 03:17:13 -0700</bug_when>
    <thetext>The current code is messy and it emits single taps in cases where it shouldn&apos;t</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>595371</commentid>
    <comment_count>1</comment_count>
      <attachid>135547</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2012-04-04 03:19:06 -0700</bug_when>
    <thetext>Created attachment 135547
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>595375</commentid>
    <comment_count>2</comment_count>
      <attachid>135547</attachid>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2012-04-04 03:29:33 -0700</bug_when>
    <thetext>Comment on attachment 135547
Patch

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

r=me

We really need unit tests for this state machine though :(

&gt; Source/WebKit2/UIProcess/qt/QtTapGestureRecognizer.cpp:71
&gt; +            if (!withinDistance(touchPoint, maxDoubleTapDistance)) {
&gt; +                reset(); // Received a new tap, that is unrelated to the previous one. Ignore previous.
&gt;                  m_tapState = SingleTapStarted;
&gt; -            }
&gt; -        } else
&gt; -            m_tapState = SingleTapStarted;
&gt; -        m_touchBeginEventForTap = adoptPtr(new QTouchEvent(*event));
&gt; +            } else
&gt; +                m_tapState = DoubleTapCandidate;

I kind of like logic the &quot;positive&quot; way, i.e.

if (withinDistance(touchPoint, ...)
    m_tapState = DoubleTapCandidate;
} else {
    reset();
    m_tapState = SingleTapStarted;
}

But that&apos;s also a kind of nitpick which you can freely ignore if you want :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>595390</commentid>
    <comment_count>3</comment_count>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2012-04-04 04:00:55 -0700</bug_when>
    <thetext>Landed in 113165</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>135547</attachid>
            <date>2012-04-04 03:19:06 -0700</date>
            <delta_ts>2012-04-04 03:29:32 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-83135-20120404121059.patch</filename>
            <type>text/plain</type>
            <size>9926</size>
            <attacher name="Kenneth Rohde Christiansen">kenneth</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEzMDE3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggZjg3ZjQ0ZWQ4NjI1NTBj
Y2RhMWIyNjJlNTI2NmMwY2UxMTcxODNkYi4uZGNiM2Y5N2VhYjVjMmRjMjBkNGI2MzE0YmQ4NGUx
MDU0NmMwYTRlNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDEyLTA0LTA0ICBLZW5u
ZXRoIFJvaGRlIENocmlzdGlhbnNlbiAgPGtlbm5ldGhAd2Via2l0Lm9yZz4KKworICAgICAgICBb
UXRdIEltcHJvdmUgdGhlIHRhcCBnZXN0dXJlIHJlY29nbml6ZXIKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgzMTM1CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQ2xlYW4gdXAgdGhlIGNvZGUgYW5kIG1ha2Ug
c3VyZSB0aGF0IHRoZSBmaXJzdCBzaW5nbGUgdGFwCisgICAgICAgIGV2ZW50LCBhcyBwYXJ0IG9m
IGEgZG91YmxlIHRhcCBnZXN0dXJlLCBpcyBpZ25vcmVkLgorCisgICAgICAgICogVUlQcm9jZXNz
L3F0L1F0VGFwR2VzdHVyZVJlY29nbml6ZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpRdFRhcEdl
c3R1cmVSZWNvZ25pemVyOjp3aXRoaW5EaXN0YW5jZSk6CisgICAgICAgIChXZWJLaXQpOgorICAg
ICAgICAoV2ViS2l0OjpRdFRhcEdlc3R1cmVSZWNvZ25pemVyOjpyZWNvZ25pemUpOgorICAgICAg
ICAoV2ViS2l0OjpRdFRhcEdlc3R1cmVSZWNvZ25pemVyOjpzaW5nbGVUYXBUaW1lb3V0KToKKyAg
ICAgICAgKFdlYktpdDo6UXRUYXBHZXN0dXJlUmVjb2duaXplcjo6dGFwQW5kSG9sZFRpbWVvdXQp
OgorICAgICAgICAoV2ViS2l0OjpRdFRhcEdlc3R1cmVSZWNvZ25pemVyOjpyZXNldCk6CisgICAg
ICAgICogVUlQcm9jZXNzL3F0L1F0VGFwR2VzdHVyZVJlY29nbml6ZXIuaDoKKyAgICAgICAgKFF0
VGFwR2VzdHVyZVJlY29nbml6ZXIpOgorCiAyMDEyLTA0LTAzICBBbGxhbiBTYW5kZmVsZCBKZW5z
ZW4gIDxhbGxhbi5qZW5zZW5Abm9raWEuY29tPgogCiAgICAgICAgIFtRdF0gVGFwIGhpZ2hsaWdo
dCBhdHRlbXB0ZWQgaGlkZGVuIHNldmVyYWwgdGltZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9xdC9RdFRhcEdlc3R1cmVSZWNvZ25pemVyLmNwcCBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9xdC9RdFRhcEdlc3R1cmVSZWNvZ25pemVyLmNwcAppbmRleCBkNjM3MzY2
OTQ1NDc5N2VjOGIwYTBjNGVkY2RkOWFmMjM0Y2UzYzYwLi5jYjM1OWVhZTdiZjFlZjYwMWU2MzNi
OTM5ZWY2N2ZiMmY3NzY5MTgwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
cXQvUXRUYXBHZXN0dXJlUmVjb2duaXplci5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL3F0L1F0VGFwR2VzdHVyZVJlY29nbml6ZXIuY3BwCkBAIC0zNyw4MyArMzcsNjUgQEAgUXRU
YXBHZXN0dXJlUmVjb2duaXplcjo6UXRUYXBHZXN0dXJlUmVjb2duaXplcihRdFdlYlBhZ2VFdmVu
dEhhbmRsZXIqIGV2ZW50SGFuZGwKIHsKIH0KIAorYm9vbCBRdFRhcEdlc3R1cmVSZWNvZ25pemVy
Ojp3aXRoaW5EaXN0YW5jZShjb25zdCBRVG91Y2hFdmVudDo6VG91Y2hQb2ludCYgdG91Y2hQb2lu
dCwgaW50IGRpc3RhbmNlKQoreworICAgIHJldHVybiBRTGluZUYodG91Y2hQb2ludC5zY3JlZW5Q
b3MoKSwgbV9sYXN0VG91Y2hFdmVudC0+dG91Y2hQb2ludHMoKS5maXJzdCgpLnNjcmVlblBvcygp
KS5sZW5ndGgoKSA8IGRpc3RhbmNlOworfQorCiBib29sIFF0VGFwR2VzdHVyZVJlY29nbml6ZXI6
OnJlY29nbml6ZShjb25zdCBRVG91Y2hFdmVudCogZXZlbnQsIHFpbnQ2NCBldmVudFRpbWVzdGFt
cE1pbGxpcykKIHsKKyAgICBBU1NFUlQobV9ldmVudEhhbmRsZXIpOworCiAgICAgaWYgKGV2ZW50
LT50b3VjaFBvaW50cygpLnNpemUoKSAhPSAxKSB7CiAgICAgICAgIHJlc2V0KCk7CiAgICAgICAg
IHJldHVybiBmYWxzZTsKICAgICB9CiAKKyAgICBjb25zdCBRVG91Y2hFdmVudDo6VG91Y2hQb2lu
dCYgdG91Y2hQb2ludCA9IGV2ZW50LT50b3VjaFBvaW50cygpLmZpcnN0KCk7CisKICAgICBzd2l0
Y2ggKGV2ZW50LT50eXBlKCkpIHsKICAgICBjYXNlIFFFdmVudDo6VG91Y2hCZWdpbjoKICAgICAg
ICAgQVNTRVJUKG1fdGFwU3RhdGUgPT0gTm9UYXApOwotICAgICAgICBBU1NFUlQoIW1fdGFwQW5k
SG9sZFRpbWVyLmlzQWN0aXZlKCkpOworICAgICAgICBtX2RvdWJsZVRhcFRpbWVyLnN0b3AoKTsg
Ly8gQ2FuY2VsIG90aGVyIHNpbmdsZSB0YXBzLgogCisgICAgICAgIEFTU0VSVCghbV90YXBBbmRI
b2xkVGltZXIuaXNBY3RpdmUoKSk7CiAgICAgICAgIG1fdGFwQW5kSG9sZFRpbWVyLnN0YXJ0KHRh
cEFuZEhvbGRUaW1lLCB0aGlzKTsKIAotICAgICAgICBpZiAobV9kb3VibGVUYXBUaW1lci5pc0Fj
dGl2ZSgpKSB7Ci0gICAgICAgICAgICAvLyBNaWdodCBiZSBkb3VibGUgdGFwLgotICAgICAgICAg
ICAgQVNTRVJUKG1fdG91Y2hCZWdpbkV2ZW50Rm9yVGFwKTsKLSAgICAgICAgICAgIG1fZG91Ymxl
VGFwVGltZXIuc3RvcCgpOwotICAgICAgICAgICAgUVBvaW50RiBsYXN0UG9zaXRpb24gPSBtX3Rv
dWNoQmVnaW5FdmVudEZvclRhcC0+dG91Y2hQb2ludHMoKS5maXJzdCgpLnNjcmVlblBvcygpOwot
ICAgICAgICAgICAgUVBvaW50RiBuZXdQb3NpdGlvbiA9IGV2ZW50LT50b3VjaFBvaW50cygpLmZp
cnN0KCkuc2NyZWVuUG9zKCk7Ci0gICAgICAgICAgICBpZiAoUUxpbmVGKGxhc3RQb3NpdGlvbiwg
bmV3UG9zaXRpb24pLmxlbmd0aCgpIDwgbWF4RG91YmxlVGFwRGlzdGFuY2UpCi0gICAgICAgICAg
ICAgICAgbV90YXBTdGF0ZSA9IERvdWJsZVRhcENhbmRpZGF0ZTsKLSAgICAgICAgICAgIGVsc2Ug
ewotICAgICAgICAgICAgICAgIC8vIFJlY2VpdmVkIGEgbmV3IHRhcCwgdGhhdCBpcyB1bnJlbGF0
ZWQgdG8gdGhlIHByZXZpb3VzIG9uZS4KLSAgICAgICAgICAgICAgICB0YXBUaW1lb3V0KCk7Cisg
ICAgICAgIG1fdGFwU3RhdGUgPSBTaW5nbGVUYXBTdGFydGVkOworCisgICAgICAgIGlmIChtX2xh
c3RUb3VjaEV2ZW50KSB7CisgICAgICAgICAgICBpZiAoIXdpdGhpbkRpc3RhbmNlKHRvdWNoUG9p
bnQsIG1heERvdWJsZVRhcERpc3RhbmNlKSkgeworICAgICAgICAgICAgICAgIHJlc2V0KCk7IC8v
IFJlY2VpdmVkIGEgbmV3IHRhcCwgdGhhdCBpcyB1bnJlbGF0ZWQgdG8gdGhlIHByZXZpb3VzIG9u
ZS4gSWdub3JlIHByZXZpb3VzLgogICAgICAgICAgICAgICAgIG1fdGFwU3RhdGUgPSBTaW5nbGVU
YXBTdGFydGVkOwotICAgICAgICAgICAgfQotICAgICAgICB9IGVsc2UKLSAgICAgICAgICAgIG1f
dGFwU3RhdGUgPSBTaW5nbGVUYXBTdGFydGVkOwotICAgICAgICBtX3RvdWNoQmVnaW5FdmVudEZv
clRhcCA9IGFkb3B0UHRyKG5ldyBRVG91Y2hFdmVudCgqZXZlbnQpKTsKKyAgICAgICAgICAgIH0g
ZWxzZQorICAgICAgICAgICAgICAgIG1fdGFwU3RhdGUgPSBEb3VibGVUYXBDYW5kaWRhdGU7Cisg
ICAgICAgIH0KIAogICAgICAgICBpZiAobV90YXBTdGF0ZSA9PSBTaW5nbGVUYXBTdGFydGVkKSB7
Ci0gICAgICAgICAgICBjb25zdCBRVG91Y2hFdmVudDo6VG91Y2hQb2ludCYgdG91Y2hQb2ludCA9
IGV2ZW50LT50b3VjaFBvaW50cygpLmZpcnN0KCk7CiAgICAgICAgICAgICBtX2V2ZW50SGFuZGxl
ci0+aGFuZGxlUG90ZW50aWFsU2luZ2xlVGFwRXZlbnQodG91Y2hQb2ludCk7CisgICAgICAgICAg
ICBtX2xhc3RUb3VjaEV2ZW50ID0gYWRvcHRQdHIobmV3IFFUb3VjaEV2ZW50KCpldmVudCkpOwor
ICAgICAgICAgICAgbV9kb3VibGVUYXBUaW1lci5zdGFydChtYXhEb3VibGVUYXBJbnRlcnZhbCwg
dGhpcyk7CiAgICAgICAgIH0KICAgICAgICAgYnJlYWs7CisKICAgICBjYXNlIFFFdmVudDo6VG91
Y2hVcGRhdGU6CiAgICAgICAgIC8vIElmIHRoZSB0b3VjaCBwb2ludCBtb3ZlcyBmdXJ0aGVyIHRo
YW4gdGhlIHRocmVzaG9sZCwgd2UgY2FuY2VsIHRoZSB0YXAgZ2VzdHVyZS4KLSAgICAgICAgaWYg
KG1fdGFwU3RhdGUgPT0gU2luZ2xlVGFwU3RhcnRlZCkgewotICAgICAgICAgICAgY29uc3QgUVRv
dWNoRXZlbnQ6OlRvdWNoUG9pbnQmIHRvdWNoUG9pbnQgPSBldmVudC0+dG91Y2hQb2ludHMoKS5m
aXJzdCgpOwotICAgICAgICAgICAgUVBvaW50RiBvZmZzZXQodG91Y2hQb2ludC5zY2VuZVBvcygp
IC0gbV90b3VjaEJlZ2luRXZlbnRGb3JUYXAtPnRvdWNoUG9pbnRzKCkuZmlyc3QoKS5zY2VuZVBv
cygpKTsKLSAgICAgICAgICAgIGNvbnN0IHFyZWFsIGRpc3RYID0gcUFicyhvZmZzZXQueCgpKTsK
LSAgICAgICAgICAgIGNvbnN0IHFyZWFsIGRpc3RZID0gcUFicyhvZmZzZXQueSgpKTsKLSAgICAg
ICAgICAgIGlmIChkaXN0WCA+IGluaXRpYWxUcmlnZ2VyRGlzdGFuY2VUaHJlc2hvbGQgfHwgZGlz
dFkgPiBpbml0aWFsVHJpZ2dlckRpc3RhbmNlVGhyZXNob2xkKQotICAgICAgICAgICAgICAgIHJl
c2V0KCk7Ci0gICAgICAgIH0KKyAgICAgICAgaWYgKG1fdGFwU3RhdGUgPT0gU2luZ2xlVGFwU3Rh
cnRlZCAmJiAhd2l0aGluRGlzdGFuY2UodG91Y2hQb2ludCwgbWF4UGFuRGlzdGFuY2UpKQorICAg
ICAgICAgICAgcmVzZXQoKTsKICAgICAgICAgYnJlYWs7CisKICAgICBjYXNlIFFFdmVudDo6VG91
Y2hFbmQ6CiAgICAgICAgIG1fdGFwQW5kSG9sZFRpbWVyLnN0b3AoKTsKKworICAgICAgICBpZiAo
bV90YXBTdGF0ZSA9PSBEb3VibGVUYXBDYW5kaWRhdGUgJiYgd2l0aGluRGlzdGFuY2UodG91Y2hQ
b2ludCwgbWF4RG91YmxlVGFwRGlzdGFuY2UpKQorICAgICAgICAgICAgbV9ldmVudEhhbmRsZXIt
PmhhbmRsZURvdWJsZVRhcEV2ZW50KHRvdWNoUG9pbnQpOworCiAgICAgICAgIGlmIChtX3RhcFN0
YXRlICE9IE5vVGFwKQogICAgICAgICAgICAgbV9ldmVudEhhbmRsZXItPmhhbmRsZVBvdGVudGlh
bFNpbmdsZVRhcEV2ZW50KFFUb3VjaEV2ZW50OjpUb3VjaFBvaW50KCkpOwogCi0gICAgICAgIHN3
aXRjaCAobV90YXBTdGF0ZSkgewotICAgICAgICBjYXNlIERvdWJsZVRhcENhbmRpZGF0ZToKLSAg
ICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICBBU1NFUlQoIW1fZG91YmxlVGFwVGltZXIuaXNB
Y3RpdmUoKSk7Ci0gICAgICAgICAgICAgICAgbV90YXBTdGF0ZSA9IE5vVGFwOwotCi0gICAgICAg
ICAgICAgICAgY29uc3QgUVRvdWNoRXZlbnQ6OlRvdWNoUG9pbnQmIHRvdWNoUG9pbnQgPSBldmVu
dC0+dG91Y2hQb2ludHMoKS5maXJzdCgpOwotICAgICAgICAgICAgICAgIFFQb2ludEYgc3RhcnRQ
b3NpdGlvbiA9IHRvdWNoUG9pbnQuc3RhcnRTY3JlZW5Qb3MoKTsKLSAgICAgICAgICAgICAgICBR
UG9pbnRGIGVuZFBvc2l0aW9uID0gdG91Y2hQb2ludC5zY3JlZW5Qb3MoKTsKLSAgICAgICAgICAg
ICAgICBpZiAoUUxpbmVGKGVuZFBvc2l0aW9uLCBzdGFydFBvc2l0aW9uKS5sZW5ndGgoKSA8IG1h
eERvdWJsZVRhcERpc3RhbmNlICYmIG1fZXZlbnRIYW5kbGVyKQotICAgICAgICAgICAgICAgICAg
ICBtX2V2ZW50SGFuZGxlci0+aGFuZGxlRG91YmxlVGFwRXZlbnQodG91Y2hQb2ludCk7Ci0gICAg
ICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIGNhc2UgU2luZ2xlVGFw
U3RhcnRlZDoKLSAgICAgICAgICAgIEFTU0VSVCghbV9kb3VibGVUYXBUaW1lci5pc0FjdGl2ZSgp
KTsKLSAgICAgICAgICAgIG1fZG91YmxlVGFwVGltZXIuc3RhcnQoZG91YmxlQ2xpY2tJbnRlcnZh
bCwgdGhpcyk7Ci0gICAgICAgICAgICBtX3RhcFN0YXRlID0gTm9UYXA7Ci0gICAgICAgICAgICBi
cmVhazsKLSAgICAgICAgY2FzZSBUYXBBbmRIb2xkOgotICAgICAgICAgICAgbV90YXBTdGF0ZSA9
IE5vVGFwOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGRlZmF1bHQ6Ci0gICAgICAgICAg
ICBicmVhazsKLSAgICAgICAgfQorICAgICAgICBtX3RhcFN0YXRlID0gTm9UYXA7CiAgICAgICAg
IGJyZWFrOworCiAgICAgZGVmYXVsdDoKICAgICAgICAgYnJlYWs7CiAgICAgfQpAQCAtMTIxLDQx
ICsxMDMsMzggQEAgYm9vbCBRdFRhcEdlc3R1cmVSZWNvZ25pemVyOjpyZWNvZ25pemUoY29uc3Qg
UVRvdWNoRXZlbnQqIGV2ZW50LCBxaW50NjQgZXZlbnRUaW0KICAgICByZXR1cm4gZmFsc2U7CiB9
CiAKLXZvaWQgUXRUYXBHZXN0dXJlUmVjb2duaXplcjo6dGFwVGltZW91dCgpCit2b2lkIFF0VGFw
R2VzdHVyZVJlY29nbml6ZXI6OnNpbmdsZVRhcFRpbWVvdXQoKQogewotICAgIG1fZG91YmxlVGFw
VGltZXIuc3RvcCgpOwotICAgIG1fZXZlbnRIYW5kbGVyLT5oYW5kbGVTaW5nbGVUYXBFdmVudCht
X3RvdWNoQmVnaW5FdmVudEZvclRhcC0+dG91Y2hQb2ludHMoKS5hdCgwKSk7Ci0gICAgbV90b3Vj
aEJlZ2luRXZlbnRGb3JUYXAuY2xlYXIoKTsKKyAgICBBU1NFUlQobV9sYXN0VG91Y2hFdmVudCk7
CisKKyAgICBtX2V2ZW50SGFuZGxlci0+aGFuZGxlUG90ZW50aWFsU2luZ2xlVGFwRXZlbnQoUVRv
dWNoRXZlbnQ6OlRvdWNoUG9pbnQoKSk7CisgICAgbV9ldmVudEhhbmRsZXItPmhhbmRsZVNpbmds
ZVRhcEV2ZW50KG1fbGFzdFRvdWNoRXZlbnQtPnRvdWNoUG9pbnRzKCkuZmlyc3QoKSk7CisgICAg
cmVzZXQoKTsKIH0KIAogdm9pZCBRdFRhcEdlc3R1cmVSZWNvZ25pemVyOjp0YXBBbmRIb2xkVGlt
ZW91dCgpCiB7Ci0gICAgQVNTRVJUKG1fdG91Y2hCZWdpbkV2ZW50Rm9yVGFwKTsKLSAgICBtX3Rh
cEFuZEhvbGRUaW1lci5zdG9wKCk7CisgICAgQVNTRVJUKG1fbGFzdFRvdWNoRXZlbnQpOworCiAg
ICAgbV9ldmVudEhhbmRsZXItPmhhbmRsZVBvdGVudGlhbFNpbmdsZVRhcEV2ZW50KFFUb3VjaEV2
ZW50OjpUb3VjaFBvaW50KCkpOworICAgIHJlc2V0KCk7CisKICNpZiAwIC8vIE5vIHN1cHBvcnQg
Zm9yIHN5bnRoZXRpYyBjb250ZXh0IG1lbnVzIGluIFdLMiB5ZXQuCi0gICAgUVRvdWNoRXZlbnQ6
OlRvdWNoUG9pbnQgdGFwUG9pbnQgPSBtX3RvdWNoQmVnaW5FdmVudEZvclRhcC0+dG91Y2hQb2lu
dHMoKS5hdCgwKTsKLSAgICBXZWJHZXN0dXJlRXZlbnQgZ2VzdHVyZShXZWJFdmVudDo6R2VzdHVy
ZVRhcEFuZEhvbGQsIHRhcFBvaW50LnBvcygpLnRvUG9pbnQoKSwgdGFwUG9pbnQuc2NyZWVuUG9z
KCkudG9Qb2ludCgpLCBXZWJFdmVudDo6TW9kaWZpZXJzKDApLCAwKTsKLSAgICBpZiAobV93ZWJQ
YWdlUHJveHkpCi0gICAgICAgIG1fd2ViUGFnZVByb3h5LT5oYW5kbGVHZXN0dXJlRXZlbnQoZ2Vz
dHVyZSk7CisgICAgY29uc3QgUVRvdWNoRXZlbnQ6OlRvdWNoUG9pbnQmIHRvdWNoUG9pbnQgPSBt
X2xhc3RUb3VjaEV2ZW50LT50b3VjaFBvaW50cygpLmZpcnN0KCk7CisgICAgV2ViR2VzdHVyZUV2
ZW50IGV2ZW50KFdlYkV2ZW50OjpHZXN0dXJlVGFwQW5kSG9sZCwgdG91Y2hQb2ludC5wb3MoKS50
b1BvaW50KCksIHRvdWNoUG9pbnQuc2NyZWVuUG9zKCkudG9Qb2ludCgpLCBXZWJFdmVudDo6TW9k
aWZpZXJzKDApLCAwKTsKKyAgICBtX2V2ZW50SGFuZGxlci0+aGFuZGxlR2VzdHVyZUV2ZW50KGV2
ZW50KTsKICNlbmRpZgotICAgIG1fdG91Y2hCZWdpbkV2ZW50Rm9yVGFwLmNsZWFyKCk7Ci0gICAg
bV90YXBTdGF0ZSA9IFRhcEFuZEhvbGQ7Ci0KLSAgICBBU1NFUlQoIW1fZG91YmxlVGFwVGltZXIu
aXNBY3RpdmUoKSk7Ci0gICAgbV9kb3VibGVUYXBUaW1lci5zdG9wKCk7CiB9CiAKIHZvaWQgUXRU
YXBHZXN0dXJlUmVjb2duaXplcjo6cmVzZXQoKQogewotICAgIGlmIChtX3RhcFN0YXRlID09IE5v
VGFwKQotICAgICAgICByZXR1cm47Ci0KLSAgICBtX2V2ZW50SGFuZGxlci0+aGFuZGxlUG90ZW50
aWFsU2luZ2xlVGFwRXZlbnQoUVRvdWNoRXZlbnQ6OlRvdWNoUG9pbnQoKSk7CisgICAgaWYgKG1f
dGFwU3RhdGUgIT0gTm9UYXApCisgICAgICAgIG1fZXZlbnRIYW5kbGVyLT5oYW5kbGVQb3RlbnRp
YWxTaW5nbGVUYXBFdmVudChRVG91Y2hFdmVudDo6VG91Y2hQb2ludCgpKTsKIAogICAgIG1fdGFw
U3RhdGUgPSBOb1RhcDsKLSAgICBtX3RvdWNoQmVnaW5FdmVudEZvclRhcC5jbGVhcigpOwogICAg
IG1fdGFwQW5kSG9sZFRpbWVyLnN0b3AoKTsKKyAgICBtX2RvdWJsZVRhcFRpbWVyLnN0b3AoKTsK
KyAgICBtX2xhc3RUb3VjaEV2ZW50LmNsZWFyKCk7CiAKICAgICBRdEdlc3R1cmVSZWNvZ25pemVy
OjpyZXNldCgpOwogfQpAQCAtMTY0LDcgKzE0Myw3IEBAIHZvaWQgUXRUYXBHZXN0dXJlUmVjb2du
aXplcjo6dGltZXJFdmVudChRVGltZXJFdmVudCogZXYpCiB7CiAgICAgaW50IHRpbWVySWQgPSBl
di0+dGltZXJJZCgpOwogICAgIGlmICh0aW1lcklkID09IG1fZG91YmxlVGFwVGltZXIudGltZXJJ
ZCgpKQotICAgICAgICB0YXBUaW1lb3V0KCk7CisgICAgICAgIHNpbmdsZVRhcFRpbWVvdXQoKTsK
ICAgICBlbHNlIGlmICh0aW1lcklkID09IG1fdGFwQW5kSG9sZFRpbWVyLnRpbWVySWQoKSkKICAg
ICAgICAgdGFwQW5kSG9sZFRpbWVvdXQoKTsKICAgICBlbHNlCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvcXQvUXRUYXBHZXN0dXJlUmVjb2duaXplci5oIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL3F0L1F0VGFwR2VzdHVyZVJlY29nbml6ZXIuaAppbmRleCBhNGVjNDFl
ZmZmNGYyMzcxMmM0M2UyZWNlNmVkN2UyNmE2NjY1NjI3Li5iNWNmOGZlODZhMzkxZmZiNDllZTQy
ZTQwZjdiYTE5MDIyNDQ1NTcwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
cXQvUXRUYXBHZXN0dXJlUmVjb2duaXplci5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9xdC9RdFRhcEdlc3R1cmVSZWNvZ25pemVyLmgKQEAgLTI4LDIwICsyOCwxNyBAQAogCiAjaW5j
bHVkZSAiUXRHZXN0dXJlUmVjb2duaXplci5oIgogCisjaW5jbHVkZSA8UVRvdWNoRXZlbnQ+CiAj
aW5jbHVkZSA8UXRDb3JlL1FCYXNpY1RpbWVyPgogI2luY2x1ZGUgPFF0Q29yZS9RT2JqZWN0Pgog
I2luY2x1ZGUgPFF0Q29yZS9RdEdsb2JhbD4KICNpbmNsdWRlIDx3dGYvT3duUHRyLmg+CiAKLVFU
X0JFR0lOX05BTUVTUEFDRQotY2xhc3MgUVRvdWNoRXZlbnQ7Ci1RVF9FTkRfTkFNRVNQQUNFCi0K
IC8vIEZJWE1FOiBUaGVzZSBjb25zdGFudHMgc2hvdWxkIHBvc3NpYmx5IGRlcGVuZCBvbiBEUEku
Ci1jb25zdCBxcmVhbCBpbml0aWFsVHJpZ2dlckRpc3RhbmNlVGhyZXNob2xkID0gNTsKLWNvbnN0
IHFyZWFsIG1heERvdWJsZVRhcERpc3RhbmNlID0gMTIwOworY29uc3QgaW50IG1heFBhbkRpc3Rh
bmNlID0gNTsKK2NvbnN0IGludCBtYXhEb3VibGVUYXBEaXN0YW5jZSA9IDEyMDsKIGNvbnN0IGlu
dCB0YXBBbmRIb2xkVGltZSA9IDgwMDsKLWNvbnN0IGludCBkb3VibGVDbGlja0ludGVydmFsID0g
NDAwOworY29uc3QgaW50IG1heERvdWJsZVRhcEludGVydmFsID0gNDAwOwogCiBjbGFzcyBRdFdl
YlBhZ2VFdmVudEhhbmRsZXI7CiAKQEAgLTU1LDEzICs1MiwxNSBAQCBwdWJsaWM6CiAKIHByb3Rl
Y3RlZDoKICAgICB2b2lkIHRpbWVyRXZlbnQoUVRpbWVyRXZlbnQqKTsKLSAgICB2b2lkIHRhcFRp
bWVvdXQoKTsKKyAgICB2b2lkIHNpbmdsZVRhcFRpbWVvdXQoKTsKICAgICB2b2lkIHRhcEFuZEhv
bGRUaW1lb3V0KCk7CiAKIHByaXZhdGU6CisgICAgYm9vbCB3aXRoaW5EaXN0YW5jZShjb25zdCBR
VG91Y2hFdmVudDo6VG91Y2hQb2ludCYsIGludCBkaXN0YW5jZSk7CisKICAgICBRQmFzaWNUaW1l
ciBtX2RvdWJsZVRhcFRpbWVyOwogICAgIFFCYXNpY1RpbWVyIG1fdGFwQW5kSG9sZFRpbWVyOwot
ICAgIE93blB0cjxRVG91Y2hFdmVudD4gbV90b3VjaEJlZ2luRXZlbnRGb3JUYXA7CisgICAgT3du
UHRyPFFUb3VjaEV2ZW50PiBtX2xhc3RUb3VjaEV2ZW50OwogCiAgICAgZW51bSB7CiAgICAgICAg
IE5vVGFwLAo=
</data>
<flag name="review"
          id="140082"
          type_id="1"
          status="+"
          setter="hausmann"
    />
          </attachment>
      

    </bug>

</bugzilla>