<?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>42892</bug_id>
          
          <creation_ts>2010-07-23 06:05:11 -0700</creation_ts>
          <short_desc>[Qt] Decouple QTouchEvent&apos;s accepted flag from JS prevent default</short_desc>
          <delta_ts>2010-08-04 12:13:25 -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>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</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>Qt, QtTriaged</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>32485</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Kim Grönholm">kim.1.gronholm</reporter>
          <assigned_to name="Kim Grönholm">kim.1.gronholm</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>cshu</cc>
    
    <cc>hausmann</cc>
    
    <cc>tonikitoo</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>255343</commentid>
    <comment_count>0</comment_count>
    <who name="Kim Grönholm">kim.1.gronholm</who>
    <bug_when>2010-07-23 06:05:11 -0700</bug_when>
    <thetext>Currently the QTouchEvent is not accepted if the default action was not prevented in the touchevent 
listener. This results in touchmove and touchend events not being sent if touchstart event listener 
doesn&apos;t exist or doesn&apos;t prevent the default action. This is due to the fact that Qt sends
TouchUpdate and TouchEnd events only if TouchBegin was accepted.

We need to always accept the QTouchEvents in order to get TouchUpdate and TouchEnd events, and use the
QWebView::event() and QGraphicsWebView::sceneEvent() return values for indicating whether the default
action was prevented or not.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>256397</commentid>
    <comment_count>1</comment_count>
    <who name="Kim Grönholm">kim.1.gronholm</who>
    <bug_when>2010-07-26 23:05:59 -0700</bug_when>
    <thetext>We can&apos;t use the QWebView::event() and QGraphicsWebView::sceneEvent() return values for indicating whether the default action was prevented as they also need to return true in order to get TouchUpdate and TouchEnd events.

Instead we can make the QWebPage::event() to return whether the default action was prevented for the touch events. This way QtWebKit will receive all QTouchEvents without any extra effort needed from the application developer but with some inconvenience the developer is still able to figure out if the default action was prevented for the touch events.

I&apos;ll submit a patch for this soon.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>256398</commentid>
    <comment_count>2</comment_count>
      <attachid>62648</attachid>
    <who name="Kim Grönholm">kim.1.gronholm</who>
    <bug_when>2010-07-26 23:08:09 -0700</bug_when>
    <thetext>Created attachment 62648
Decouple QTouchEvent&apos;s accepted flag from JS prevent default</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>256474</commentid>
    <comment_count>3</comment_count>
      <attachid>62648</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-07-27 02:52:00 -0700</bug_when>
    <thetext>Comment on attachment 62648
Decouple QTouchEvent&apos;s accepted flag from JS prevent default

Clearing flags on attachment: 62648

Committed r64118: &lt;http://trac.webkit.org/changeset/64118&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>256475</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-07-27 02:52:05 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>256615</commentid>
    <comment_count>5</comment_count>
    <who name="Antonio Gomes">tonikitoo</who>
    <bug_when>2010-07-27 08:30:37 -0700</bug_when>
    <thetext>It&apos;d be great if changes like this in the code had comment, so one would not remove it, and would understand easily why it is as is.

kim, could you add it?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>257055</commentid>
    <comment_count>6</comment_count>
      <attachid>62798</attachid>
    <who name="Kim Grönholm">kim.1.gronholm</who>
    <bug_when>2010-07-28 00:35:44 -0700</bug_when>
    <thetext>Created attachment 62798
Commenting touch event handling code

Sure, here comes a patch :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>257105</commentid>
    <comment_count>7</comment_count>
    <who name="Antonio Gomes">tonikitoo</who>
    <bug_when>2010-07-28 04:35:56 -0700</bug_when>
    <thetext>Reopening to add this nice missing bit: the comment :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>257107</commentid>
    <comment_count>8</comment_count>
      <attachid>62798</attachid>
    <who name="Antonio Gomes">tonikitoo</who>
    <bug_when>2010-07-28 04:44:23 -0700</bug_when>
    <thetext>Comment on attachment 62798
Commenting touch event handling code


&gt; diff --git a/WebKit/qt/Api/qgraphicswebview.cpp b/WebKit/qt/Api/qgraphicswebview.cpp
&gt; index 853e637..8a94c9b 100644
&gt; --- a/WebKit/qt/Api/qgraphicswebview.cpp
&gt; +++ b/WebKit/qt/Api/qgraphicswebview.cpp
&gt; @@ -319,6 +319,8 @@ bool QGraphicsWebView::sceneEvent(QEvent* event)
&gt;                  || event-&gt;type() == QEvent::TouchEnd
&gt;                  || event-&gt;type() == QEvent::TouchUpdate)) {
&gt;          d-&gt;page-&gt;event(event);
&gt; +
&gt; +        // Always return true so that we&apos;ll receive also TouchUpdate and TouchEnd events
&gt;          return true;

From QWebPage::event you return if the event was canceled in JS, but you ignore the value returned here and on QWebView&apos;s case as well.

&gt;      }
&gt;  #endif
&gt; diff --git a/WebKit/qt/Api/qwebpage.cpp b/WebKit/qt/Api/qwebpage.cpp
&gt; index 1dda884..b689062 100644
&gt; --- a/WebKit/qt/Api/qwebpage.cpp
&gt; +++ b/WebKit/qt/Api/qwebpage.cpp
&gt; @@ -1397,7 +1397,10 @@ bool QWebPagePrivate::touchEvent(QTouchEvent* event)
&gt;      if (!frame-&gt;view())
&gt;          return false;
&gt;  
&gt; +    // Always accept the QTouchEvent so that we&apos;ll receive also TouchUpdate and TouchEnd events
&gt;      event-&gt;setAccepted(true);
&gt; +
&gt; +    // Return whether the default action was cancelled in the JS event handler
&gt;      return frame-&gt;eventHandler()-&gt;handleTouchEvent(PlatformTouchEvent(event));
&gt;  }
&gt;  #endif
&gt; @@ -2842,6 +2845,7 @@ bool QWebPage::event(QEvent *ev)
&gt;      case QEvent::TouchBegin:
&gt;      case QEvent::TouchUpdate:
&gt;      case QEvent::TouchEnd:
&gt; +        // Return whether the default action was cancelled in the JS event handler
&gt;          return d-&gt;touchEvent(static_cast&lt;QTouchEvent*&gt;(ev));

You comments also raised a question: what indicates the touch engine to send follow up TouchUpdate and TouchEnd events? the setAccepted(true) sentence or returning &apos;true&apos; from sceneEvent? your comments did not clarify that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>257109</commentid>
    <comment_count>9</comment_count>
    <who name="Kim Grönholm">kim.1.gronholm</who>
    <bug_when>2010-07-28 04:53:09 -0700</bug_when>
    <thetext>Yes, I discussed this with Simon and he suggested that doing it like this allows us to always get all touch events and the developer can subclass QWebPage and re-implement event() if the preventDefault information is needed. We know it&apos;s inconvenient but Simon didn&apos;t want to make any API changes.

In order to get the TouchUpdate and TouchEnd events from Qt, both the accepted flag and the return value must be true as the comments imply.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>257110</commentid>
    <comment_count>10</comment_count>
    <who name="Kim Grönholm">kim.1.gronholm</who>
    <bug_when>2010-07-28 05:01:28 -0700</bug_when>
    <thetext>Oops, sorry, I&apos;m typing without thinking :( I meant &quot;... subclass QWebView or QGraphicsWebView and re-implement sceneEvent() or event() ...&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>257113</commentid>
    <comment_count>11</comment_count>
      <attachid>62798</attachid>
    <who name="Antonio Gomes">tonikitoo</who>
    <bug_when>2010-07-28 05:11:33 -0700</bug_when>
    <thetext>Comment on attachment 62798
Commenting touch event handling code


Ok.


from http://doc.trolltech.com/4.7-snapshot/qtouchevent.html :

&quot;The QEvent::TouchUpdate and QEvent::TouchEnd events are sent to the widget or item that accepted the QEvent::TouchBegin event. If the QEvent::TouchBegin event is not accepted and not filtered by an event filter, then no further touch events are sent until the next QEvent::TouchBegin.&quot;

and from http://doc.trolltech.com/4.7-snapshot/qgraphicsitem.html#sceneEvent :
&quot;Returns true if the event was recognized and handled; otherwise, (e.g., if the event type was not recognized,) false is returned.&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>257447</commentid>
    <comment_count>12</comment_count>
      <attachid>62798</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-07-28 16:46:10 -0700</bug_when>
    <thetext>Comment on attachment 62798
Commenting touch event handling code

Clearing flags on attachment: 62798

Committed r64245: &lt;http://trac.webkit.org/changeset/64245&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>257448</commentid>
    <comment_count>13</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-07-28 16:46:15 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>257684</commentid>
    <comment_count>14</comment_count>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2010-07-29 08:12:37 -0700</bug_when>
    <thetext>Revision r64118 cherry-picked into qtwebkit-2.1 with commit 15e28c036805866fcaff7d11d525ebc46b5b6ddd
Revision r64245 cherry-picked into qtwebkit-2.1 with commit 5b6f155620fb6b368fe07dc33a6e31357bab9394</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>62648</attachid>
            <date>2010-07-26 23:08:09 -0700</date>
            <delta_ts>2010-07-27 02:52:00 -0700</delta_ts>
            <desc>Decouple QTouchEvent&apos;s accepted flag from JS prevent default</desc>
            <filename>bug42892.patch</filename>
            <type>text/plain</type>
            <size>3585</size>
            <attacher name="Kim Grönholm">kim.1.gronholm</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdC9xdC9BcGkvcWdyYXBoaWNzd2Vidmlldy5jcHAgYi9XZWJLaXQv
cXQvQXBpL3FncmFwaGljc3dlYnZpZXcuY3BwCmluZGV4IDhmYmI4ZTIuLjg1M2U2MzcgMTAwNjQ0
Ci0tLSBhL1dlYktpdC9xdC9BcGkvcWdyYXBoaWNzd2Vidmlldy5jcHAKKysrIGIvV2ViS2l0L3F0
L0FwaS9xZ3JhcGhpY3N3ZWJ2aWV3LmNwcApAQCAtMzE5LDggKzMxOSw3IEBAIGJvb2wgUUdyYXBo
aWNzV2ViVmlldzo6c2NlbmVFdmVudChRRXZlbnQqIGV2ZW50KQogICAgICAgICAgICAgICAgIHx8
IGV2ZW50LT50eXBlKCkgPT0gUUV2ZW50OjpUb3VjaEVuZAogICAgICAgICAgICAgICAgIHx8IGV2
ZW50LT50eXBlKCkgPT0gUUV2ZW50OjpUb3VjaFVwZGF0ZSkpIHsKICAgICAgICAgZC0+cGFnZS0+
ZXZlbnQoZXZlbnQpOwotICAgICAgICBpZiAoZXZlbnQtPmlzQWNjZXB0ZWQoKSkKLSAgICAgICAg
ICAgIHJldHVybiB0cnVlOworICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9CiAjZW5kaWYKIApk
aWZmIC0tZ2l0IGEvV2ViS2l0L3F0L0FwaS9xd2VicGFnZS5jcHAgYi9XZWJLaXQvcXQvQXBpL3F3
ZWJwYWdlLmNwcAppbmRleCA3MGUxMzJjLi4xZGRhODg0IDEwMDY0NAotLS0gYS9XZWJLaXQvcXQv
QXBpL3F3ZWJwYWdlLmNwcAorKysgYi9XZWJLaXQvcXQvQXBpL3F3ZWJwYWdlLmNwcApAQCAtMTM5
MSwxNCArMTM5MSwxNCBAQCBib29sIFFXZWJQYWdlUHJpdmF0ZTo6aGFuZGxlU2Nyb2xsaW5nKFFL
ZXlFdmVudCAqZXYsIEZyYW1lICpmcmFtZSkKIH0KIAogI2lmIFFUX1ZFUlNJT04gPj0gUVRfVkVS
U0lPTl9DSEVDSyg0LCA2LCAwKQotdm9pZCBRV2ViUGFnZVByaXZhdGU6OnRvdWNoRXZlbnQoUVRv
dWNoRXZlbnQqIGV2ZW50KQorYm9vbCBRV2ViUGFnZVByaXZhdGU6OnRvdWNoRXZlbnQoUVRvdWNo
RXZlbnQqIGV2ZW50KQogewogICAgIFdlYkNvcmU6OkZyYW1lKiBmcmFtZSA9IFFXZWJGcmFtZVBy
aXZhdGU6OmNvcmUobWFpbkZyYW1lKTsKICAgICBpZiAoIWZyYW1lLT52aWV3KCkpCi0gICAgICAg
IHJldHVybjsKKyAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0gICAgYm9vbCBhY2NlcHRlZCA9IGZy
YW1lLT5ldmVudEhhbmRsZXIoKS0+aGFuZGxlVG91Y2hFdmVudChQbGF0Zm9ybVRvdWNoRXZlbnQo
ZXZlbnQpKTsKLSAgICBldmVudC0+c2V0QWNjZXB0ZWQoYWNjZXB0ZWQpOworICAgIGV2ZW50LT5z
ZXRBY2NlcHRlZCh0cnVlKTsKKyAgICByZXR1cm4gZnJhbWUtPmV2ZW50SGFuZGxlcigpLT5oYW5k
bGVUb3VjaEV2ZW50KFBsYXRmb3JtVG91Y2hFdmVudChldmVudCkpOwogfQogI2VuZGlmCiAKQEAg
LTI4NDIsOCArMjg0Miw3IEBAIGJvb2wgUVdlYlBhZ2U6OmV2ZW50KFFFdmVudCAqZXYpCiAgICAg
Y2FzZSBRRXZlbnQ6OlRvdWNoQmVnaW46CiAgICAgY2FzZSBRRXZlbnQ6OlRvdWNoVXBkYXRlOgog
ICAgIGNhc2UgUUV2ZW50OjpUb3VjaEVuZDoKLSAgICAgICAgZC0+dG91Y2hFdmVudChzdGF0aWNf
Y2FzdDxRVG91Y2hFdmVudCo+KGV2KSk7Ci0gICAgICAgIGJyZWFrOworICAgICAgICByZXR1cm4g
ZC0+dG91Y2hFdmVudChzdGF0aWNfY2FzdDxRVG91Y2hFdmVudCo+KGV2KSk7CiAjZW5kaWYKICNp
Zm5kZWYgUVRfTk9fUFJPUEVSVElFUwogICAgIGNhc2UgUUV2ZW50OjpEeW5hbWljUHJvcGVydHlD
aGFuZ2U6CmRpZmYgLS1naXQgYS9XZWJLaXQvcXQvQXBpL3F3ZWJwYWdlX3AuaCBiL1dlYktpdC9x
dC9BcGkvcXdlYnBhZ2VfcC5oCmluZGV4IDU0YTE1MjMuLjNkZjIwMDQgMTAwNjQ0Ci0tLSBhL1dl
YktpdC9xdC9BcGkvcXdlYnBhZ2VfcC5oCisrKyBiL1dlYktpdC9xdC9BcGkvcXdlYnBhZ2VfcC5o
CkBAIC0xMzIsNyArMTMyLDcgQEAgcHVibGljOgogICAgIGJvb2wgaGFuZGxlU2Nyb2xsaW5nKFFL
ZXlFdmVudCosIFdlYkNvcmU6OkZyYW1lKik7CiAKICNpZiBRVF9WRVJTSU9OID49IFFUX1ZFUlNJ
T05fQ0hFQ0soNCwgNiwgMCkKLSAgICB2b2lkIHRvdWNoRXZlbnQoUVRvdWNoRXZlbnQqKTsKKyAg
ICBib29sIHRvdWNoRXZlbnQoUVRvdWNoRXZlbnQqKTsKICNlbmRpZgogCiAgICAgdm9pZCBzZXRJ
bnNwZWN0b3IoUVdlYkluc3BlY3RvciopOwpkaWZmIC0tZ2l0IGEvV2ViS2l0L3F0L0FwaS9xd2Vi
dmlldy5jcHAgYi9XZWJLaXQvcXQvQXBpL3F3ZWJ2aWV3LmNwcAppbmRleCAyZGVmZGJiLi41Njcz
MzI2IDEwMDY0NAotLS0gYS9XZWJLaXQvcXQvQXBpL3F3ZWJ2aWV3LmNwcAorKysgYi9XZWJLaXQv
cXQvQXBpL3F3ZWJ2aWV3LmNwcApAQCAtODI2LDggKzgyNiw3IEBAIGJvb2wgUVdlYlZpZXc6OmV2
ZW50KFFFdmVudCAqZSkKICAgICAgICAgICAgICAgICAgICB8fCBlLT50eXBlKCkgPT0gUUV2ZW50
OjpUb3VjaEVuZCAKICAgICAgICAgICAgICAgICAgICB8fCBlLT50eXBlKCkgPT0gUUV2ZW50OjpU
b3VjaFVwZGF0ZSkgewogICAgICAgICAgICAgZC0+cGFnZS0+ZXZlbnQoZSk7Ci0gICAgICAgICAg
ICBpZiAoZS0+aXNBY2NlcHRlZCgpKQotICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOworICAg
ICAgICAgICAgcmV0dXJuIHRydWU7CiAjZW5kaWYKICAgICAgICAgfSBlbHNlIGlmIChlLT50eXBl
KCkgPT0gUUV2ZW50OjpMZWF2ZSkKICAgICAgICAgICAgIGQtPnBhZ2UtPmV2ZW50KGUpOwpkaWZm
IC0tZ2l0IGEvV2ViS2l0L3F0L0NoYW5nZUxvZyBiL1dlYktpdC9xdC9DaGFuZ2VMb2cKaW5kZXgg
NGYxNzA2ZS4uZjIwNGIxZiAxMDA2NDQKLS0tIGEvV2ViS2l0L3F0L0NoYW5nZUxvZworKysgYi9X
ZWJLaXQvcXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjMgQEAKKzIwMTAtMDctMjMgIEtpbSBHcsO2
bmhvbG0gIDxraW0uMS5ncm9uaG9sbUBub2tpYS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgW1F0XSBEZWNvdXBsZSBRVG91Y2hFdmVudCdzIGFj
Y2VwdGVkIGZsYWcgZnJvbSBKUyBwcmV2ZW50IGRlZmF1bHQKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQyODkyCisKKyAgICAgICAgV2UgbmVlZCB0byBh
bHdheXMgYWNjZXB0IHRoZSBRVG91Y2hFdmVudHMgaW4gb3JkZXIgdG8gZ2V0IFRvdWNoVXBkYXRl
IGFuZAorICAgICAgICBUb3VjaEVuZCBldmVudHMuIFFXZWJQYWdlOjpldmVudCgpIHJldHVybiB2
YWx1ZSBpcyB1c2VkIHRvIGluZGljYXRlCisgICAgICAgIHdoZXRoZXIgdGhlIGRlZmF1bHQgYWN0
aW9uIHdhcyBwcmV2ZW50ZWQgZm9yIHRoZSB0b3VjaCBldmVudHMuCisKKyAgICAgICAgKiBBcGkv
cWdyYXBoaWNzd2Vidmlldy5jcHA6CisgICAgICAgIChRR3JhcGhpY3NXZWJWaWV3OjpzY2VuZUV2
ZW50KToKKyAgICAgICAgKiBBcGkvcXdlYnBhZ2UuY3BwOgorICAgICAgICAoUVdlYlBhZ2VQcml2
YXRlOjp0b3VjaEV2ZW50KToKKyAgICAgICAgKFFXZWJQYWdlOjpldmVudCk6CisgICAgICAgICog
QXBpL3F3ZWJwYWdlX3AuaDoKKyAgICAgICAgKiBBcGkvcXdlYnZpZXcuY3BwOgorICAgICAgICAo
UVdlYlZpZXc6OmV2ZW50KToKKwogMjAxMC0wNy0yMiAgWWFlbCBBaGFyb24gIDx5YWVsLmFoYXJv
bkBub2tpYS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgTGFzemxvIEdvbWJvcy4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>62798</attachid>
            <date>2010-07-28 00:35:44 -0700</date>
            <delta_ts>2010-07-28 16:46:10 -0700</delta_ts>
            <desc>Commenting touch event handling code</desc>
            <filename>bug42892-2.patch</filename>
            <type>text/plain</type>
            <size>3223</size>
            <attacher name="Kim Grönholm">kim.1.gronholm</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdC9xdC9BcGkvcWdyYXBoaWNzd2Vidmlldy5jcHAgYi9XZWJLaXQv
cXQvQXBpL3FncmFwaGljc3dlYnZpZXcuY3BwCmluZGV4IDg1M2U2MzcuLjhhOTRjOWIgMTAwNjQ0
Ci0tLSBhL1dlYktpdC9xdC9BcGkvcWdyYXBoaWNzd2Vidmlldy5jcHAKKysrIGIvV2ViS2l0L3F0
L0FwaS9xZ3JhcGhpY3N3ZWJ2aWV3LmNwcApAQCAtMzE5LDYgKzMxOSw4IEBAIGJvb2wgUUdyYXBo
aWNzV2ViVmlldzo6c2NlbmVFdmVudChRRXZlbnQqIGV2ZW50KQogICAgICAgICAgICAgICAgIHx8
IGV2ZW50LT50eXBlKCkgPT0gUUV2ZW50OjpUb3VjaEVuZAogICAgICAgICAgICAgICAgIHx8IGV2
ZW50LT50eXBlKCkgPT0gUUV2ZW50OjpUb3VjaFVwZGF0ZSkpIHsKICAgICAgICAgZC0+cGFnZS0+
ZXZlbnQoZXZlbnQpOworCisgICAgICAgIC8vIEFsd2F5cyByZXR1cm4gdHJ1ZSBzbyB0aGF0IHdl
J2xsIHJlY2VpdmUgYWxzbyBUb3VjaFVwZGF0ZSBhbmQgVG91Y2hFbmQgZXZlbnRzCiAgICAgICAg
IHJldHVybiB0cnVlOwogICAgIH0KICNlbmRpZgpkaWZmIC0tZ2l0IGEvV2ViS2l0L3F0L0FwaS9x
d2VicGFnZS5jcHAgYi9XZWJLaXQvcXQvQXBpL3F3ZWJwYWdlLmNwcAppbmRleCAxZGRhODg0Li5i
Njg5MDYyIDEwMDY0NAotLS0gYS9XZWJLaXQvcXQvQXBpL3F3ZWJwYWdlLmNwcAorKysgYi9XZWJL
aXQvcXQvQXBpL3F3ZWJwYWdlLmNwcApAQCAtMTM5Nyw3ICsxMzk3LDEwIEBAIGJvb2wgUVdlYlBh
Z2VQcml2YXRlOjp0b3VjaEV2ZW50KFFUb3VjaEV2ZW50KiBldmVudCkKICAgICBpZiAoIWZyYW1l
LT52aWV3KCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAorICAgIC8vIEFsd2F5cyBhY2NlcHQg
dGhlIFFUb3VjaEV2ZW50IHNvIHRoYXQgd2UnbGwgcmVjZWl2ZSBhbHNvIFRvdWNoVXBkYXRlIGFu
ZCBUb3VjaEVuZCBldmVudHMKICAgICBldmVudC0+c2V0QWNjZXB0ZWQodHJ1ZSk7CisKKyAgICAv
LyBSZXR1cm4gd2hldGhlciB0aGUgZGVmYXVsdCBhY3Rpb24gd2FzIGNhbmNlbGxlZCBpbiB0aGUg
SlMgZXZlbnQgaGFuZGxlcgogICAgIHJldHVybiBmcmFtZS0+ZXZlbnRIYW5kbGVyKCktPmhhbmRs
ZVRvdWNoRXZlbnQoUGxhdGZvcm1Ub3VjaEV2ZW50KGV2ZW50KSk7CiB9CiAjZW5kaWYKQEAgLTI4
NDIsNiArMjg0NSw3IEBAIGJvb2wgUVdlYlBhZ2U6OmV2ZW50KFFFdmVudCAqZXYpCiAgICAgY2Fz
ZSBRRXZlbnQ6OlRvdWNoQmVnaW46CiAgICAgY2FzZSBRRXZlbnQ6OlRvdWNoVXBkYXRlOgogICAg
IGNhc2UgUUV2ZW50OjpUb3VjaEVuZDoKKyAgICAgICAgLy8gUmV0dXJuIHdoZXRoZXIgdGhlIGRl
ZmF1bHQgYWN0aW9uIHdhcyBjYW5jZWxsZWQgaW4gdGhlIEpTIGV2ZW50IGhhbmRsZXIKICAgICAg
ICAgcmV0dXJuIGQtPnRvdWNoRXZlbnQoc3RhdGljX2Nhc3Q8UVRvdWNoRXZlbnQqPihldikpOwog
I2VuZGlmCiAjaWZuZGVmIFFUX05PX1BST1BFUlRJRVMKZGlmZiAtLWdpdCBhL1dlYktpdC9xdC9B
cGkvcXdlYnBhZ2VfcC5oIGIvV2ViS2l0L3F0L0FwaS9xd2VicGFnZV9wLmgKaW5kZXggM2RmMjAw
NC4uNDRjZWI4NyAxMDA2NDQKLS0tIGEvV2ViS2l0L3F0L0FwaS9xd2VicGFnZV9wLmgKKysrIGIv
V2ViS2l0L3F0L0FwaS9xd2VicGFnZV9wLmgKQEAgLTEzMiw2ICsxMzIsNyBAQCBwdWJsaWM6CiAg
ICAgYm9vbCBoYW5kbGVTY3JvbGxpbmcoUUtleUV2ZW50KiwgV2ViQ29yZTo6RnJhbWUqKTsKIAog
I2lmIFFUX1ZFUlNJT04gPj0gUVRfVkVSU0lPTl9DSEVDSyg0LCA2LCAwKQorICAgIC8vIFJldHVy
bnMgd2hldGhlciB0aGUgZGVmYXVsdCBhY3Rpb24gd2FzIGNhbmNlbGxlZCBpbiB0aGUgSlMgZXZl
bnQgaGFuZGxlcgogICAgIGJvb2wgdG91Y2hFdmVudChRVG91Y2hFdmVudCopOwogI2VuZGlmCiAK
ZGlmZiAtLWdpdCBhL1dlYktpdC9xdC9BcGkvcXdlYnZpZXcuY3BwIGIvV2ViS2l0L3F0L0FwaS9x
d2Vidmlldy5jcHAKaW5kZXggNTY3MzMyNi4uM2RhYTA0NSAxMDA2NDQKLS0tIGEvV2ViS2l0L3F0
L0FwaS9xd2Vidmlldy5jcHAKKysrIGIvV2ViS2l0L3F0L0FwaS9xd2Vidmlldy5jcHAKQEAgLTgy
Niw2ICs4MjYsOCBAQCBib29sIFFXZWJWaWV3OjpldmVudChRRXZlbnQgKmUpCiAgICAgICAgICAg
ICAgICAgICAgfHwgZS0+dHlwZSgpID09IFFFdmVudDo6VG91Y2hFbmQgCiAgICAgICAgICAgICAg
ICAgICAgfHwgZS0+dHlwZSgpID09IFFFdmVudDo6VG91Y2hVcGRhdGUpIHsKICAgICAgICAgICAg
IGQtPnBhZ2UtPmV2ZW50KGUpOworCisgICAgICAgICAgICAvLyBBbHdheXMgcmV0dXJuIHRydWUg
c28gdGhhdCB3ZSdsbCByZWNlaXZlIGFsc28gVG91Y2hVcGRhdGUgYW5kIFRvdWNoRW5kIGV2ZW50
cwogICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAjZW5kaWYKICAgICAgICAgfSBlbHNlIGlmIChl
LT50eXBlKCkgPT0gUUV2ZW50OjpMZWF2ZSkKZGlmZiAtLWdpdCBhL1dlYktpdC9xdC9DaGFuZ2VM
b2cgYi9XZWJLaXQvcXQvQ2hhbmdlTG9nCmluZGV4IGNkZTVhNWIuLjk4Yzc2MzMgMTAwNjQ0Ci0t
LSBhL1dlYktpdC9xdC9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0L3F0L0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDIxIEBACisyMDEwLTA3LTI4ICBLaW0gR3LDtm5ob2xtICA8a2ltLjEuZ3JvbmhvbG1Abm9r
aWEuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IFtRdF0gRGVjb3VwbGUgUVRvdWNoRXZlbnQncyBhY2NlcHRlZCBmbGFnIGZyb20gSlMgcHJldmVu
dCBkZWZhdWx0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD00Mjg5MgorCisgICAgICAgIEFkZGVkIGNvbW1lbnRzIHRvIHRoZSB0b3VjaCBldmVudCBoYW5k
bGluZyBjb2RlLgorCisgICAgICAgICogQXBpL3FncmFwaGljc3dlYnZpZXcuY3BwOgorICAgICAg
ICAoUUdyYXBoaWNzV2ViVmlldzo6c2NlbmVFdmVudCk6CisgICAgICAgICogQXBpL3F3ZWJwYWdl
LmNwcDoKKyAgICAgICAgKFFXZWJQYWdlUHJpdmF0ZTo6dG91Y2hFdmVudCk6CisgICAgICAgIChR
V2ViUGFnZTo6ZXZlbnQpOgorICAgICAgICAqIEFwaS9xd2VicGFnZV9wLmg6CisgICAgICAgICog
QXBpL3F3ZWJ2aWV3LmNwcDoKKyAgICAgICAgKFFXZWJWaWV3OjpldmVudCk6CisKIDIwMTAtMDct
MjcgIFNpbW9uIEhhdXNtYW5uICA8c2ltb24uaGF1c21hbm5Abm9raWEuY29tPgogCiAgICAgICAg
IFJldmlld2VkIGJ5IFRvciBBcm5lIFZlc3Riw7guCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>