<?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>37419</bug_id>
          
          <creation_ts>2010-04-11 15:45:04 -0700</creation_ts>
          <short_desc>[Haiku] Fix bridging Widget to native top-level BView.</short_desc>
          <delta_ts>2010-04-13 10:20:56 -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>Platform</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Other</rep_platform>
          <op_sys>Other</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>0</everconfirmed>
          <reporter name="Stephan Aßmus">superstippi</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>211441</commentid>
    <comment_count>0</comment_count>
    <who name="Stephan Aßmus">superstippi</who>
    <bug_when>2010-04-11 15:45:04 -0700</bug_when>
    <thetext>In the Haiku port, there is no mapping between native widgets and WebCore Widget instances. There is only a top-level BView which renders a web page into a bitmap. For certain WebCore widget functionality, we need to access this BView, like for setting the current cursor or forcing focus. On the other hand, setting a platform widget pointer on Widget results into completely different behavior, like ScrollView tries to forward everything instead of handling stuff itself. To make this work, the pointer to a &quot;top-level&quot; BView is stored in every Widget for the Haiku port.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>211442</commentid>
    <comment_count>1</comment_count>
      <attachid>53115</attachid>
    <who name="Stephan Aßmus">superstippi</who>
    <bug_when>2010-04-11 15:46:14 -0700</bug_when>
    <thetext>Created attachment 53115
[Haiku] Fix bridging to top-level platform widget.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>211443</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-04-11 15:50:43 -0700</bug_when>
    <thetext>Attachment 53115 did not pass style-queue:

Failed to run &quot;WebKitTools/Scripts/check-webkit-style&quot; exit_code: 1
WebCore/platform/haiku/WidgetHaiku.cpp:43:  Tab found; better to use spaces  [whitespace/tab] [1]
WebCore/platform/haiku/WidgetHaiku.cpp:44:  Tab found; better to use spaces  [whitespace/tab] [1]
WebCore/platform/haiku/WidgetHaiku.cpp:49:  Tab found; better to use spaces  [whitespace/tab] [1]
WebCore/platform/haiku/WidgetHaiku.cpp:50:  Tab found; better to use spaces  [whitespace/tab] [1]
WebCore/platform/haiku/WidgetHaiku.cpp:55:  Tab found; better to use spaces  [whitespace/tab] [1]
WebCore/platform/haiku/WidgetHaiku.cpp:100:  Tab found; better to use spaces  [whitespace/tab] [1]
WebCore/platform/haiku/WidgetHaiku.cpp:111:  Tab found; better to use spaces  [whitespace/tab] [1]
Total errors found: 7 in 3 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>211455</commentid>
    <comment_count>3</comment_count>
      <attachid>53118</attachid>
    <who name="Stephan Aßmus">superstippi</who>
    <bug_when>2010-04-11 16:45:25 -0700</bug_when>
    <thetext>Created attachment 53118
[Haiku] Fix bridging to top-level platform widget.

Sorry about the tabs. Got confused which files I already ran check-webkit-style on...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>211956</commentid>
    <comment_count>4</comment_count>
      <attachid>53118</attachid>
    <who name="David Levin">levin</who>
    <bug_when>2010-04-13 08:15:07 -0700</bug_when>
    <thetext>Comment on attachment 53118
[Haiku] Fix bridging to top-level platform widget.

&gt; Index: WebCore/platform/haiku/WidgetHaiku.cpp
&gt; +        if (!m_widget || m_widget-&gt;LockLooperWithTimeout(5000) != B_OK)
&gt; +           m_widget = 0;

Your indent is off by one here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>211969</commentid>
    <comment_count>5</comment_count>
      <attachid>53256</attachid>
    <who name="Stephan Aßmus">superstippi</who>
    <bug_when>2010-04-13 08:47:26 -0700</bug_when>
    <thetext>Created attachment 53256
[Haiku] Fix bridging to top-level platform widget.

Fixed the patch in place (and looked for similar problems).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>211993</commentid>
    <comment_count>6</comment_count>
      <attachid>53256</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-04-13 10:20:51 -0700</bug_when>
    <thetext>Comment on attachment 53256
[Haiku] Fix bridging to top-level platform widget.

Clearing flags on attachment: 53256

Committed r57521: &lt;http://trac.webkit.org/changeset/57521&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>211994</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-04-13 10:20:56 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>53115</attachid>
            <date>2010-04-11 15:46:14 -0700</date>
            <delta_ts>2010-04-11 16:45:25 -0700</delta_ts>
            <desc>[Haiku] Fix bridging to top-level platform widget.</desc>
            <filename>WidgetHaiku.diff</filename>
            <type>text/plain</type>
            <size>7986</size>
            <attacher name="Stephan Aßmus">superstippi</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1NzQ1OSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsNDMgQEAKKzIwMTAtMDQtMTEgIFN0ZXBoYW4gQcOfbXVzICA8c3VwZXJzdGlwcGlA
Z214LmRlPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IFtIYWlrdV0gRml4IGJyaWRnaW5nIFdpZGdldCB0byBuYXRpdmUgdG9wLWxldmVsIEJWaWV3Lgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Mzc0MTkKKwor
ICAgICAgICBJbiB0aGUgSGFpa3UgcG9ydCwgdGhlcmUgaXMgbm8gbWFwcGluZyBiZXR3ZWVuIG5h
dGl2ZSB3aWRnZXRzCisgICAgICAgIGFuZCBXZWJDb3JlIFdpZGdldCBpbnN0YW5jZXMuIFRoZXJl
IGlzIG9ubHkgYSB0b3AtbGV2ZWwgQlZpZXcKKyAgICAgICAgd2hpY2ggcmVuZGVycyBhIHdlYiBw
YWdlIGludG8gYSBiaXRtYXAuIEZvciBjZXJ0YWluIFdlYkNvcmUgd2lkZ2V0CisgICAgICAgIGZ1
bmN0aW9uYWxpdHksIHdlIG5lZWQgdG8gYWNjZXNzIHRoaXMgQlZpZXcsIGxpa2UgZm9yIHNldHRp
bmcgdGhlCisgICAgICAgIGN1cnJlbnQgY3Vyc29yIG9yIGZvcmNpbmcgZm9jdXMuIE9uIHRoZSBv
dGhlciBoYW5kLCBzZXR0aW5nIGEKKyAgICAgICAgcGxhdGZvcm0gd2lkZ2V0IHBvaW50ZXIgb24g
V2lkZ2V0IHJlc3VsdHMgaW50byBjb21wbGV0ZWx5IGRpZmZlcmVudAorICAgICAgICBiZWhhdmlv
ciwgbGlrZSBTY3JvbGxWaWV3IHRyaWVzIHRvIGZvcndhcmQgZXZlcnl0aGluZyBpbnN0ZWFkIG9m
CisgICAgICAgIGhhbmRsaW5nIHN0dWZmIGl0c2VsZi4gVG8gbWFrZSB0aGlzIHdvcmssIHRoZSBw
b2ludGVyIHRvIGEgInRvcC1sZXZlbCIKKyAgICAgICAgQlZpZXcgaXMgc3RvcmVkIGluIGV2ZXJ5
IFdpZGdldCBmb3IgdGhlIEhhaWt1IHBvcnQuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzIG5lZWRl
ZC4KKworICAgICAgICAqIHBsYXRmb3JtL1dpZGdldC5oOgorICAgICAgICAgICAgLSBBZGRlZCB0
aGUgbV90b3BMZXZlbFBsYXRmb3JtV2lkZ2V0IG1lbWJlciBmb3IgdGhlIEhhaWt1IHBsYXRmb3Jt
LgorICAgICAgICAoV2ViQ29yZTo6V2lkZ2V0OjpzZXRQbGF0Zm9ybVdpZGdldCk6CisgICAgICAg
IChXZWJDb3JlOjpXaWRnZXQ6OnRvcExldmVsUGxhdGZvcm1XaWRnZXQpOgorICAgICAgICAoV2Vi
Q29yZTo6V2lkZ2V0OjpzZXRUb3BMZXZlbFBsYXRmb3JtV2lkZ2V0KToKKyAgICAgICAgKiBwbGF0
Zm9ybS9oYWlrdS9XaWRnZXRIYWlrdS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBdXRvUGxhdGZv
cm1XaWRnZXRMb2NrZXI6OkF1dG9QbGF0Zm9ybVdpZGdldExvY2tlcik6CisgICAgICAgIChXZWJD
b3JlOjpBdXRvUGxhdGZvcm1XaWRnZXRMb2NrZXI6On5BdXRvUGxhdGZvcm1XaWRnZXRMb2NrZXIp
OgorICAgICAgICAoV2ViQ29yZTo6QXV0b1BsYXRmb3JtV2lkZ2V0TG9ja2VyOjppc0xvY2tlZCk6
CisgICAgICAgICAgICAtIGhlbHBlciBjbGFzcyBmb3IgbG9ja2luZyB0aGUgQlZpZXcgbG9vcGVy
IHRocmVhZCB3aXRoIGEgdGltZW91dAorICAgICAgICAoV2ViQ29yZTo6V2lkZ2V0OjpXaWRnZXQp
OgorICAgICAgICAoV2ViQ29yZTo6V2lkZ2V0OjpzZXRGb2N1cyk6CisgICAgICAgICAgICAtIE1h
a2Ugc3VyZSB0aGUgdG9wLWxldmVsIHZpZXcgcmVjZWl2ZXMga2V5Ym9hcmQgaW5wdXQuCisgICAg
ICAgIChXZWJDb3JlOjpXaWRnZXQ6OnNldEN1cnNvcik6CisgICAgICAgICAgICAtIFNldCB0aGUg
Y3Vyc29yIG9uIHRoZSB0b3AtbGV2ZWwgdmlldy4KKyAgICAgICAgKFdlYkNvcmU6OldpZGdldDo6
c2hvdyk6CisgICAgICAgIChXZWJDb3JlOjpXaWRnZXQ6OmhpZGUpOgorICAgICAgICAgICAgLSBE
b24ndCBzaG93L2hpZGUgdGhlIHRvcC1sZXZlbCB2aWV3LCBidXQgbWFrZSB0aGUgY29kZSBjb3Jy
ZWN0CisgICAgICAgICAgICAgIGZvciB3aGVuZXZlciB3ZSB3b3VsZCBtYXAgYW4gaW5kaXZpZHVh
bCBCVmlldyBwZXIgV2lkZ2V0LgorICAgICAgICAgICAgLSBVc2Ugc2V0U2VsZlZpc2libGUoKSBh
bmQgaXNQYXJlbnRWaXNpYmxlKCkgbGlrZSBpbiBvdGhlciBwb3J0cy4KKwogMjAxMC0wNC0xMCAg
QWRhbSBCYXJ0aCAgPGFiYXJ0aEB3ZWJraXQub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQuICBS
ZW5hbWUgbV9mb3JjZVNhbmRib3hGbGFncyB0byBtX2ZvcmNlZFNhbmRveEZsYWdzLCBhcwpJbmRl
eDogV2ViQ29yZS9wbGF0Zm9ybS9XaWRnZXQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRm
b3JtL1dpZGdldC5oCShyZXZpc2lvbiA1NzI3NCkKKysrIFdlYkNvcmUvcGxhdGZvcm0vV2lkZ2V0
LmgJKHdvcmtpbmcgY29weSkKQEAgLTIxLDcgKzIxLDcgQEAKICAqIFBST0ZJVFM7IE9SIEJVU0lO
RVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKICAqIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VAogICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAgKi8K
IAogI2lmbmRlZiBXaWRnZXRfaApAQCAtMTE3LDEzICsxMTcsMjAgQEAgcHVibGljOgogCiAgICAg
UGxhdGZvcm1XaWRnZXQgcGxhdGZvcm1XaWRnZXQoKSBjb25zdCB7IHJldHVybiBtX3dpZGdldDsg
fQogICAgIHZvaWQgc2V0UGxhdGZvcm1XaWRnZXQoUGxhdGZvcm1XaWRnZXQgd2lkZ2V0KQotICAg
IHsgCisgICAgewogICAgICAgICBpZiAod2lkZ2V0ICE9IG1fd2lkZ2V0KSB7CiAgICAgICAgICAg
ICByZWxlYXNlUGxhdGZvcm1XaWRnZXQoKTsKICAgICAgICAgICAgIG1fd2lkZ2V0ID0gd2lkZ2V0
OwogICAgICAgICAgICAgcmV0YWluUGxhdGZvcm1XaWRnZXQoKTsKICAgICAgICAgfQogICAgIH0K
KyNpZiBQTEFURk9STShIQUlLVSkKKyAgICBQbGF0Zm9ybVdpZGdldCB0b3BMZXZlbFBsYXRmb3Jt
V2lkZ2V0KCkgY29uc3QgeyByZXR1cm4gbV90b3BMZXZlbFBsYXRmb3JtV2lkZ2V0OyB9CisgICAg
dm9pZCBzZXRUb3BMZXZlbFBsYXRmb3JtV2lkZ2V0KFBsYXRmb3JtV2lkZ2V0IHdpZGdldCkKKyAg
ICB7CisgICAgICAgIG1fdG9wTGV2ZWxQbGF0Zm9ybVdpZGdldCA9IHdpZGdldDsKKyAgICB9Cisj
ZW5kaWYKIAogICAgIGludCB4KCkgY29uc3QgeyByZXR1cm4gZnJhbWVSZWN0KCkueCgpOyB9CiAg
ICAgaW50IHkoKSBjb25zdCB7IHJldHVybiBmcmFtZVJlY3QoKS55KCk7IH0KQEAgLTE2MSw3ICsx
NjgsNyBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIGJvb2wgaXNGcmFtZVZpZXcoKSBjb25zdCB7
IHJldHVybiBmYWxzZTsgfQogICAgIHZpcnR1YWwgYm9vbCBpc1BsdWdpblZpZXcoKSBjb25zdCB7
IHJldHVybiBmYWxzZTsgfQotICAgIC8vIEZJWE1FOiBUaGUgTWFjIHBsdWctaW4gY29kZSBzaG91
bGQgaW5oZXJpdCBmcm9tIFBsdWdpblZpZXcuIFdoZW4gdGhpcyBoYXBwZW5zIFBsdWdpbldpZGdl
dCBhbmQgUGx1Z2luVmlldyBjYW4gYmVjb21lIG9uZSBjbGFzcy4gCisgICAgLy8gRklYTUU6IFRo
ZSBNYWMgcGx1Zy1pbiBjb2RlIHNob3VsZCBpbmhlcml0IGZyb20gUGx1Z2luVmlldy4gV2hlbiB0
aGlzIGhhcHBlbnMgUGx1Z2luV2lkZ2V0IGFuZCBQbHVnaW5WaWV3IGNhbiBiZWNvbWUgb25lIGNs
YXNzLgogICAgIHZpcnR1YWwgYm9vbCBpc1BsdWdpbldpZGdldCgpIGNvbnN0IHsgcmV0dXJuIGZh
bHNlOyB9CiAgICAgdmlydHVhbCBib29sIGlzU2Nyb2xsYmFyKCkgY29uc3QgeyByZXR1cm4gZmFs
c2U7IH0KIApAQCAtMTc4LDcgKzE4NSw3IEBAIHB1YmxpYzoKICAgICAvLyB3aGVuIGNvbnZlcnRp
bmcgd2luZG93IHJlY3RzLgogICAgIEludFJlY3QgY29udmVydFRvQ29udGFpbmluZ1dpbmRvdyhj
b25zdCBJbnRSZWN0JikgY29uc3Q7CiAgICAgSW50UmVjdCBjb252ZXJ0RnJvbUNvbnRhaW5pbmdX
aW5kb3coY29uc3QgSW50UmVjdCYpIGNvbnN0OwotICAgIAorCiAgICAgSW50UG9pbnQgY29udmVy
dFRvQ29udGFpbmluZ1dpbmRvdyhjb25zdCBJbnRQb2ludCYpIGNvbnN0OwogICAgIEludFBvaW50
IGNvbnZlcnRGcm9tQ29udGFpbmluZ1dpbmRvdyhjb25zdCBJbnRQb2ludCYpIGNvbnN0OwogCkBA
IC0xODksNyArMTk2LDcgQEAgcHVibGljOgogCiAjaWYgUExBVEZPUk0oTUFDKQogICAgIE5TVmll
dyogZ2V0T3V0ZXJWaWV3KCkgY29uc3Q7Ci0gICAgCisKICAgICBzdGF0aWMgdm9pZCBiZWZvcmVN
b3VzZURvd24oTlNWaWV3KiwgV2lkZ2V0Kik7CiAgICAgc3RhdGljIHZvaWQgYWZ0ZXJNb3VzZURv
d24oTlNWaWV3KiwgV2lkZ2V0Kik7CiAKQEAgLTIwNywxMiArMjE0LDEyIEBAIHByaXZhdGU6CiAK
ICAgICB2b2lkIHJlbGVhc2VQbGF0Zm9ybVdpZGdldCgpOwogICAgIHZvaWQgcmV0YWluUGxhdGZv
cm1XaWRnZXQoKTsKLSAgICAKKwogICAgIC8vIFRoZXNlIG1ldGhvZHMgYXJlIHVzZWQgdG8gY29u
dmVydCBmcm9tIHRoZSByb290IHdpZGdldCB0byB0aGUgY29udGFpbmluZyB3aW5kb3csCiAgICAg
Ly8gd2hpY2ggaGFzIGJlaGF2aW9yIHRoYXQgbWF5IGRpZmZlciBiZXR3ZWVuIHBsYXRmb3JtcyAo
ZS5nLiBNYWMgdXNlcyBmbGlwcGVkIHdpbmRvdyBjb29yZGluYXRlcykuCiAgICAgc3RhdGljIElu
dFJlY3QgY29udmVydEZyb21Sb290VG9Db250YWluaW5nV2luZG93KGNvbnN0IFdpZGdldCogcm9v
dFdpZGdldCwgY29uc3QgSW50UmVjdCYpOwogICAgIHN0YXRpYyBJbnRSZWN0IGNvbnZlcnRGcm9t
Q29udGFpbmluZ1dpbmRvd1RvUm9vdChjb25zdCBXaWRnZXQqIHJvb3RXaWRnZXQsIGNvbnN0IElu
dFJlY3QmKTsKLSAgICAKKwogICAgIHN0YXRpYyBJbnRQb2ludCBjb252ZXJ0RnJvbVJvb3RUb0Nv
bnRhaW5pbmdXaW5kb3coY29uc3QgV2lkZ2V0KiByb290V2lkZ2V0LCBjb25zdCBJbnRQb2ludCYp
OwogICAgIHN0YXRpYyBJbnRQb2ludCBjb252ZXJ0RnJvbUNvbnRhaW5pbmdXaW5kb3dUb1Jvb3Qo
Y29uc3QgV2lkZ2V0KiByb290V2lkZ2V0LCBjb25zdCBJbnRQb2ludCYpOwogCkBAIC0yMjEsMTIg
KzIyOCwxNSBAQCBwcml2YXRlOgogICAgIFBsYXRmb3JtV2lkZ2V0IG1fd2lkZ2V0OwogICAgIGJv
b2wgbV9zZWxmVmlzaWJsZTsKICAgICBib29sIG1fcGFyZW50VmlzaWJsZTsKLSAgICAKKwogICAg
IEludFJlY3QgbV9mcmFtZTsgLy8gTm90IHVzZWQgd2hlbiBhIG5hdGl2ZSB3aWRnZXQgZXhpc3Rz
LgogCiAjaWYgUExBVEZPUk0oTUFDKQogICAgIFdpZGdldFByaXZhdGUqIG1fZGF0YTsKICNlbmRp
ZgorI2lmIFBMQVRGT1JNKEhBSUtVKQorICAgIFBsYXRmb3JtV2lkZ2V0IG1fdG9wTGV2ZWxQbGF0
Zm9ybVdpZGdldDsKKyNlbmRpZgogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRleDog
V2ViQ29yZS9wbGF0Zm9ybS9oYWlrdS9XaWRnZXRIYWlrdS5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vi
Q29yZS9wbGF0Zm9ybS9oYWlrdS9XaWRnZXRIYWlrdS5jcHAJKHJldmlzaW9uIDU3Mjc0KQorKysg
V2ViQ29yZS9wbGF0Zm9ybS9oYWlrdS9XaWRnZXRIYWlrdS5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTI5LDE2ICsyOSwzOCBAQAogI2luY2x1ZGUgIldpZGdldC5oIgogCiAjaW5jbHVkZSAiQ3Vyc29y
LmgiCi0jaW5jbHVkZSAiR3JhcGhpY3NDb250ZXh0LmgiCiAjaW5jbHVkZSAiSW50UmVjdC5oIgog
I2luY2x1ZGUgIk5vdEltcGxlbWVudGVkLmgiCi0jaW5jbHVkZSA8Q29udHJvbC5oPgogI2luY2x1
ZGUgPFZpZXcuaD4KIAotCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKK2NsYXNzIEF1dG9QbGF0Zm9y
bVdpZGdldExvY2tlciB7CitwdWJsaWM6CisgICAgQXV0b1BsYXRmb3JtV2lkZ2V0TG9ja2VyKFBs
YXRmb3JtV2lkZ2V0IHdpZGdldCkKKyAgICAgICAgOiBtX3dpZGdldCh3aWRnZXQpCisgICAgewor
ICAgIAlpZiAoIW1fd2lkZ2V0IHx8IG1fd2lkZ2V0LT5Mb2NrTG9vcGVyV2l0aFRpbWVvdXQoNTAw
MCkgIT0gQl9PSykKKyAgICAJICAgbV93aWRnZXQgPSAwOworICAgIH0KKworICAgIH5BdXRvUGxh
dGZvcm1XaWRnZXRMb2NrZXIoKQorICAgIHsKKyAgICAJaWYgKG1fd2lkZ2V0KQorICAgIAkgICAg
bV93aWRnZXQtPlVubG9ja0xvb3BlcigpOworICAgIH0KKworICAgIGJvb2wgaXNMb2NrZWQoKSBj
b25zdAorICAgIHsKKyAgICAJcmV0dXJuIG1fd2lkZ2V0OworICAgIH0KKworcHJpdmF0ZToKKyAg
ICBQbGF0Zm9ybVdpZGdldCBtX3dpZGdldDsKK307CisKIFdpZGdldDo6V2lkZ2V0KFBsYXRmb3Jt
V2lkZ2V0IHdpZGdldCkKKyAgICA6IG1fdG9wTGV2ZWxQbGF0Zm9ybVdpZGdldCgwKQogewogICAg
IGluaXQod2lkZ2V0KTsKIH0KQEAgLTU5LDI5ICs4MSw0MSBAQCB2b2lkIFdpZGdldDo6c2V0RnJh
bWVSZWN0KGNvbnN0IEludFJlY3QmCiAKIHZvaWQgV2lkZ2V0OjpzZXRGb2N1cygpCiB7Ci0gICAg
aWYgKHBsYXRmb3JtV2lkZ2V0KCkpCi0gICAgICAgIHBsYXRmb3JtV2lkZ2V0KCktPk1ha2VGb2N1
cygpOworICAgIEF1dG9QbGF0Zm9ybVdpZGdldExvY2tlciBsb2NrZXIodG9wTGV2ZWxQbGF0Zm9y
bVdpZGdldCgpKTsKKyAgICBpZiAobG9ja2VyLmlzTG9ja2VkKCkpCisgICAgICAgIHRvcExldmVs
UGxhdGZvcm1XaWRnZXQoKS0+TWFrZUZvY3VzKCk7CiB9CiAKIHZvaWQgV2lkZ2V0OjpzZXRDdXJz
b3IoY29uc3QgQ3Vyc29yJiBjdXJzb3IpCiB7Ci0gICAgaWYgKHBsYXRmb3JtV2lkZ2V0KCkpCi0g
ICAgICAgIHBsYXRmb3JtV2lkZ2V0KCktPlNldFZpZXdDdXJzb3IoY3Vyc29yLmltcGwoKSk7Cisg
ICAgQXV0b1BsYXRmb3JtV2lkZ2V0TG9ja2VyIGxvY2tlcih0b3BMZXZlbFBsYXRmb3JtV2lkZ2V0
KCkpOworICAgIGlmIChsb2NrZXIuaXNMb2NrZWQoKSkKKyAgICAgICAgdG9wTGV2ZWxQbGF0Zm9y
bVdpZGdldCgpLT5TZXRWaWV3Q3Vyc29yKGN1cnNvci5pbXBsKCkpOwogfQogCiB2b2lkIFdpZGdl
dDo6c2hvdygpCiB7Ci0gICAgaWYgKHBsYXRmb3JtV2lkZ2V0KCkpCisgICAgc2V0U2VsZlZpc2li
bGUodHJ1ZSk7CisgICAgaWYgKCFpc1BhcmVudFZpc2libGUoKSkKKyAgICAJcmV0dXJuOworCisg
ICAgQXV0b1BsYXRmb3JtV2lkZ2V0TG9ja2VyIGxvY2tlcihwbGF0Zm9ybVdpZGdldCgpKTsKKyAg
ICBpZiAobG9ja2VyLmlzTG9ja2VkKCkgJiYgcGxhdGZvcm1XaWRnZXQoKS0+SXNIaWRkZW4oKSkK
ICAgICAgICAgcGxhdGZvcm1XaWRnZXQoKS0+U2hvdygpOwogfQogCiB2b2lkIFdpZGdldDo6aGlk
ZSgpCiB7Ci0gICAgaWYgKHBsYXRmb3JtV2lkZ2V0KCkpCisgICAgc2V0U2VsZlZpc2libGUoZmFs
c2UpOworICAgIGlmICghaXNQYXJlbnRWaXNpYmxlKCkpCisgICAgCXJldHVybjsKKworICAgIEF1
dG9QbGF0Zm9ybVdpZGdldExvY2tlciBsb2NrZXIocGxhdGZvcm1XaWRnZXQoKSk7CisgICAgaWYg
KGxvY2tlci5pc0xvY2tlZCgpICYmICFwbGF0Zm9ybVdpZGdldCgpLT5Jc0hpZGRlbigpKQogICAg
ICAgICBwbGF0Zm9ybVdpZGdldCgpLT5IaWRlKCk7CiB9CiAKLXZvaWQgV2lkZ2V0OjpwYWludChH
cmFwaGljc0NvbnRleHQqIHAsIEludFJlY3QgY29uc3QmIHIpCit2b2lkIFdpZGdldDo6cGFpbnQo
R3JhcGhpY3NDb250ZXh0KiwgSW50UmVjdCBjb25zdCYpCiB7CiAgICAgbm90SW1wbGVtZW50ZWQo
KTsKIH0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>53118</attachid>
            <date>2010-04-11 16:45:25 -0700</date>
            <delta_ts>2010-04-13 08:47:26 -0700</delta_ts>
            <desc>[Haiku] Fix bridging to top-level platform widget.</desc>
            <filename>WidgetHaiku.diff</filename>
            <type>text/plain</type>
            <size>8181</size>
            <attacher name="Stephan Aßmus">superstippi</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1NzQ1OSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsNDMgQEAKKzIwMTAtMDQtMTEgIFN0ZXBoYW4gQcOfbXVzICA8c3VwZXJzdGlwcGlA
Z214LmRlPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IFtIYWlrdV0gRml4IGJyaWRnaW5nIFdpZGdldCB0byBuYXRpdmUgdG9wLWxldmVsIEJWaWV3Lgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Mzc0MTkKKwor
ICAgICAgICBJbiB0aGUgSGFpa3UgcG9ydCwgdGhlcmUgaXMgbm8gbWFwcGluZyBiZXR3ZWVuIG5h
dGl2ZSB3aWRnZXRzCisgICAgICAgIGFuZCBXZWJDb3JlIFdpZGdldCBpbnN0YW5jZXMuIFRoZXJl
IGlzIG9ubHkgYSB0b3AtbGV2ZWwgQlZpZXcKKyAgICAgICAgd2hpY2ggcmVuZGVycyBhIHdlYiBw
YWdlIGludG8gYSBiaXRtYXAuIEZvciBjZXJ0YWluIFdlYkNvcmUgd2lkZ2V0CisgICAgICAgIGZ1
bmN0aW9uYWxpdHksIHdlIG5lZWQgdG8gYWNjZXNzIHRoaXMgQlZpZXcsIGxpa2UgZm9yIHNldHRp
bmcgdGhlCisgICAgICAgIGN1cnJlbnQgY3Vyc29yIG9yIGZvcmNpbmcgZm9jdXMuIE9uIHRoZSBv
dGhlciBoYW5kLCBzZXR0aW5nIGEKKyAgICAgICAgcGxhdGZvcm0gd2lkZ2V0IHBvaW50ZXIgb24g
V2lkZ2V0IHJlc3VsdHMgaW50byBjb21wbGV0ZWx5IGRpZmZlcmVudAorICAgICAgICBiZWhhdmlv
ciwgbGlrZSBTY3JvbGxWaWV3IHRyaWVzIHRvIGZvcndhcmQgZXZlcnl0aGluZyBpbnN0ZWFkIG9m
CisgICAgICAgIGhhbmRsaW5nIHN0dWZmIGl0c2VsZi4gVG8gbWFrZSB0aGlzIHdvcmssIHRoZSBw
b2ludGVyIHRvIGEgInRvcC1sZXZlbCIKKyAgICAgICAgQlZpZXcgaXMgc3RvcmVkIGluIGV2ZXJ5
IFdpZGdldCBmb3IgdGhlIEhhaWt1IHBvcnQuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzIG5lZWRl
ZC4KKworICAgICAgICAqIHBsYXRmb3JtL1dpZGdldC5oOgorICAgICAgICAgICAgLSBBZGRlZCB0
aGUgbV90b3BMZXZlbFBsYXRmb3JtV2lkZ2V0IG1lbWJlciBmb3IgdGhlIEhhaWt1IHBsYXRmb3Jt
LgorICAgICAgICAoV2ViQ29yZTo6V2lkZ2V0OjpzZXRQbGF0Zm9ybVdpZGdldCk6CisgICAgICAg
IChXZWJDb3JlOjpXaWRnZXQ6OnRvcExldmVsUGxhdGZvcm1XaWRnZXQpOgorICAgICAgICAoV2Vi
Q29yZTo6V2lkZ2V0OjpzZXRUb3BMZXZlbFBsYXRmb3JtV2lkZ2V0KToKKyAgICAgICAgKiBwbGF0
Zm9ybS9oYWlrdS9XaWRnZXRIYWlrdS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBdXRvUGxhdGZv
cm1XaWRnZXRMb2NrZXI6OkF1dG9QbGF0Zm9ybVdpZGdldExvY2tlcik6CisgICAgICAgIChXZWJD
b3JlOjpBdXRvUGxhdGZvcm1XaWRnZXRMb2NrZXI6On5BdXRvUGxhdGZvcm1XaWRnZXRMb2NrZXIp
OgorICAgICAgICAoV2ViQ29yZTo6QXV0b1BsYXRmb3JtV2lkZ2V0TG9ja2VyOjppc0xvY2tlZCk6
CisgICAgICAgICAgICAtIGhlbHBlciBjbGFzcyBmb3IgbG9ja2luZyB0aGUgQlZpZXcgbG9vcGVy
IHRocmVhZCB3aXRoIGEgdGltZW91dAorICAgICAgICAoV2ViQ29yZTo6V2lkZ2V0OjpXaWRnZXQp
OgorICAgICAgICAoV2ViQ29yZTo6V2lkZ2V0OjpzZXRGb2N1cyk6CisgICAgICAgICAgICAtIE1h
a2Ugc3VyZSB0aGUgdG9wLWxldmVsIHZpZXcgcmVjZWl2ZXMga2V5Ym9hcmQgaW5wdXQuCisgICAg
ICAgIChXZWJDb3JlOjpXaWRnZXQ6OnNldEN1cnNvcik6CisgICAgICAgICAgICAtIFNldCB0aGUg
Y3Vyc29yIG9uIHRoZSB0b3AtbGV2ZWwgdmlldy4KKyAgICAgICAgKFdlYkNvcmU6OldpZGdldDo6
c2hvdyk6CisgICAgICAgIChXZWJDb3JlOjpXaWRnZXQ6OmhpZGUpOgorICAgICAgICAgICAgLSBE
b24ndCBzaG93L2hpZGUgdGhlIHRvcC1sZXZlbCB2aWV3LCBidXQgbWFrZSB0aGUgY29kZSBjb3Jy
ZWN0CisgICAgICAgICAgICAgIGZvciB3aGVuZXZlciB3ZSB3b3VsZCBtYXAgYW4gaW5kaXZpZHVh
bCBCVmlldyBwZXIgV2lkZ2V0LgorICAgICAgICAgICAgLSBVc2Ugc2V0U2VsZlZpc2libGUoKSBh
bmQgaXNQYXJlbnRWaXNpYmxlKCkgbGlrZSBpbiBvdGhlciBwb3J0cy4KKwogMjAxMC0wNC0xMCAg
QWRhbSBCYXJ0aCAgPGFiYXJ0aEB3ZWJraXQub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQuICBS
ZW5hbWUgbV9mb3JjZVNhbmRib3hGbGFncyB0byBtX2ZvcmNlZFNhbmRveEZsYWdzLCBhcwpJbmRl
eDogV2ViQ29yZS9wbGF0Zm9ybS9XaWRnZXQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRm
b3JtL1dpZGdldC5oCShyZXZpc2lvbiA1NzI3NCkKKysrIFdlYkNvcmUvcGxhdGZvcm0vV2lkZ2V0
LmgJKHdvcmtpbmcgY29weSkKQEAgLTIxLDcgKzIxLDcgQEAKICAqIFBST0ZJVFM7IE9SIEJVU0lO
RVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKICAqIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VAogICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAgKi8K
IAogI2lmbmRlZiBXaWRnZXRfaApAQCAtMTE3LDEzICsxMTcsMjAgQEAgcHVibGljOgogCiAgICAg
UGxhdGZvcm1XaWRnZXQgcGxhdGZvcm1XaWRnZXQoKSBjb25zdCB7IHJldHVybiBtX3dpZGdldDsg
fQogICAgIHZvaWQgc2V0UGxhdGZvcm1XaWRnZXQoUGxhdGZvcm1XaWRnZXQgd2lkZ2V0KQotICAg
IHsgCisgICAgewogICAgICAgICBpZiAod2lkZ2V0ICE9IG1fd2lkZ2V0KSB7CiAgICAgICAgICAg
ICByZWxlYXNlUGxhdGZvcm1XaWRnZXQoKTsKICAgICAgICAgICAgIG1fd2lkZ2V0ID0gd2lkZ2V0
OwogICAgICAgICAgICAgcmV0YWluUGxhdGZvcm1XaWRnZXQoKTsKICAgICAgICAgfQogICAgIH0K
KyNpZiBQTEFURk9STShIQUlLVSkKKyAgICBQbGF0Zm9ybVdpZGdldCB0b3BMZXZlbFBsYXRmb3Jt
V2lkZ2V0KCkgY29uc3QgeyByZXR1cm4gbV90b3BMZXZlbFBsYXRmb3JtV2lkZ2V0OyB9CisgICAg
dm9pZCBzZXRUb3BMZXZlbFBsYXRmb3JtV2lkZ2V0KFBsYXRmb3JtV2lkZ2V0IHdpZGdldCkKKyAg
ICB7CisgICAgICAgIG1fdG9wTGV2ZWxQbGF0Zm9ybVdpZGdldCA9IHdpZGdldDsKKyAgICB9Cisj
ZW5kaWYKIAogICAgIGludCB4KCkgY29uc3QgeyByZXR1cm4gZnJhbWVSZWN0KCkueCgpOyB9CiAg
ICAgaW50IHkoKSBjb25zdCB7IHJldHVybiBmcmFtZVJlY3QoKS55KCk7IH0KQEAgLTE2MSw3ICsx
NjgsNyBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIGJvb2wgaXNGcmFtZVZpZXcoKSBjb25zdCB7
IHJldHVybiBmYWxzZTsgfQogICAgIHZpcnR1YWwgYm9vbCBpc1BsdWdpblZpZXcoKSBjb25zdCB7
IHJldHVybiBmYWxzZTsgfQotICAgIC8vIEZJWE1FOiBUaGUgTWFjIHBsdWctaW4gY29kZSBzaG91
bGQgaW5oZXJpdCBmcm9tIFBsdWdpblZpZXcuIFdoZW4gdGhpcyBoYXBwZW5zIFBsdWdpbldpZGdl
dCBhbmQgUGx1Z2luVmlldyBjYW4gYmVjb21lIG9uZSBjbGFzcy4gCisgICAgLy8gRklYTUU6IFRo
ZSBNYWMgcGx1Zy1pbiBjb2RlIHNob3VsZCBpbmhlcml0IGZyb20gUGx1Z2luVmlldy4gV2hlbiB0
aGlzIGhhcHBlbnMgUGx1Z2luV2lkZ2V0IGFuZCBQbHVnaW5WaWV3IGNhbiBiZWNvbWUgb25lIGNs
YXNzLgogICAgIHZpcnR1YWwgYm9vbCBpc1BsdWdpbldpZGdldCgpIGNvbnN0IHsgcmV0dXJuIGZh
bHNlOyB9CiAgICAgdmlydHVhbCBib29sIGlzU2Nyb2xsYmFyKCkgY29uc3QgeyByZXR1cm4gZmFs
c2U7IH0KIApAQCAtMTc4LDcgKzE4NSw3IEBAIHB1YmxpYzoKICAgICAvLyB3aGVuIGNvbnZlcnRp
bmcgd2luZG93IHJlY3RzLgogICAgIEludFJlY3QgY29udmVydFRvQ29udGFpbmluZ1dpbmRvdyhj
b25zdCBJbnRSZWN0JikgY29uc3Q7CiAgICAgSW50UmVjdCBjb252ZXJ0RnJvbUNvbnRhaW5pbmdX
aW5kb3coY29uc3QgSW50UmVjdCYpIGNvbnN0OwotICAgIAorCiAgICAgSW50UG9pbnQgY29udmVy
dFRvQ29udGFpbmluZ1dpbmRvdyhjb25zdCBJbnRQb2ludCYpIGNvbnN0OwogICAgIEludFBvaW50
IGNvbnZlcnRGcm9tQ29udGFpbmluZ1dpbmRvdyhjb25zdCBJbnRQb2ludCYpIGNvbnN0OwogCkBA
IC0xODksNyArMTk2LDcgQEAgcHVibGljOgogCiAjaWYgUExBVEZPUk0oTUFDKQogICAgIE5TVmll
dyogZ2V0T3V0ZXJWaWV3KCkgY29uc3Q7Ci0gICAgCisKICAgICBzdGF0aWMgdm9pZCBiZWZvcmVN
b3VzZURvd24oTlNWaWV3KiwgV2lkZ2V0Kik7CiAgICAgc3RhdGljIHZvaWQgYWZ0ZXJNb3VzZURv
d24oTlNWaWV3KiwgV2lkZ2V0Kik7CiAKQEAgLTIwNywxMiArMjE0LDEyIEBAIHByaXZhdGU6CiAK
ICAgICB2b2lkIHJlbGVhc2VQbGF0Zm9ybVdpZGdldCgpOwogICAgIHZvaWQgcmV0YWluUGxhdGZv
cm1XaWRnZXQoKTsKLSAgICAKKwogICAgIC8vIFRoZXNlIG1ldGhvZHMgYXJlIHVzZWQgdG8gY29u
dmVydCBmcm9tIHRoZSByb290IHdpZGdldCB0byB0aGUgY29udGFpbmluZyB3aW5kb3csCiAgICAg
Ly8gd2hpY2ggaGFzIGJlaGF2aW9yIHRoYXQgbWF5IGRpZmZlciBiZXR3ZWVuIHBsYXRmb3JtcyAo
ZS5nLiBNYWMgdXNlcyBmbGlwcGVkIHdpbmRvdyBjb29yZGluYXRlcykuCiAgICAgc3RhdGljIElu
dFJlY3QgY29udmVydEZyb21Sb290VG9Db250YWluaW5nV2luZG93KGNvbnN0IFdpZGdldCogcm9v
dFdpZGdldCwgY29uc3QgSW50UmVjdCYpOwogICAgIHN0YXRpYyBJbnRSZWN0IGNvbnZlcnRGcm9t
Q29udGFpbmluZ1dpbmRvd1RvUm9vdChjb25zdCBXaWRnZXQqIHJvb3RXaWRnZXQsIGNvbnN0IElu
dFJlY3QmKTsKLSAgICAKKwogICAgIHN0YXRpYyBJbnRQb2ludCBjb252ZXJ0RnJvbVJvb3RUb0Nv
bnRhaW5pbmdXaW5kb3coY29uc3QgV2lkZ2V0KiByb290V2lkZ2V0LCBjb25zdCBJbnRQb2ludCYp
OwogICAgIHN0YXRpYyBJbnRQb2ludCBjb252ZXJ0RnJvbUNvbnRhaW5pbmdXaW5kb3dUb1Jvb3Qo
Y29uc3QgV2lkZ2V0KiByb290V2lkZ2V0LCBjb25zdCBJbnRQb2ludCYpOwogCkBAIC0yMjEsMTIg
KzIyOCwxNSBAQCBwcml2YXRlOgogICAgIFBsYXRmb3JtV2lkZ2V0IG1fd2lkZ2V0OwogICAgIGJv
b2wgbV9zZWxmVmlzaWJsZTsKICAgICBib29sIG1fcGFyZW50VmlzaWJsZTsKLSAgICAKKwogICAg
IEludFJlY3QgbV9mcmFtZTsgLy8gTm90IHVzZWQgd2hlbiBhIG5hdGl2ZSB3aWRnZXQgZXhpc3Rz
LgogCiAjaWYgUExBVEZPUk0oTUFDKQogICAgIFdpZGdldFByaXZhdGUqIG1fZGF0YTsKICNlbmRp
ZgorI2lmIFBMQVRGT1JNKEhBSUtVKQorICAgIFBsYXRmb3JtV2lkZ2V0IG1fdG9wTGV2ZWxQbGF0
Zm9ybVdpZGdldDsKKyNlbmRpZgogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRleDog
V2ViQ29yZS9wbGF0Zm9ybS9oYWlrdS9XaWRnZXRIYWlrdS5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vi
Q29yZS9wbGF0Zm9ybS9oYWlrdS9XaWRnZXRIYWlrdS5jcHAJKHJldmlzaW9uIDU3Mjc0KQorKysg
V2ViQ29yZS9wbGF0Zm9ybS9oYWlrdS9XaWRnZXRIYWlrdS5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTEsNSArMSw2IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAyMDA3IFJ5YW4gTGVhdmVuZ29vZCA8
bGVhdmVuZ29vZEBnbWFpbC5jb20+CisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgU3RlcGhhbiBBw59t
dXMgPHN1cGVyc3RpcHBpQGdteC5kZT4KICAqCiAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoK
QEAgLTI5LDE2ICszMCwzOCBAQAogI2luY2x1ZGUgIldpZGdldC5oIgogCiAjaW5jbHVkZSAiQ3Vy
c29yLmgiCi0jaW5jbHVkZSAiR3JhcGhpY3NDb250ZXh0LmgiCiAjaW5jbHVkZSAiSW50UmVjdC5o
IgogI2luY2x1ZGUgIk5vdEltcGxlbWVudGVkLmgiCi0jaW5jbHVkZSA8Q29udHJvbC5oPgogI2lu
Y2x1ZGUgPFZpZXcuaD4KIAotCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKK2NsYXNzIEF1dG9QbGF0
Zm9ybVdpZGdldExvY2tlciB7CitwdWJsaWM6CisgICAgQXV0b1BsYXRmb3JtV2lkZ2V0TG9ja2Vy
KFBsYXRmb3JtV2lkZ2V0IHdpZGdldCkKKyAgICAgICAgOiBtX3dpZGdldCh3aWRnZXQpCisgICAg
eworICAgICAgICBpZiAoIW1fd2lkZ2V0IHx8IG1fd2lkZ2V0LT5Mb2NrTG9vcGVyV2l0aFRpbWVv
dXQoNTAwMCkgIT0gQl9PSykKKyAgICAgICAgICAgbV93aWRnZXQgPSAwOworICAgIH0KKworICAg
IH5BdXRvUGxhdGZvcm1XaWRnZXRMb2NrZXIoKQorICAgIHsKKyAgICAgICAgaWYgKG1fd2lkZ2V0
KQorICAgICAgICAgICAgbV93aWRnZXQtPlVubG9ja0xvb3BlcigpOworICAgIH0KKworICAgIGJv
b2wgaXNMb2NrZWQoKSBjb25zdAorICAgIHsKKyAgICAgICAgcmV0dXJuIG1fd2lkZ2V0OworICAg
IH0KKworcHJpdmF0ZToKKyAgICBQbGF0Zm9ybVdpZGdldCBtX3dpZGdldDsKK307CisKIFdpZGdl
dDo6V2lkZ2V0KFBsYXRmb3JtV2lkZ2V0IHdpZGdldCkKKyAgICA6IG1fdG9wTGV2ZWxQbGF0Zm9y
bVdpZGdldCgwKQogewogICAgIGluaXQod2lkZ2V0KTsKIH0KQEAgLTU5LDI5ICs4Miw0MSBAQCB2
b2lkIFdpZGdldDo6c2V0RnJhbWVSZWN0KGNvbnN0IEludFJlY3QmCiAKIHZvaWQgV2lkZ2V0Ojpz
ZXRGb2N1cygpCiB7Ci0gICAgaWYgKHBsYXRmb3JtV2lkZ2V0KCkpCi0gICAgICAgIHBsYXRmb3Jt
V2lkZ2V0KCktPk1ha2VGb2N1cygpOworICAgIEF1dG9QbGF0Zm9ybVdpZGdldExvY2tlciBsb2Nr
ZXIodG9wTGV2ZWxQbGF0Zm9ybVdpZGdldCgpKTsKKyAgICBpZiAobG9ja2VyLmlzTG9ja2VkKCkp
CisgICAgICAgIHRvcExldmVsUGxhdGZvcm1XaWRnZXQoKS0+TWFrZUZvY3VzKCk7CiB9CiAKIHZv
aWQgV2lkZ2V0OjpzZXRDdXJzb3IoY29uc3QgQ3Vyc29yJiBjdXJzb3IpCiB7Ci0gICAgaWYgKHBs
YXRmb3JtV2lkZ2V0KCkpCi0gICAgICAgIHBsYXRmb3JtV2lkZ2V0KCktPlNldFZpZXdDdXJzb3Io
Y3Vyc29yLmltcGwoKSk7CisgICAgQXV0b1BsYXRmb3JtV2lkZ2V0TG9ja2VyIGxvY2tlcih0b3BM
ZXZlbFBsYXRmb3JtV2lkZ2V0KCkpOworICAgIGlmIChsb2NrZXIuaXNMb2NrZWQoKSkKKyAgICAg
ICAgdG9wTGV2ZWxQbGF0Zm9ybVdpZGdldCgpLT5TZXRWaWV3Q3Vyc29yKGN1cnNvci5pbXBsKCkp
OwogfQogCiB2b2lkIFdpZGdldDo6c2hvdygpCiB7Ci0gICAgaWYgKHBsYXRmb3JtV2lkZ2V0KCkp
CisgICAgc2V0U2VsZlZpc2libGUodHJ1ZSk7CisgICAgaWYgKCFpc1BhcmVudFZpc2libGUoKSkK
KyAgICAgICAgcmV0dXJuOworCisgICAgQXV0b1BsYXRmb3JtV2lkZ2V0TG9ja2VyIGxvY2tlcihw
bGF0Zm9ybVdpZGdldCgpKTsKKyAgICBpZiAobG9ja2VyLmlzTG9ja2VkKCkgJiYgcGxhdGZvcm1X
aWRnZXQoKS0+SXNIaWRkZW4oKSkKICAgICAgICAgcGxhdGZvcm1XaWRnZXQoKS0+U2hvdygpOwog
fQogCiB2b2lkIFdpZGdldDo6aGlkZSgpCiB7Ci0gICAgaWYgKHBsYXRmb3JtV2lkZ2V0KCkpCisg
ICAgc2V0U2VsZlZpc2libGUoZmFsc2UpOworICAgIGlmICghaXNQYXJlbnRWaXNpYmxlKCkpCisg
ICAgICAgIHJldHVybjsKKworICAgIEF1dG9QbGF0Zm9ybVdpZGdldExvY2tlciBsb2NrZXIocGxh
dGZvcm1XaWRnZXQoKSk7CisgICAgaWYgKGxvY2tlci5pc0xvY2tlZCgpICYmICFwbGF0Zm9ybVdp
ZGdldCgpLT5Jc0hpZGRlbigpKQogICAgICAgICBwbGF0Zm9ybVdpZGdldCgpLT5IaWRlKCk7CiB9
CiAKLXZvaWQgV2lkZ2V0OjpwYWludChHcmFwaGljc0NvbnRleHQqIHAsIEludFJlY3QgY29uc3Qm
IHIpCit2b2lkIFdpZGdldDo6cGFpbnQoR3JhcGhpY3NDb250ZXh0KiwgSW50UmVjdCBjb25zdCYp
CiB7CiAgICAgbm90SW1wbGVtZW50ZWQoKTsKIH0K
</data>
<flag name="review"
          id="36764"
          type_id="1"
          status="-"
          setter="levin"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>53256</attachid>
            <date>2010-04-13 08:47:26 -0700</date>
            <delta_ts>2010-04-13 10:20:51 -0700</delta_ts>
            <desc>[Haiku] Fix bridging to top-level platform widget.</desc>
            <filename>WidgetHaiku.diff</filename>
            <type>text/plain</type>
            <size>8182</size>
            <attacher name="Stephan Aßmus">superstippi</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1NzQ1OSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsNDMgQEAKKzIwMTAtMDQtMTEgIFN0ZXBoYW4gQcOfbXVzICA8c3VwZXJzdGlwcGlA
Z214LmRlPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IFtIYWlrdV0gRml4IGJyaWRnaW5nIFdpZGdldCB0byBuYXRpdmUgdG9wLWxldmVsIEJWaWV3Lgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Mzc0MTkKKwor
ICAgICAgICBJbiB0aGUgSGFpa3UgcG9ydCwgdGhlcmUgaXMgbm8gbWFwcGluZyBiZXR3ZWVuIG5h
dGl2ZSB3aWRnZXRzCisgICAgICAgIGFuZCBXZWJDb3JlIFdpZGdldCBpbnN0YW5jZXMuIFRoZXJl
IGlzIG9ubHkgYSB0b3AtbGV2ZWwgQlZpZXcKKyAgICAgICAgd2hpY2ggcmVuZGVycyBhIHdlYiBw
YWdlIGludG8gYSBiaXRtYXAuIEZvciBjZXJ0YWluIFdlYkNvcmUgd2lkZ2V0CisgICAgICAgIGZ1
bmN0aW9uYWxpdHksIHdlIG5lZWQgdG8gYWNjZXNzIHRoaXMgQlZpZXcsIGxpa2UgZm9yIHNldHRp
bmcgdGhlCisgICAgICAgIGN1cnJlbnQgY3Vyc29yIG9yIGZvcmNpbmcgZm9jdXMuIE9uIHRoZSBv
dGhlciBoYW5kLCBzZXR0aW5nIGEKKyAgICAgICAgcGxhdGZvcm0gd2lkZ2V0IHBvaW50ZXIgb24g
V2lkZ2V0IHJlc3VsdHMgaW50byBjb21wbGV0ZWx5IGRpZmZlcmVudAorICAgICAgICBiZWhhdmlv
ciwgbGlrZSBTY3JvbGxWaWV3IHRyaWVzIHRvIGZvcndhcmQgZXZlcnl0aGluZyBpbnN0ZWFkIG9m
CisgICAgICAgIGhhbmRsaW5nIHN0dWZmIGl0c2VsZi4gVG8gbWFrZSB0aGlzIHdvcmssIHRoZSBw
b2ludGVyIHRvIGEgInRvcC1sZXZlbCIKKyAgICAgICAgQlZpZXcgaXMgc3RvcmVkIGluIGV2ZXJ5
IFdpZGdldCBmb3IgdGhlIEhhaWt1IHBvcnQuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzIG5lZWRl
ZC4KKworICAgICAgICAqIHBsYXRmb3JtL1dpZGdldC5oOgorICAgICAgICAgICAgLSBBZGRlZCB0
aGUgbV90b3BMZXZlbFBsYXRmb3JtV2lkZ2V0IG1lbWJlciBmb3IgdGhlIEhhaWt1IHBsYXRmb3Jt
LgorICAgICAgICAoV2ViQ29yZTo6V2lkZ2V0OjpzZXRQbGF0Zm9ybVdpZGdldCk6CisgICAgICAg
IChXZWJDb3JlOjpXaWRnZXQ6OnRvcExldmVsUGxhdGZvcm1XaWRnZXQpOgorICAgICAgICAoV2Vi
Q29yZTo6V2lkZ2V0OjpzZXRUb3BMZXZlbFBsYXRmb3JtV2lkZ2V0KToKKyAgICAgICAgKiBwbGF0
Zm9ybS9oYWlrdS9XaWRnZXRIYWlrdS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBdXRvUGxhdGZv
cm1XaWRnZXRMb2NrZXI6OkF1dG9QbGF0Zm9ybVdpZGdldExvY2tlcik6CisgICAgICAgIChXZWJD
b3JlOjpBdXRvUGxhdGZvcm1XaWRnZXRMb2NrZXI6On5BdXRvUGxhdGZvcm1XaWRnZXRMb2NrZXIp
OgorICAgICAgICAoV2ViQ29yZTo6QXV0b1BsYXRmb3JtV2lkZ2V0TG9ja2VyOjppc0xvY2tlZCk6
CisgICAgICAgICAgICAtIGhlbHBlciBjbGFzcyBmb3IgbG9ja2luZyB0aGUgQlZpZXcgbG9vcGVy
IHRocmVhZCB3aXRoIGEgdGltZW91dAorICAgICAgICAoV2ViQ29yZTo6V2lkZ2V0OjpXaWRnZXQp
OgorICAgICAgICAoV2ViQ29yZTo6V2lkZ2V0OjpzZXRGb2N1cyk6CisgICAgICAgICAgICAtIE1h
a2Ugc3VyZSB0aGUgdG9wLWxldmVsIHZpZXcgcmVjZWl2ZXMga2V5Ym9hcmQgaW5wdXQuCisgICAg
ICAgIChXZWJDb3JlOjpXaWRnZXQ6OnNldEN1cnNvcik6CisgICAgICAgICAgICAtIFNldCB0aGUg
Y3Vyc29yIG9uIHRoZSB0b3AtbGV2ZWwgdmlldy4KKyAgICAgICAgKFdlYkNvcmU6OldpZGdldDo6
c2hvdyk6CisgICAgICAgIChXZWJDb3JlOjpXaWRnZXQ6OmhpZGUpOgorICAgICAgICAgICAgLSBE
b24ndCBzaG93L2hpZGUgdGhlIHRvcC1sZXZlbCB2aWV3LCBidXQgbWFrZSB0aGUgY29kZSBjb3Jy
ZWN0CisgICAgICAgICAgICAgIGZvciB3aGVuZXZlciB3ZSB3b3VsZCBtYXAgYW4gaW5kaXZpZHVh
bCBCVmlldyBwZXIgV2lkZ2V0LgorICAgICAgICAgICAgLSBVc2Ugc2V0U2VsZlZpc2libGUoKSBh
bmQgaXNQYXJlbnRWaXNpYmxlKCkgbGlrZSBpbiBvdGhlciBwb3J0cy4KKwogMjAxMC0wNC0xMCAg
QWRhbSBCYXJ0aCAgPGFiYXJ0aEB3ZWJraXQub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQuICBS
ZW5hbWUgbV9mb3JjZVNhbmRib3hGbGFncyB0byBtX2ZvcmNlZFNhbmRveEZsYWdzLCBhcwpJbmRl
eDogV2ViQ29yZS9wbGF0Zm9ybS9XaWRnZXQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRm
b3JtL1dpZGdldC5oCShyZXZpc2lvbiA1NzI3NCkKKysrIFdlYkNvcmUvcGxhdGZvcm0vV2lkZ2V0
LmgJKHdvcmtpbmcgY29weSkKQEAgLTIxLDcgKzIxLDcgQEAKICAqIFBST0ZJVFM7IE9SIEJVU0lO
RVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKICAqIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VAogICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAgKi8K
IAogI2lmbmRlZiBXaWRnZXRfaApAQCAtMTE3LDEzICsxMTcsMjAgQEAgcHVibGljOgogCiAgICAg
UGxhdGZvcm1XaWRnZXQgcGxhdGZvcm1XaWRnZXQoKSBjb25zdCB7IHJldHVybiBtX3dpZGdldDsg
fQogICAgIHZvaWQgc2V0UGxhdGZvcm1XaWRnZXQoUGxhdGZvcm1XaWRnZXQgd2lkZ2V0KQotICAg
IHsgCisgICAgewogICAgICAgICBpZiAod2lkZ2V0ICE9IG1fd2lkZ2V0KSB7CiAgICAgICAgICAg
ICByZWxlYXNlUGxhdGZvcm1XaWRnZXQoKTsKICAgICAgICAgICAgIG1fd2lkZ2V0ID0gd2lkZ2V0
OwogICAgICAgICAgICAgcmV0YWluUGxhdGZvcm1XaWRnZXQoKTsKICAgICAgICAgfQogICAgIH0K
KyNpZiBQTEFURk9STShIQUlLVSkKKyAgICBQbGF0Zm9ybVdpZGdldCB0b3BMZXZlbFBsYXRmb3Jt
V2lkZ2V0KCkgY29uc3QgeyByZXR1cm4gbV90b3BMZXZlbFBsYXRmb3JtV2lkZ2V0OyB9CisgICAg
dm9pZCBzZXRUb3BMZXZlbFBsYXRmb3JtV2lkZ2V0KFBsYXRmb3JtV2lkZ2V0IHdpZGdldCkKKyAg
ICB7CisgICAgICAgIG1fdG9wTGV2ZWxQbGF0Zm9ybVdpZGdldCA9IHdpZGdldDsKKyAgICB9Cisj
ZW5kaWYKIAogICAgIGludCB4KCkgY29uc3QgeyByZXR1cm4gZnJhbWVSZWN0KCkueCgpOyB9CiAg
ICAgaW50IHkoKSBjb25zdCB7IHJldHVybiBmcmFtZVJlY3QoKS55KCk7IH0KQEAgLTE2MSw3ICsx
NjgsNyBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIGJvb2wgaXNGcmFtZVZpZXcoKSBjb25zdCB7
IHJldHVybiBmYWxzZTsgfQogICAgIHZpcnR1YWwgYm9vbCBpc1BsdWdpblZpZXcoKSBjb25zdCB7
IHJldHVybiBmYWxzZTsgfQotICAgIC8vIEZJWE1FOiBUaGUgTWFjIHBsdWctaW4gY29kZSBzaG91
bGQgaW5oZXJpdCBmcm9tIFBsdWdpblZpZXcuIFdoZW4gdGhpcyBoYXBwZW5zIFBsdWdpbldpZGdl
dCBhbmQgUGx1Z2luVmlldyBjYW4gYmVjb21lIG9uZSBjbGFzcy4gCisgICAgLy8gRklYTUU6IFRo
ZSBNYWMgcGx1Zy1pbiBjb2RlIHNob3VsZCBpbmhlcml0IGZyb20gUGx1Z2luVmlldy4gV2hlbiB0
aGlzIGhhcHBlbnMgUGx1Z2luV2lkZ2V0IGFuZCBQbHVnaW5WaWV3IGNhbiBiZWNvbWUgb25lIGNs
YXNzLgogICAgIHZpcnR1YWwgYm9vbCBpc1BsdWdpbldpZGdldCgpIGNvbnN0IHsgcmV0dXJuIGZh
bHNlOyB9CiAgICAgdmlydHVhbCBib29sIGlzU2Nyb2xsYmFyKCkgY29uc3QgeyByZXR1cm4gZmFs
c2U7IH0KIApAQCAtMTc4LDcgKzE4NSw3IEBAIHB1YmxpYzoKICAgICAvLyB3aGVuIGNvbnZlcnRp
bmcgd2luZG93IHJlY3RzLgogICAgIEludFJlY3QgY29udmVydFRvQ29udGFpbmluZ1dpbmRvdyhj
b25zdCBJbnRSZWN0JikgY29uc3Q7CiAgICAgSW50UmVjdCBjb252ZXJ0RnJvbUNvbnRhaW5pbmdX
aW5kb3coY29uc3QgSW50UmVjdCYpIGNvbnN0OwotICAgIAorCiAgICAgSW50UG9pbnQgY29udmVy
dFRvQ29udGFpbmluZ1dpbmRvdyhjb25zdCBJbnRQb2ludCYpIGNvbnN0OwogICAgIEludFBvaW50
IGNvbnZlcnRGcm9tQ29udGFpbmluZ1dpbmRvdyhjb25zdCBJbnRQb2ludCYpIGNvbnN0OwogCkBA
IC0xODksNyArMTk2LDcgQEAgcHVibGljOgogCiAjaWYgUExBVEZPUk0oTUFDKQogICAgIE5TVmll
dyogZ2V0T3V0ZXJWaWV3KCkgY29uc3Q7Ci0gICAgCisKICAgICBzdGF0aWMgdm9pZCBiZWZvcmVN
b3VzZURvd24oTlNWaWV3KiwgV2lkZ2V0Kik7CiAgICAgc3RhdGljIHZvaWQgYWZ0ZXJNb3VzZURv
d24oTlNWaWV3KiwgV2lkZ2V0Kik7CiAKQEAgLTIwNywxMiArMjE0LDEyIEBAIHByaXZhdGU6CiAK
ICAgICB2b2lkIHJlbGVhc2VQbGF0Zm9ybVdpZGdldCgpOwogICAgIHZvaWQgcmV0YWluUGxhdGZv
cm1XaWRnZXQoKTsKLSAgICAKKwogICAgIC8vIFRoZXNlIG1ldGhvZHMgYXJlIHVzZWQgdG8gY29u
dmVydCBmcm9tIHRoZSByb290IHdpZGdldCB0byB0aGUgY29udGFpbmluZyB3aW5kb3csCiAgICAg
Ly8gd2hpY2ggaGFzIGJlaGF2aW9yIHRoYXQgbWF5IGRpZmZlciBiZXR3ZWVuIHBsYXRmb3JtcyAo
ZS5nLiBNYWMgdXNlcyBmbGlwcGVkIHdpbmRvdyBjb29yZGluYXRlcykuCiAgICAgc3RhdGljIElu
dFJlY3QgY29udmVydEZyb21Sb290VG9Db250YWluaW5nV2luZG93KGNvbnN0IFdpZGdldCogcm9v
dFdpZGdldCwgY29uc3QgSW50UmVjdCYpOwogICAgIHN0YXRpYyBJbnRSZWN0IGNvbnZlcnRGcm9t
Q29udGFpbmluZ1dpbmRvd1RvUm9vdChjb25zdCBXaWRnZXQqIHJvb3RXaWRnZXQsIGNvbnN0IElu
dFJlY3QmKTsKLSAgICAKKwogICAgIHN0YXRpYyBJbnRQb2ludCBjb252ZXJ0RnJvbVJvb3RUb0Nv
bnRhaW5pbmdXaW5kb3coY29uc3QgV2lkZ2V0KiByb290V2lkZ2V0LCBjb25zdCBJbnRQb2ludCYp
OwogICAgIHN0YXRpYyBJbnRQb2ludCBjb252ZXJ0RnJvbUNvbnRhaW5pbmdXaW5kb3dUb1Jvb3Qo
Y29uc3QgV2lkZ2V0KiByb290V2lkZ2V0LCBjb25zdCBJbnRQb2ludCYpOwogCkBAIC0yMjEsMTIg
KzIyOCwxNSBAQCBwcml2YXRlOgogICAgIFBsYXRmb3JtV2lkZ2V0IG1fd2lkZ2V0OwogICAgIGJv
b2wgbV9zZWxmVmlzaWJsZTsKICAgICBib29sIG1fcGFyZW50VmlzaWJsZTsKLSAgICAKKwogICAg
IEludFJlY3QgbV9mcmFtZTsgLy8gTm90IHVzZWQgd2hlbiBhIG5hdGl2ZSB3aWRnZXQgZXhpc3Rz
LgogCiAjaWYgUExBVEZPUk0oTUFDKQogICAgIFdpZGdldFByaXZhdGUqIG1fZGF0YTsKICNlbmRp
ZgorI2lmIFBMQVRGT1JNKEhBSUtVKQorICAgIFBsYXRmb3JtV2lkZ2V0IG1fdG9wTGV2ZWxQbGF0
Zm9ybVdpZGdldDsKKyNlbmRpZgogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRleDog
V2ViQ29yZS9wbGF0Zm9ybS9oYWlrdS9XaWRnZXRIYWlrdS5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vi
Q29yZS9wbGF0Zm9ybS9oYWlrdS9XaWRnZXRIYWlrdS5jcHAJKHJldmlzaW9uIDU3Mjc0KQorKysg
V2ViQ29yZS9wbGF0Zm9ybS9oYWlrdS9XaWRnZXRIYWlrdS5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTEsNSArMSw2IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAyMDA3IFJ5YW4gTGVhdmVuZ29vZCA8
bGVhdmVuZ29vZEBnbWFpbC5jb20+CisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgU3RlcGhhbiBBw59t
dXMgPHN1cGVyc3RpcHBpQGdteC5kZT4KICAqCiAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoK
QEAgLTI5LDE2ICszMCwzOCBAQAogI2luY2x1ZGUgIldpZGdldC5oIgogCiAjaW5jbHVkZSAiQ3Vy
c29yLmgiCi0jaW5jbHVkZSAiR3JhcGhpY3NDb250ZXh0LmgiCiAjaW5jbHVkZSAiSW50UmVjdC5o
IgogI2luY2x1ZGUgIk5vdEltcGxlbWVudGVkLmgiCi0jaW5jbHVkZSA8Q29udHJvbC5oPgogI2lu
Y2x1ZGUgPFZpZXcuaD4KIAotCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKK2NsYXNzIEF1dG9QbGF0
Zm9ybVdpZGdldExvY2tlciB7CitwdWJsaWM6CisgICAgQXV0b1BsYXRmb3JtV2lkZ2V0TG9ja2Vy
KFBsYXRmb3JtV2lkZ2V0IHdpZGdldCkKKyAgICAgICAgOiBtX3dpZGdldCh3aWRnZXQpCisgICAg
eworICAgICAgICBpZiAoIW1fd2lkZ2V0IHx8IG1fd2lkZ2V0LT5Mb2NrTG9vcGVyV2l0aFRpbWVv
dXQoNTAwMCkgIT0gQl9PSykKKyAgICAgICAgICAgIG1fd2lkZ2V0ID0gMDsKKyAgICB9CisKKyAg
ICB+QXV0b1BsYXRmb3JtV2lkZ2V0TG9ja2VyKCkKKyAgICB7CisgICAgICAgIGlmIChtX3dpZGdl
dCkKKyAgICAgICAgICAgIG1fd2lkZ2V0LT5VbmxvY2tMb29wZXIoKTsKKyAgICB9CisKKyAgICBi
b29sIGlzTG9ja2VkKCkgY29uc3QKKyAgICB7CisgICAgICAgIHJldHVybiBtX3dpZGdldDsKKyAg
ICB9CisKK3ByaXZhdGU6CisgICAgUGxhdGZvcm1XaWRnZXQgbV93aWRnZXQ7Cit9OworCiBXaWRn
ZXQ6OldpZGdldChQbGF0Zm9ybVdpZGdldCB3aWRnZXQpCisgICAgOiBtX3RvcExldmVsUGxhdGZv
cm1XaWRnZXQoMCkKIHsKICAgICBpbml0KHdpZGdldCk7CiB9CkBAIC01OSwyOSArODIsNDEgQEAg
dm9pZCBXaWRnZXQ6OnNldEZyYW1lUmVjdChjb25zdCBJbnRSZWN0JgogCiB2b2lkIFdpZGdldDo6
c2V0Rm9jdXMoKQogewotICAgIGlmIChwbGF0Zm9ybVdpZGdldCgpKQotICAgICAgICBwbGF0Zm9y
bVdpZGdldCgpLT5NYWtlRm9jdXMoKTsKKyAgICBBdXRvUGxhdGZvcm1XaWRnZXRMb2NrZXIgbG9j
a2VyKHRvcExldmVsUGxhdGZvcm1XaWRnZXQoKSk7CisgICAgaWYgKGxvY2tlci5pc0xvY2tlZCgp
KQorICAgICAgICB0b3BMZXZlbFBsYXRmb3JtV2lkZ2V0KCktPk1ha2VGb2N1cygpOwogfQogCiB2
b2lkIFdpZGdldDo6c2V0Q3Vyc29yKGNvbnN0IEN1cnNvciYgY3Vyc29yKQogewotICAgIGlmIChw
bGF0Zm9ybVdpZGdldCgpKQotICAgICAgICBwbGF0Zm9ybVdpZGdldCgpLT5TZXRWaWV3Q3Vyc29y
KGN1cnNvci5pbXBsKCkpOworICAgIEF1dG9QbGF0Zm9ybVdpZGdldExvY2tlciBsb2NrZXIodG9w
TGV2ZWxQbGF0Zm9ybVdpZGdldCgpKTsKKyAgICBpZiAobG9ja2VyLmlzTG9ja2VkKCkpCisgICAg
ICAgIHRvcExldmVsUGxhdGZvcm1XaWRnZXQoKS0+U2V0Vmlld0N1cnNvcihjdXJzb3IuaW1wbCgp
KTsKIH0KIAogdm9pZCBXaWRnZXQ6OnNob3coKQogewotICAgIGlmIChwbGF0Zm9ybVdpZGdldCgp
KQorICAgIHNldFNlbGZWaXNpYmxlKHRydWUpOworICAgIGlmICghaXNQYXJlbnRWaXNpYmxlKCkp
CisgICAgICAgIHJldHVybjsKKworICAgIEF1dG9QbGF0Zm9ybVdpZGdldExvY2tlciBsb2NrZXIo
cGxhdGZvcm1XaWRnZXQoKSk7CisgICAgaWYgKGxvY2tlci5pc0xvY2tlZCgpICYmIHBsYXRmb3Jt
V2lkZ2V0KCktPklzSGlkZGVuKCkpCiAgICAgICAgIHBsYXRmb3JtV2lkZ2V0KCktPlNob3coKTsK
IH0KIAogdm9pZCBXaWRnZXQ6OmhpZGUoKQogewotICAgIGlmIChwbGF0Zm9ybVdpZGdldCgpKQor
ICAgIHNldFNlbGZWaXNpYmxlKGZhbHNlKTsKKyAgICBpZiAoIWlzUGFyZW50VmlzaWJsZSgpKQor
ICAgICAgICByZXR1cm47CisKKyAgICBBdXRvUGxhdGZvcm1XaWRnZXRMb2NrZXIgbG9ja2VyKHBs
YXRmb3JtV2lkZ2V0KCkpOworICAgIGlmIChsb2NrZXIuaXNMb2NrZWQoKSAmJiAhcGxhdGZvcm1X
aWRnZXQoKS0+SXNIaWRkZW4oKSkKICAgICAgICAgcGxhdGZvcm1XaWRnZXQoKS0+SGlkZSgpOwog
fQogCi12b2lkIFdpZGdldDo6cGFpbnQoR3JhcGhpY3NDb250ZXh0KiBwLCBJbnRSZWN0IGNvbnN0
JiByKQordm9pZCBXaWRnZXQ6OnBhaW50KEdyYXBoaWNzQ29udGV4dCosIEludFJlY3QgY29uc3Qm
KQogewogICAgIG5vdEltcGxlbWVudGVkKCk7CiB9Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>