<?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>17179</bug_id>
          
          <creation_ts>2008-02-04 16:43:16 -0800</creation_ts>
          <short_desc>[wx] Use PlatformWheelEvent for handling scroll wheel events</short_desc>
          <delta_ts>2008-02-06 20:18:20 -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>WebKit wx</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>Wx</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Kevin Ollivier">kevino</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>69412</commentid>
    <comment_count>0</comment_count>
    <who name="Kevin Ollivier">kevino</who>
    <bug_when>2008-02-04 16:43:16 -0800</bug_when>
    <thetext>We currently catch and handle scroll wheel events directly, but this doesn&apos;t allow the event to go through WebCore. Instead, remove our current handler and fix ScrollView so that it properly handles the PlatformWheelEvent.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>69413</commentid>
    <comment_count>1</comment_count>
      <attachid>18923</attachid>
    <who name="Kevin Ollivier">kevino</who>
    <bug_when>2008-02-04 16:45:50 -0800</bug_when>
    <thetext>Created attachment 18923
Correctly handle PlatformWheelEvent in wx port</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>69518</commentid>
    <comment_count>2</comment_count>
      <attachid>18923</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2008-02-05 14:52:33 -0800</bug_when>
    <thetext>Comment on attachment 18923
Correctly handle PlatformWheelEvent in wx port

Looks fine, r=me.

+IntSize ScrollView::maximumScroll() const
+{
+    IntSize delta = (IntSize(contentsWidth(), contentsHeight()) - IntSize(visibleWidth(), visibleHeight())) - scrollOffset();
+    delta.clampNegativeToZero();
+    return delta;
+}

Is there a guarantee that this can&apos;t overflow?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>69545</commentid>
    <comment_count>3</comment_count>
      <attachid>18951</attachid>
    <who name="Kevin Ollivier">kevino</who>
    <bug_when>2008-02-05 22:13:28 -0800</bug_when>
    <thetext>Created attachment 18951
Updated patch with ASSERTS added to ensure widths and heights are valid

So long as all the values are positive, there should not be any issues with overflows, but you&apos;re right that we don&apos;t guarantee anywhere that the values are positive. So I&apos;ve added asserts to guard against negative x, y, width or height values. I wasn&apos;t sure if it was okay to land this without the extra review, so I&apos;ve gone ahead and replaced the patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>69568</commentid>
    <comment_count>4</comment_count>
      <attachid>18951</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2008-02-06 06:40:48 -0800</bug_when>
    <thetext>Comment on attachment 18951
Updated patch with ASSERTS added to ensure widths and heights are valid

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>69636</commentid>
    <comment_count>5</comment_count>
    <who name="Kevin Ollivier">kevino</who>
    <bug_when>2008-02-06 20:18:20 -0800</bug_when>
    <thetext>Landed in r30060. Thanks!</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>18923</attachid>
            <date>2008-02-04 16:45:50 -0800</date>
            <delta_ts>2008-02-05 22:13:28 -0800</delta_ts>
            <desc>Correctly handle PlatformWheelEvent in wx port</desc>
            <filename>scroll-wheel.patch</filename>
            <type>text/plain</type>
            <size>4636</size>
            <attacher name="Kevin Ollivier">kevino</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vd3gvTW91c2VXaGVlbEV2ZW50V3guY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vd3gvTW91c2VXaGVlbEV2ZW50V3guY3BwCShyZXZpc2lv
biAyOTk4MSkKKysrIFdlYkNvcmUvcGxhdGZvcm0vd3gvTW91c2VXaGVlbEV2ZW50V3guY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC0zOSw3ICszOSw3IEBACiAgICAgLCBtX2FsdEtleShldmVudC5BbHRE
b3duKCkpCiAgICAgLCBtX21ldGFLZXkoZXZlbnQuTWV0YURvd24oKSkgLy8gRklYTUU6IFdlJ2xs
IGhhdmUgdG8gdGVzdCBvdGhlciBicm93c2VycwogICAgICwgbV9kZWx0YVgoMCkgLy8gd3ggZG9l
c24ndCBzdXBwb3J0IGhvcml6b250YWwgbW91c2Ugd2hlZWwgc2Nyb2xsaW5nCi0gICAgLCBtX2Rl
bHRhWShldmVudC5HZXRXaGVlbFJvdGF0aW9uKCkpCisgICAgLCBtX2RlbHRhWShldmVudC5HZXRX
aGVlbFJvdGF0aW9uKCkgLyBldmVudC5HZXRXaGVlbERlbHRhKCkpCiB7CiAKIH0KSW5kZXg6IFdl
YkNvcmUvcGxhdGZvcm0vd3gvU2Nyb2xsVmlld1d4LmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3Jl
L3BsYXRmb3JtL3d4L1Njcm9sbFZpZXdXeC5jcHAJKHJldmlzaW9uIDI5OTgxKQorKysgV2ViQ29y
ZS9wbGF0Zm9ybS93eC9TY3JvbGxWaWV3V3guY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yOSw2ICsy
OSw3IEBACiAjaW5jbHVkZSAiRmxvYXRSZWN0LmgiCiAjaW5jbHVkZSAiSW50UmVjdC5oIgogI2lu
Y2x1ZGUgIk5vdEltcGxlbWVudGVkLmgiCisjaW5jbHVkZSAiUGxhdGZvcm1XaGVlbEV2ZW50Lmgi
CiAjaW5jbHVkZSAiU2Nyb2xsQmFyLmgiCiAKICNpbmNsdWRlIDxhbGdvcml0aG0+CkBAIC02OCwx
NSArNjksOCBAQAogICAgICAgICB3aW4tPkNvbm5lY3Qod3hFVlRfU0NST0xMV0lOX1RIVU1CVFJB
Q0ssICAgd3hTY3JvbGxXaW5FdmVudEhhbmRsZXIoU2Nyb2xsVmlld1ByaXZhdGU6Ok9uU2Nyb2xs
V2luRXZlbnRzKSwgTlVMTCwgdGhpcyk7CiAgICAgICAgIHdpbi0+Q29ubmVjdCh3eEVWVF9TQ1JP
TExXSU5fVEhVTUJSRUxFQVNFLCB3eFNjcm9sbFdpbkV2ZW50SGFuZGxlcihTY3JvbGxWaWV3UHJp
dmF0ZTo6T25TY3JvbGxXaW5FdmVudHMpLCBOVUxMLCB0aGlzKTsKICAgICAgICAgd2luLT5Db25u
ZWN0KHd4RVZUX1NDUk9MTFdJTl9UT1AsICAgICAgICAgIHd4U2Nyb2xsV2luRXZlbnRIYW5kbGVy
KFNjcm9sbFZpZXdQcml2YXRlOjpPblNjcm9sbFdpbkV2ZW50cyksIE5VTEwsIHRoaXMpOwotICAg
ICAgICB3aW4tPkNvbm5lY3Qod3hFVlRfTU9VU0VXSEVFTCwgICAgICAgICAgICAgd3hNb3VzZUV2
ZW50SGFuZGxlcihTY3JvbGxWaWV3UHJpdmF0ZTo6T25Nb3VzZVdoZWVsRXZlbnRzKSwgTlVMTCwg
dGhpcyk7CiAgICAgfQogICAgIAotICAgIHZvaWQgT25Nb3VzZVdoZWVsRXZlbnRzKHd4TW91c2VF
dmVudCYgZXZlbnQpCi0gICAgewotICAgICAgICAvLyBUT0RPOiBHZXQgd3ggdG8gcmVwb3J0IFgg
YW5kIFkgcm90YXRpb24gc28gd2UgY2FuIHN1cHBvcnQgbWlnaHR5IG1vdXNlLCBldGMuCi0gICAg
ICAgIG1fc2Nyb2xsVmlldy0+c2Nyb2xsQnkoMCwgLWV2ZW50LkdldFdoZWVsUm90YXRpb24oKSAq
IExJTkVfU1RFUCk7Ci0gICAgfQotCiAgICAgdm9pZCBPblNjcm9sbFdpbkV2ZW50cyh3eFNjcm9s
bFdpbkV2ZW50JiBlKQogICAgIHsKICAgICAgICAgd3hFdmVudFR5cGUgc2Nyb2xsVHlwZShlLkdl
dEV2ZW50VHlwZSgpKTsKQEAgLTExMSw4ICsxMDUsNiBAQAogCiAgICAgU2Nyb2xsVmlldyogbV9z
Y3JvbGxWaWV3OwogCi0gICAgSW50U2l6ZSBzY3JvbGxPZmZzZXQ7Ci0gICAgSW50U2l6ZSBjb250
ZW50c1NpemU7CiAgICAgSGFzaFNldDxXaWRnZXQqPiBtX2NoaWxkcmVuOwogICAgIGJvb2wgaGFz
U3RhdGljQmFja2dyb3VuZDsKICAgICBib29sIHN1cHByZXNzU2Nyb2xsYmFyczsKQEAgLTQwNCwx
MCArMzk2LDE3IEBACiAgICAgcmV0dXJuIG5hdGl2ZVdpbmRvdygpICE9IE5VTEw7CiB9CiAKLXZv
aWQgU2Nyb2xsVmlldzo6d2hlZWxFdmVudChQbGF0Zm9ybVdoZWVsRXZlbnQmKQordm9pZCBTY3Jv
bGxWaWV3Ojp3aGVlbEV2ZW50KFBsYXRmb3JtV2hlZWxFdmVudCYgZSkKIHsKLSAgICAvLyBkbyBu
b3RoaW5nLAotICAgIC8vIEZJWE1FOiBub3Qgc3VyZSBpZiBhbnkgcG9ydHMgbmVlZCB0byBoYW5k
bGUgdGhpcywgYWN0dWFsbHkuLi4KKyAgICAvLyBEZXRlcm1pbmUgaG93IG11Y2ggd2Ugd2FudCB0
byBzY3JvbGwuICBJZiB3ZSBjYW4gbW92ZSBhdCBhbGwsIHdlIHdpbGwgYWNjZXB0IHRoZSBldmVu
dC4KKyAgICBJbnRTaXplIG1heFNjcm9sbERlbHRhID0gbWF4aW11bVNjcm9sbCgpOworICAgIGlm
ICgoZS5kZWx0YVgoKSA8IDAgJiYgbWF4U2Nyb2xsRGVsdGEud2lkdGgoKSA+IDApIHx8CisgICAg
ICAgIChlLmRlbHRhWCgpID4gMCAmJiBzY3JvbGxPZmZzZXQoKS53aWR0aCgpID4gMCkgfHwKKyAg
ICAgICAgKGUuZGVsdGFZKCkgPCAwICYmIG1heFNjcm9sbERlbHRhLmhlaWdodCgpID4gMCkgfHwK
KyAgICAgICAgKGUuZGVsdGFZKCkgPiAwICYmIHNjcm9sbE9mZnNldCgpLmhlaWdodCgpID4gMCkp
IHsKKyAgICAgICAgZS5hY2NlcHQoKTsKKyAgICAgICAgc2Nyb2xsQnkoLWUuZGVsdGFYKCkgKiBM
SU5FX1NURVAsIC1lLmRlbHRhWSgpICogTElORV9TVEVQKTsKKyAgICB9CiB9CiAKIC8vIHVzZWQg
Zm9yIHN1YmZyYW1lcyBzdXBwb3J0CkBAIC00NDQsNyArNDQzLDYgQEAKICAgICBzZXRDb250ZW50
c1BvcyhyZWN0LngoKSwgcmVjdC55KCkpOwogfQogCi0KIFBsYXRmb3JtU2Nyb2xsYmFyKiBTY3Jv
bGxWaWV3OjpzY3JvbGxiYXJVbmRlck1vdXNlKGNvbnN0IFBsYXRmb3JtTW91c2VFdmVudCYgbW91
c2VFdmVudCkKIHsKICAgICAvLyBBRkFJQ1QgdGhpcyBpcyBvbmx5IHVzZWQgZm9yIHBsYXRmb3Jt
cyB0aGF0IHByb3ZpZGUKQEAgLTQ1Miw1ICs0NTAsMTEgQEAKICAgICByZXR1cm4gMDsKIH0KIAor
SW50U2l6ZSBTY3JvbGxWaWV3OjptYXhpbXVtU2Nyb2xsKCkgY29uc3QKK3sKKyAgICBJbnRTaXpl
IGRlbHRhID0gKEludFNpemUoY29udGVudHNXaWR0aCgpLCBjb250ZW50c0hlaWdodCgpKSAtIElu
dFNpemUodmlzaWJsZVdpZHRoKCksIHZpc2libGVIZWlnaHQoKSkpIC0gc2Nyb2xsT2Zmc2V0KCk7
CisgICAgZGVsdGEuY2xhbXBOZWdhdGl2ZVRvWmVybygpOworICAgIHJldHVybiBkZWx0YTsKK30K
IAogfQpJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxWaWV3LmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxWaWV3LmgJKHJldmlzaW9uIDI5OTgxKQorKysgV2ViQ29y
ZS9wbGF0Zm9ybS9TY3JvbGxWaWV3LmgJKHdvcmtpbmcgY29weSkKQEAgLTIzMCw2ICsyMzAsNyBA
QAogCiAgICAgcHJpdmF0ZToKICAgICAgICAgdm9pZCBhZGp1c3RTY3JvbGxiYXJzKGludCB4ID0g
LTEsIGludCB5ID0gLTEsIGJvb2wgcmVmcmVzaCA9IHRydWUpOworICAgICAgICBJbnRTaXplIG1h
eGltdW1TY3JvbGwoKSBjb25zdDsKIAogICAgICAgICBjbGFzcyBTY3JvbGxWaWV3UHJpdmF0ZTsK
ICAgICAgICAgU2Nyb2xsVmlld1ByaXZhdGUqIG1fZGF0YTsKSW5kZXg6IFdlYkNvcmUvQ2hhbmdl
TG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9nCShyZXZpc2lvbiAyOTk4MSkKKysr
IFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTkgQEAKKzIwMDgt
MDItMDQgIEtldmluIE9sbGl2aWVyICA8a2V2aW5vQHRoZW9sbGl2aWVycy5jb20+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmF0aGVyIHRoYW4gZGly
ZWN0bHkgaGFuZGluZyBzY3JvbGwgd2hlZWwgZXZlbnRzLCB1c2UKKyAgICAgICAgUGxhdGZvcm1X
aGVlbEV2ZW50IHRvIHNlbmQgdGhlbSB0byBXZWJDb3JlIGZpcnN0LCBzbyB0aGF0CisgICAgICAg
IG1vdXNlIHdoZWVsIHNjcm9sbGluZyBpbmZvIGNhbiBiZSByZXRyaWV2ZWQgdmlhIEphdmFTY3Jp
cHQuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9TY3JvbGxWaWV3Lmg6CisgICAgICAgICogcGxhdGZv
cm0vd3gvTW91c2VXaGVlbEV2ZW50V3guY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZvcm1X
aGVlbEV2ZW50OjpQbGF0Zm9ybVdoZWVsRXZlbnQpOgorICAgICAgICAqIHBsYXRmb3JtL3d4L1Nj
cm9sbFZpZXdXeC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxWaWV3OjpTY3JvbGxWaWV3
UHJpdmF0ZTo6YmluZEV2ZW50cyk6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxWaWV3Ojp3aGVl
bEV2ZW50KToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbFZpZXc6Om1heGltdW1TY3JvbGwpOgor
CiAyMDA4LTAyLTA0ICBEYXJpbiBBZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KIAogICAgICAgICAq
IGRvbS9Eb2N1bWVudC5jcHA6Cg==
</data>
<flag name="review"
          id="8267"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>18951</attachid>
            <date>2008-02-05 22:13:28 -0800</date>
            <delta_ts>2008-02-06 06:40:48 -0800</delta_ts>
            <desc>Updated patch with ASSERTS added to ensure widths and heights are valid</desc>
            <filename>scrollwheel.patch</filename>
            <type>text/plain</type>
            <size>5495</size>
            <attacher name="Kevin Ollivier">kevino</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vd3gvTW91c2VXaGVlbEV2ZW50V3guY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vd3gvTW91c2VXaGVlbEV2ZW50V3guY3BwCShyZXZpc2lv
biAzMDAzNCkKKysrIFdlYkNvcmUvcGxhdGZvcm0vd3gvTW91c2VXaGVlbEV2ZW50V3guY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC0zOSw3ICszOSw3IEBACiAgICAgLCBtX2FsdEtleShldmVudC5BbHRE
b3duKCkpCiAgICAgLCBtX21ldGFLZXkoZXZlbnQuTWV0YURvd24oKSkgLy8gRklYTUU6IFdlJ2xs
IGhhdmUgdG8gdGVzdCBvdGhlciBicm93c2VycwogICAgICwgbV9kZWx0YVgoMCkgLy8gd3ggZG9l
c24ndCBzdXBwb3J0IGhvcml6b250YWwgbW91c2Ugd2hlZWwgc2Nyb2xsaW5nCi0gICAgLCBtX2Rl
bHRhWShldmVudC5HZXRXaGVlbFJvdGF0aW9uKCkpCisgICAgLCBtX2RlbHRhWShldmVudC5HZXRX
aGVlbFJvdGF0aW9uKCkgLyBldmVudC5HZXRXaGVlbERlbHRhKCkpCiB7CiAKIH0KSW5kZXg6IFdl
YkNvcmUvcGxhdGZvcm0vd3gvU2Nyb2xsVmlld1d4LmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3Jl
L3BsYXRmb3JtL3d4L1Njcm9sbFZpZXdXeC5jcHAJKHJldmlzaW9uIDMwMDM0KQorKysgV2ViQ29y
ZS9wbGF0Zm9ybS93eC9TY3JvbGxWaWV3V3guY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yOSw2ICsy
OSw3IEBACiAjaW5jbHVkZSAiRmxvYXRSZWN0LmgiCiAjaW5jbHVkZSAiSW50UmVjdC5oIgogI2lu
Y2x1ZGUgIk5vdEltcGxlbWVudGVkLmgiCisjaW5jbHVkZSAiUGxhdGZvcm1XaGVlbEV2ZW50Lmgi
CiAjaW5jbHVkZSAiU2Nyb2xsQmFyLmgiCiAKICNpbmNsdWRlIDxhbGdvcml0aG0+CkBAIC02OCwx
NSArNjksOCBAQAogICAgICAgICB3aW4tPkNvbm5lY3Qod3hFVlRfU0NST0xMV0lOX1RIVU1CVFJB
Q0ssICAgd3hTY3JvbGxXaW5FdmVudEhhbmRsZXIoU2Nyb2xsVmlld1ByaXZhdGU6Ok9uU2Nyb2xs
V2luRXZlbnRzKSwgTlVMTCwgdGhpcyk7CiAgICAgICAgIHdpbi0+Q29ubmVjdCh3eEVWVF9TQ1JP
TExXSU5fVEhVTUJSRUxFQVNFLCB3eFNjcm9sbFdpbkV2ZW50SGFuZGxlcihTY3JvbGxWaWV3UHJp
dmF0ZTo6T25TY3JvbGxXaW5FdmVudHMpLCBOVUxMLCB0aGlzKTsKICAgICAgICAgd2luLT5Db25u
ZWN0KHd4RVZUX1NDUk9MTFdJTl9UT1AsICAgICAgICAgIHd4U2Nyb2xsV2luRXZlbnRIYW5kbGVy
KFNjcm9sbFZpZXdQcml2YXRlOjpPblNjcm9sbFdpbkV2ZW50cyksIE5VTEwsIHRoaXMpOwotICAg
ICAgICB3aW4tPkNvbm5lY3Qod3hFVlRfTU9VU0VXSEVFTCwgICAgICAgICAgICAgd3hNb3VzZUV2
ZW50SGFuZGxlcihTY3JvbGxWaWV3UHJpdmF0ZTo6T25Nb3VzZVdoZWVsRXZlbnRzKSwgTlVMTCwg
dGhpcyk7CiAgICAgfQogICAgIAotICAgIHZvaWQgT25Nb3VzZVdoZWVsRXZlbnRzKHd4TW91c2VF
dmVudCYgZXZlbnQpCi0gICAgewotICAgICAgICAvLyBUT0RPOiBHZXQgd3ggdG8gcmVwb3J0IFgg
YW5kIFkgcm90YXRpb24gc28gd2UgY2FuIHN1cHBvcnQgbWlnaHR5IG1vdXNlLCBldGMuCi0gICAg
ICAgIG1fc2Nyb2xsVmlldy0+c2Nyb2xsQnkoMCwgLWV2ZW50LkdldFdoZWVsUm90YXRpb24oKSAq
IExJTkVfU1RFUCk7Ci0gICAgfQotCiAgICAgdm9pZCBPblNjcm9sbFdpbkV2ZW50cyh3eFNjcm9s
bFdpbkV2ZW50JiBlKQogICAgIHsKICAgICAgICAgd3hFdmVudFR5cGUgc2Nyb2xsVHlwZShlLkdl
dEV2ZW50VHlwZSgpKTsKQEAgLTExMSw4ICsxMDUsNiBAQAogCiAgICAgU2Nyb2xsVmlldyogbV9z
Y3JvbGxWaWV3OwogCi0gICAgSW50U2l6ZSBzY3JvbGxPZmZzZXQ7Ci0gICAgSW50U2l6ZSBjb250
ZW50c1NpemU7CiAgICAgSGFzaFNldDxXaWRnZXQqPiBtX2NoaWxkcmVuOwogICAgIGJvb2wgaGFz
U3RhdGljQmFja2dyb3VuZDsKICAgICBib29sIHN1cHByZXNzU2Nyb2xsYmFyczsKQEAgLTE2NCw2
ICsxNTYsNyBAQAogICAgIGlmICh3aW4pCiAgICAgICAgIHdpbi0+R2V0Q2xpZW50U2l6ZSgmd2lk
dGgsIE5VTEwpOwogICAgIAorICAgIEFTU0VSVCh3aWR0aCA+PSAwKTsKICAgICByZXR1cm4gd2lk
dGg7CiB9CiAKQEAgLTE3NCw2ICsxNjcsNyBAQAogICAgIGlmICh3aW4pCiAgICAgICAgIHdpbi0+
R2V0Q2xpZW50U2l6ZShOVUxMLCAmaGVpZ2h0KTsKICAgICAKKyAgICBBU1NFUlQoaGVpZ2h0ID49
IDApOwogICAgIHJldHVybiBoZWlnaHQ7CiB9CiAKQEAgLTIzOSwxMSArMjMzLDEzIEBACiAKIGlu
dCBTY3JvbGxWaWV3Ojpjb250ZW50c1goKSBjb25zdAogeworICAgIEFTU0VSVChtX2RhdGEtPnZp
ZXdTdGFydC54ID49IDApOwogICAgIHJldHVybiBtX2RhdGEtPnZpZXdTdGFydC54OwogfQogCiBp
bnQgU2Nyb2xsVmlldzo6Y29udGVudHNZKCkgY29uc3QKIHsKKyAgICBBU1NFUlQobV9kYXRhLT52
aWV3U3RhcnQueSA+PSAwKTsKICAgICByZXR1cm4gbV9kYXRhLT52aWV3U3RhcnQueTsKIH0KIApA
QCAtMjUzLDYgKzI0OSw3IEBACiAgICAgd3hXaW5kb3cqIHdpbiA9IG5hdGl2ZVdpbmRvdygpOwog
ICAgIGlmICh3aW4pCiAgICAgICAgIHdpbi0+R2V0VmlydHVhbFNpemUoJndpZHRoLCBOVUxMKTsK
KyAgICBBU1NFUlQod2lkdGggPj0gMCk7CiAgICAgcmV0dXJuIHdpZHRoOwogfQogCkBAIC0yNjIs
NiArMjU5LDcgQEAKICAgICB3eFdpbmRvdyogd2luID0gbmF0aXZlV2luZG93KCk7CiAgICAgaWYg
KHdpbikKICAgICAgICAgd2luLT5HZXRWaXJ0dWFsU2l6ZShOVUxMLCAmaGVpZ2h0KTsKKyAgICBB
U1NFUlQoaGVpZ2h0ID49IDApOwogICAgIHJldHVybiBoZWlnaHQ7CiB9CiAKQEAgLTQwNCwxMCAr
NDAyLDE3IEBACiAgICAgcmV0dXJuIG5hdGl2ZVdpbmRvdygpICE9IE5VTEw7CiB9CiAKLXZvaWQg
U2Nyb2xsVmlldzo6d2hlZWxFdmVudChQbGF0Zm9ybVdoZWVsRXZlbnQmKQordm9pZCBTY3JvbGxW
aWV3Ojp3aGVlbEV2ZW50KFBsYXRmb3JtV2hlZWxFdmVudCYgZSkKIHsKLSAgICAvLyBkbyBub3Ro
aW5nLAotICAgIC8vIEZJWE1FOiBub3Qgc3VyZSBpZiBhbnkgcG9ydHMgbmVlZCB0byBoYW5kbGUg
dGhpcywgYWN0dWFsbHkuLi4KKyAgICAvLyBEZXRlcm1pbmUgaG93IG11Y2ggd2Ugd2FudCB0byBz
Y3JvbGwuICBJZiB3ZSBjYW4gbW92ZSBhdCBhbGwsIHdlIHdpbGwgYWNjZXB0IHRoZSBldmVudC4K
KyAgICBJbnRTaXplIG1heFNjcm9sbERlbHRhID0gbWF4aW11bVNjcm9sbCgpOworICAgIGlmICgo
ZS5kZWx0YVgoKSA8IDAgJiYgbWF4U2Nyb2xsRGVsdGEud2lkdGgoKSA+IDApIHx8CisgICAgICAg
IChlLmRlbHRhWCgpID4gMCAmJiBzY3JvbGxPZmZzZXQoKS53aWR0aCgpID4gMCkgfHwKKyAgICAg
ICAgKGUuZGVsdGFZKCkgPCAwICYmIG1heFNjcm9sbERlbHRhLmhlaWdodCgpID4gMCkgfHwKKyAg
ICAgICAgKGUuZGVsdGFZKCkgPiAwICYmIHNjcm9sbE9mZnNldCgpLmhlaWdodCgpID4gMCkpIHsK
KyAgICAgICAgZS5hY2NlcHQoKTsKKyAgICAgICAgc2Nyb2xsQnkoLWUuZGVsdGFYKCkgKiBMSU5F
X1NURVAsIC1lLmRlbHRhWSgpICogTElORV9TVEVQKTsKKyAgICB9CiB9CiAKIC8vIHVzZWQgZm9y
IHN1YmZyYW1lcyBzdXBwb3J0CkBAIC00NDQsNyArNDQ5LDYgQEAKICAgICBzZXRDb250ZW50c1Bv
cyhyZWN0LngoKSwgcmVjdC55KCkpOwogfQogCi0KIFBsYXRmb3JtU2Nyb2xsYmFyKiBTY3JvbGxW
aWV3OjpzY3JvbGxiYXJVbmRlck1vdXNlKGNvbnN0IFBsYXRmb3JtTW91c2VFdmVudCYgbW91c2VF
dmVudCkKIHsKICAgICAvLyBBRkFJQ1QgdGhpcyBpcyBvbmx5IHVzZWQgZm9yIHBsYXRmb3JtcyB0
aGF0IHByb3ZpZGUKQEAgLTQ1Miw1ICs0NTYsMTEgQEAKICAgICByZXR1cm4gMDsKIH0KIAorSW50
U2l6ZSBTY3JvbGxWaWV3OjptYXhpbXVtU2Nyb2xsKCkgY29uc3QKK3sKKyAgICBJbnRTaXplIGRl
bHRhID0gKEludFNpemUoY29udGVudHNXaWR0aCgpLCBjb250ZW50c0hlaWdodCgpKSAtIEludFNp
emUodmlzaWJsZVdpZHRoKCksIHZpc2libGVIZWlnaHQoKSkpIC0gc2Nyb2xsT2Zmc2V0KCk7Cisg
ICAgZGVsdGEuY2xhbXBOZWdhdGl2ZVRvWmVybygpOworICAgIHJldHVybiBkZWx0YTsKK30KIAog
fQpJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxWaWV3LmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vi
Q29yZS9wbGF0Zm9ybS9TY3JvbGxWaWV3LmgJKHJldmlzaW9uIDMwMDM0KQorKysgV2ViQ29yZS9w
bGF0Zm9ybS9TY3JvbGxWaWV3LmgJKHdvcmtpbmcgY29weSkKQEAgLTIzMCw2ICsyMzAsNyBAQAog
CiAgICAgcHJpdmF0ZToKICAgICAgICAgdm9pZCBhZGp1c3RTY3JvbGxiYXJzKGludCB4ID0gLTEs
IGludCB5ID0gLTEsIGJvb2wgcmVmcmVzaCA9IHRydWUpOworICAgICAgICBJbnRTaXplIG1heGlt
dW1TY3JvbGwoKSBjb25zdDsKIAogICAgICAgICBjbGFzcyBTY3JvbGxWaWV3UHJpdmF0ZTsKICAg
ICAgICAgU2Nyb2xsVmlld1ByaXZhdGUqIG1fZGF0YTsKSW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9n
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9nCShyZXZpc2lvbiAzMDAzNCkKKysrIFdl
YkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTkgQEAKKzIwMDgtMDIt
MDQgIEtldmluIE9sbGl2aWVyICA8a2V2aW5vQHRoZW9sbGl2aWVycy5jb20+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmF0aGVyIHRoYW4gZGlyZWN0
bHkgaGFuZGluZyBzY3JvbGwgd2hlZWwgZXZlbnRzLCB1c2UKKyAgICAgICAgUGxhdGZvcm1XaGVl
bEV2ZW50IHRvIHNlbmQgdGhlbSB0byBXZWJDb3JlIGZpcnN0LCBzbyB0aGF0CisgICAgICAgIG1v
dXNlIHdoZWVsIHNjcm9sbGluZyBpbmZvIGNhbiBiZSByZXRyaWV2ZWQgdmlhIEphdmFTY3JpcHQu
CisKKyAgICAgICAgKiBwbGF0Zm9ybS9TY3JvbGxWaWV3Lmg6CisgICAgICAgICogcGxhdGZvcm0v
d3gvTW91c2VXaGVlbEV2ZW50V3guY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZvcm1XaGVl
bEV2ZW50OjpQbGF0Zm9ybVdoZWVsRXZlbnQpOgorICAgICAgICAqIHBsYXRmb3JtL3d4L1Njcm9s
bFZpZXdXeC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxWaWV3OjpTY3JvbGxWaWV3UHJp
dmF0ZTo6YmluZEV2ZW50cyk6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxWaWV3Ojp3aGVlbEV2
ZW50KToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbFZpZXc6Om1heGltdW1TY3JvbGwpOgorCiAy
MDA4LTAyLTA1ICBTYW0gV2VpbmlnICA8c2FtQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmV2aWV3
ZWQgYnkgQW5kZXJzIENhcmxzc29uLgo=
</data>
<flag name="review"
          id="8280"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>