<?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>28865</bug_id>
          
          <creation_ts>2009-08-31 20:40:46 -0700</creation_ts>
          <short_desc>[Qt] Make cursor set cleaner in QtWebKit Api: eliminate SetCursorEvent hack.</short_desc>
          <delta_ts>2009-09-08 07:53:53 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit Qt</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>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</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>28862</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Antonio Gomes">tonikitoo</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>ariya.hidayat</cc>
    
    <cc>hausmann</cc>
    
    <cc>joseph.ligman</cc>
    
    <cc>kenneth</cc>
    
    <cc>laszlo.gombos</cc>
    
    <cc>tonikitoo</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>143772</commentid>
    <comment_count>0</comment_count>
    <who name="Antonio Gomes">tonikitoo</who>
    <bug_when>2009-08-31 20:40:46 -0700</bug_when>
    <thetext>[Background]

Instead of the default architecture flow commonly used when embedding through by QtWebKit API (QWebView -&gt; QWebPage -&gt; QWebFrame), one has the following: CustomWidget -&gt; QWebPage -&gt; QWebFrame (e.g. DUI&apos;s QFxWebView [1] or plasma&apos;s WebView [2])

[1] http://qt.gitorious.org/+qt-kinetic-developers/qt/kinetic/blobs/kinetic-declarativeui-gv/src/declarative/fx/qfxwebview.h
[2] http://api.kde.org/4.x-api/kdelibs-apidocs/plasma/html/classPlasma_1_1WebView.html

[Bug description]

currently it is very hacky the way cursors are set to the QApplication. The flow is +- :

1) an outer embedding widget (for example qwebview or any other custom web widget) receives mouse events (like the &apos;mousemove&apos; event)

2) mousemove event is sent to qwebpage (see QWebPage::event and then to QWebPagePrivate::mouseMoveEvent) and then to WebCore.

3) When there is a cursor change, WidgetQt::setCursor method is called (see quotation below).

#include &quot;qwebframe_p.h&quot; // &lt;-- that includes qwebpage_p.h
(...)
void Widget::setCursor(const Cursor&amp; cursor)
{
#ifndef QT_NO_CURSOR
    QWidget* widget = root()-&gt;hostWindow()-&gt;platformWindow();
(...)
    QCoreApplication::postEvent(widget, new SetCursorEvent(cursor.impl()));
#endif
(...)
}

4) 3_ sends an custom event back to QWebView and from within QWebView::event() method, we have:

void QWebView::event() {
(...)
#ifndef QT_NO_CURSOR
        } else if (e-&gt;type() == static_cast&lt;QEvent::Type&gt;(WebCore::SetCursorEvent::EventType)) {
            d-&gt;setCursor(static_cast&lt;WebCore::SetCursorEvent*&gt;(e)-&gt;cursor());
#if QT_VERSION &gt;= 0x040400
(...)

whereas a static_cast to a not exposed class happens. pontentially wrong things:

* in WidgetQt::setCursor method we have

    ...
    QWidget* widget = root()-&gt;hostWindow()-&gt;platformWindow();
    if (!widget)
        return;
    ...

here, it is mandatory that platformWindow() returns a QWidget, which can be problematic for non-QWidget subclasses (e.g. QGraphicsWidget subclass objects).

    ...
    QCoreApplication::postEvent(widget, new SetCursorEvent(cursor.impl()));
    ...

SetCursorEvent is defined in a private header, so this class wont be available together with other API headers. In QWebView it is not a problem, since it includes this private header, but it can be a problem on other situations, including DUI and plasma&apos;s qgraphicswidget approaches.

this API needs some better implementation, imho</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>143853</commentid>
    <comment_count>1</comment_count>
    <who name="Antonio Gomes">tonikitoo</who>
    <bug_when>2009-09-01 04:41:19 -0700</bug_when>
    <thetext>in addition, in my case for example, since hostWindow()-&gt;platformWindow() *has* to be a QWidget and we had a QGraphicsWidget (not a QWidget) subclass, I had:

1) to make the QGraphicsView-&gt;viewport() (note it is a QWidget) as the parent of my QWebPage 
2) Install an eventFilter to my viweport widget, to filter the SetCursorEvent event from WidgetQt.
3) Since SetCursorEvent is in a private header (qwebpage_p.h), I had to duplicate the class in my code and make static_cast&apos;s for things to work.

:(</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>143864</commentid>
    <comment_count>2</comment_count>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2009-09-01 05:37:20 -0700</bug_when>
    <thetext>first of all:

QCoreApplication::postEvent(widget, new SetCursorEvent(cursor.impl()));

The above call doesn&apos;t require a QWidget but merely a QObject (QWidget, QGraphicsWidget, ... are all QObjects)!

secondly: You do not need to duplicate the SetCursorEvent class when implementing this inside WebKit, and this definately is the right place to implement a QGraphicsItem based widget. You will see that my current patch doesn&apos;t duplicate the class.

Maybe changing a few things would make it work for you?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>143866</commentid>
    <comment_count>3</comment_count>
    <who name="Antonio Gomes">tonikitoo</who>
    <bug_when>2009-09-01 05:42:02 -0700</bug_when>
    <thetext>
&gt; QCoreApplication::postEvent(widget, new SetCursorEvent(cursor.impl()));

of course if does not, but if you do not assigneda QWidget as parent of it will fail in a static_cast and QWebPage hostWindow()-&gt;plaftormWidget() will be null ... so method will bail our and no cursor will be set at all.
 
&gt; The above call doesn&apos;t require a QWidget but merely a QObject (QWidget,
&gt; QGraphicsWidget, ... are all QObjects)!

that is a bug by itself.

&gt; secondly: You do not need to duplicate the SetCursorEvent class when
&gt; implementing this inside WebKit, and this definately is the right place to
&gt; implement a QGraphicsItem based widget. You will see that my current patch
&gt; doesn&apos;t duplicate the class.

it does not duplicate if it is inside Webkit, of course. but i do not care only about making things to work inside webkit. image you are an embedder ... and your code would not be in webkit ...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>143869</commentid>
    <comment_count>4</comment_count>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2009-09-01 05:49:55 -0700</bug_when>
    <thetext>You do not need to set the viewport() as the parent, setting it as the view of
the QWebPage should do the trick, and I actually do not find that that strange.

Maybe we could add a setView helper to QWebGraphicsItem, as a QGraphicsItem
isnt a view in itself, but would need one for showing cursors anyway.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>143871</commentid>
    <comment_count>5</comment_count>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2009-09-01 05:53:03 -0700</bug_when>
    <thetext>
&gt; of course if does not, but if you do not assigneda QWidget as parent of it will
&gt; fail in a static_cast and QWebPage hostWindow()-&gt;plaftormWidget() will be null
&gt; ... so method will bail our and no cursor will be set at all.

That makes a lot of sense. A hostWindow is required for showing cursors, that is how X works.

&gt; it does not duplicate if it is inside Webkit, of course. but i do not care only
&gt; about making things to work inside webkit. image you are an embedder ... and
&gt; your code would not be in webkit ...

That is true, but we discourage this and that is part of why we will contribute a new QWebGraphicsItem. Also, that is a very special use-case.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>145061</commentid>
    <comment_count>6</comment_count>
      <attachid>39126</attachid>
    <who name="Antonio Gomes">tonikitoo</who>
    <bug_when>2009-09-06 14:12:28 -0700</bug_when>
    <thetext>Created attachment 39126
patch 0.1

uploading the patch on behalf of Kenneth Christiansen</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>145063</commentid>
    <comment_count>7</comment_count>
    <who name="Antonio Gomes">tonikitoo</who>
    <bug_when>2009-09-06 14:14:03 -0700</bug_when>
    <thetext>it patch makes qwebgraphicsitem (see bug  28862) cursor&apos;s to work.  setting dep here ...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>145158</commentid>
    <comment_count>8</comment_count>
      <attachid>39126</attachid>
    <who name="Antonio Gomes">tonikitoo</who>
    <bug_when>2009-09-07 08:11:51 -0700</bug_when>
    <thetext>Comment on attachment 39126
patch 0.1

clearing review(?) flag to address simon&apos;s feedback on IRC:

&lt;tronical&gt; tonikitoo, kenneth: I have an idea for teh cursor patch
&lt;tronical&gt; tonikitoo, kenneth: I _love_ your idea of using a dynamic property instead of an event. that&apos;s indeed much more reusable for things like the graphicsitem than the custom event
&lt;tronical&gt; tonikitoo, kenneth: but currently you do setProperty(&quot;WebCoreCursor&quot;, cursor); and _then_ setCursor(cursor);
&lt;tronical&gt; tonikitoo, kenneth: instead it might be easier to distinguish between the two cases, webcore setting teh cursor and QWidget::unsetCursor() being called, by simply _not_ calling setCursor() from within WidgetQt.cpp
&lt;tronical&gt; tonikitoo, kenneth: and instead listening to DynamicPropertyChangeEvent in QWebView</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>145234</commentid>
    <comment_count>9</comment_count>
      <attachid>39163</attachid>
    <who name="Antonio Gomes">tonikitoo</who>
    <bug_when>2009-09-07 14:41:10 -0700</bug_when>
    <thetext>Created attachment 39163
patch 0.2 - cursor set only on QEvent::DynamicPropertyChange

first attempt to address simon&apos;s suggetion.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>145237</commentid>
    <comment_count>10</comment_count>
      <attachid>39164</attachid>
    <who name="Antonio Gomes">tonikitoo</who>
    <bug_when>2009-09-07 15:28:45 -0700</bug_when>
    <thetext>Created attachment 39164
patch 0.2.1 - cursor set only on QEvent::DynamicPropertyChange

same patch as 0.2 , but updated to tot.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>145238</commentid>
    <comment_count>11</comment_count>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2009-09-07 15:34:27 -0700</bug_when>
    <thetext>Using DynamicPropertyChange will not work for the QWebGraphicsItem so far, as the platformWidget returned is the QGraphicsView viewport (the last one who sent a event to the page), thus setCursor will work, but the DynamicPropertyChange will not.

So, I don&apos;t like this change unless we fix the platformWidget not to return who sent events, but the actual QWebPage wrapper (QWebView or QGraphicsView) - thus a QObject and not a QWidget.

I do not know if this is really desirable.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>145239</commentid>
    <comment_count>12</comment_count>
    <who name="Antonio Gomes">tonikitoo</who>
    <bug_when>2009-09-07 15:42:50 -0700</bug_when>
    <thetext>(In reply to comment #11)
&gt; Using DynamicPropertyChange will not work for the QWebGraphicsItem so far, as
&gt; the platformWidget returned is the QGraphicsView viewport (the last one who
&gt; sent a event to the page), thus setCursor will work, but the
&gt; DynamicPropertyChange will not.
&gt; 
&gt; So, I don&apos;t like this change unless we fix the platformWidget not to return who
&gt; sent events, but the actual QWebPage wrapper (QWebView or QGraphicsView) - thus
&gt; a QObject and not a QWidget
&gt; I do not know if this is really desirable.

hum , i see your concern. can not we install an event filter to qgraphicsview-&gt;viewport() and make the thing to happen there ?

kenneth, if simon does not agree w/ this patch as well, please feel free to un-obsolete the previous one and ignore my name in patch-by fields.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>145243</commentid>
    <comment_count>13</comment_count>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2009-09-07 15:54:13 -0700</bug_when>
    <thetext>
&gt; hum , i see your concern. can not we install an event filter to
&gt; qgraphicsview-&gt;viewport() and make the thing to happen there ?
&gt; 
&gt; kenneth, if simon does not agree w/ this patch as well, please feel free to
&gt; un-obsolete the previous one and ignore my name in patch-by fields.

As far as I understood it, it was a good suggestions from Simon&apos;s side, making it a bit easier for us, knowing when WebCore set the cursor and when it was set by the user.

Adding an eventfilter is really a bad workaround and I would avoid that at all costs. As you know from your old eventfilter patch, it is currently not possible to get notified by Qt when a scene gets / looses a view, and thus adding the eventfilter doesn&apos;t always work as expected as it depends on the call order of the app using QWebGraphicsItem.

I believe that it is right for the platformWidget to return the last widget who sent events to the QWebPage, as pointed out by Simon, as it is always used to act on events.

Maybe we need a way to get the QWebPage  or its view (QWebView or QWebGraphicsItem - QWidget or QGraphicsWidget) from within Widget in a similar way to get the platformWidget.

I think we can commit the first patch as it is, and then make a bug report for the remaining improvements/issues.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>145297</commentid>
    <comment_count>14</comment_count>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2009-09-08 02:40:17 -0700</bug_when>
    <thetext>(In reply to comment #11)
&gt; Using DynamicPropertyChange will not work for the QWebGraphicsItem so far, as
&gt; the platformWidget returned is the QGraphicsView viewport (the last one who
&gt; sent a event to the page), thus setCursor will work, but the
&gt; DynamicPropertyChange will not.
&gt; 
&gt; So, I don&apos;t like this change unless we fix the platformWidget not to return who
&gt; sent events, but the actual QWebPage wrapper (QWebView or QGraphicsView) - thus
&gt; a QObject and not a QWidget.
&gt; 
&gt; I do not know if this is really desirable.

I agree it won&apos;t work if the property is always set on the QWidget that platformWidget() returns. We _want_ to set the property on the visual wrapper around QWebPage, which can be either a QWebView (what platformWidget() returns) or the QWebGraphicsItem. The latter is also a QObject and therefore supports dynamic properties. We just need to somehow make WidgetQt::setCursor operate on a QObject instead of a QWidget for it to work with the graphics item. And of course we need to map it to QGraphicsItem&apos;s setCursor/unsetCursor :)

I believe in WebCore/manual-tests there&apos;s a few tests (.html files) that allow testing the custom cursors.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>145298</commentid>
    <comment_count>15</comment_count>
      <attachid>39164</attachid>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2009-09-08 02:43:37 -0700</bug_when>
    <thetext>Comment on attachment 39164
patch 0.2.1 - cursor set only on QEvent::DynamicPropertyChange

r=me

&gt; +            // might be a QWidget::unserCursor()

Please fix the typo when landing :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>145299</commentid>
    <comment_count>16</comment_count>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2009-09-08 02:44:06 -0700</bug_when>
    <thetext>(In reply to comment #13)
&gt; I think we can commit the first patch as it is, and then make a bug report for
&gt; the remaining improvements/issues.

I fully agree :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>145333</commentid>
    <comment_count>17</comment_count>
      <attachid>39182</attachid>
    <who name="Antonio Gomes">tonikitoo</who>
    <bug_when>2009-09-08 06:59:49 -0700</bug_when>
    <thetext>Created attachment 39182
(landed in r48154) patch 0.2.2 - cursor set only on QEvent::DynamicPropertyChange 

patch ready to land (typo fixed, updated changelogs).

same as patch 0.2.1 but updated to tot.

ps: do we need to r+ this again ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>145341</commentid>
    <comment_count>18</comment_count>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2009-09-08 07:43:28 -0700</bug_when>
    <thetext>Landed in r48154</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>145343</commentid>
    <comment_count>19</comment_count>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2009-09-08 07:44:52 -0700</bug_when>
    <thetext>(In reply to comment #17)
&gt; Created an attachment (id=39182) [details]
&gt; patch 0.2.2 - cursor set only on QEvent::DynamicPropertyChange 
&gt; 
&gt; patch ready to land (typo fixed, updated changelogs).
&gt; 
&gt; same as patch 0.2.1 but updated to tot.
&gt; 
&gt; ps: do we need to r+ this again ?

Ah no, I thought you had received your commit access already :)

I&apos;ve landed the latest patch.

Setting the commit-queue+ flag won&apos;t automatically commit the patch unless it has received an r+.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>145345</commentid>
    <comment_count>20</comment_count>
    <who name="Antonio Gomes">tonikitoo</who>
    <bug_when>2009-09-08 07:52:17 -0700</bug_when>
    <thetext>thanks simon.

marking as &apos;fixed&apos;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>145347</commentid>
    <comment_count>21</comment_count>
      <attachid>39164</attachid>
    <who name="Antonio Gomes">tonikitoo</who>
    <bug_when>2009-09-08 07:53:53 -0700</bug_when>
    <thetext>Comment on attachment 39164
patch 0.2.1 - cursor set only on QEvent::DynamicPropertyChange

clearing the r+ flag</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>39126</attachid>
            <date>2009-09-06 14:12:28 -0700</date>
            <delta_ts>2009-09-07 14:41:50 -0700</delta_ts>
            <desc>patch 0.1</desc>
            <filename>0003--WebCore-Make-the-WidgetQt-set-the-cursor-direct.patch</filename>
            <type>text/plain</type>
            <size>7133</size>
            <attacher name="Antonio Gomes">tonikitoo</attacher>
            
              <data encoding="base64">RnJvbSBkYzRkNmFjMjhmNjhmNzcxODg4MzM4ZDU3NjVlMTIyOWQwZGJiZWFkIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBLZW5uZXRoIFJvaGRlIENocmlzdGlhbnNlbiA8a2VubmV0aEB3
ZWJraXQub3JnPgpEYXRlOiBGcmksIDQgU2VwIDIwMDkgMTY6MzM6MTAgLTAzMDAKU3ViamVjdDog
W1BBVENIXSAgICAgV2ViQ29yZTogTWFrZSB0aGUgV2lkZ2V0UXQgc2V0IHRoZSBjdXJzb3IgZGly
ZWN0bHkgb24gdGhlIFFXaWRnZXQKICAgICBhbmQgc2F2ZSB0aGUgUUN1cnNvciBhcyBhIHByb3Bl
cnR5IHNvIHRoYXQgd2hlbiB1bnNldEN1cnNvcigpCiAgICAgaXMgY2FsbGVkIG9uIHRoZSBRV2lk
Z2V0IHdlIGNhbiBmYWxsYmFja3RvIHRoZSBjdXJzb3Igc2V0CiAgICAgYnkgV2ViQ29yZS4KCiAg
ICBQYXRjaCBieSBLZW5uZXRoIFJvaGRlIENocmlzdGlhbnNlbiA8a2VubmV0aEB3ZWJraXQub3Jn
PiBvbiAyMDA5LTA5LTA0CiAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KCiAgICAqIHBs
YXRmb3JtL3F0L1dpZGdldFF0LmNwcDoKICAgIChXZWJDb3JlOjpXaWRnZXQ6OnNldEN1cnNvcik6
CgogICAgV2ViS2l0L3F0OiBDbGVhbiB1cCB0aGUgdW5zZXJDdXJzb3IgaGFjayB0byB1c2UgdGhl
IFFDdXJzb3Igc2V0CiAgICBhcyBhIHByb3BlcnR5IG9mIHRoZSBRV2lkZ2V0IGJ5IFdlYkNvcmU6
OldpZGdldFF0LgoKICAgIFBhdGNoIGJ5IEtlbm5ldGggUm9oZGUgQ2hyaXN0aWFuc2VuIDxrZW5u
ZXRoQHdlYmtpdC5vcmc+IG9uIDIwMDktMDktMDQKICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgoKICAgIFJlbW92ZSBhbGwgY29kZSB0aGF0IGFyZSBubyBsb25nZXIgbmVjZXNzYXJ5IGZv
ciBnZXR0aW5nCiAgICBjdXJzb3IgY2hhbmdlIGV2ZW50cy4KCiAgICAqIEFwaS9xd2VicGFnZS5j
cHA6CiAgICAqIEFwaS9xd2VicGFnZV9wLmg6CiAgICAqIEFwaS9xd2Vidmlldy5jcHA6CiAgICAo
UVdlYlZpZXdQcml2YXRlOjpRV2ViVmlld1ByaXZhdGUpOgogICAgKFFXZWJWaWV3OjpldmVudCk6
Ci0tLQogV2ViQ29yZS9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgfCAgIDExICsrKysrKysrKwog
V2ViQ29yZS9wbGF0Zm9ybS9xdC9XaWRnZXRRdC5jcHAgfCAgICAzICstCiBXZWJLaXQvcXQvQXBp
L3F3ZWJwYWdlLmNwcCAgICAgICB8ICAgMTIgLS0tLS0tLS0tLQogV2ViS2l0L3F0L0FwaS9xd2Vi
cGFnZV9wLmggICAgICAgfCAgIDEyIC0tLS0tLS0tLS0KIFdlYktpdC9xdC9BcGkvcXdlYnZpZXcu
Y3BwICAgICAgIHwgICA0NCArKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQog
V2ViS2l0L3F0L0NoYW5nZUxvZyAgICAgICAgICAgICAgfCAgIDE3ICsrKysrKysrKysrKysrCiA2
IGZpbGVzIGNoYW5nZWQsIDM4IGluc2VydGlvbnMoKyksIDYxIGRlbGV0aW9ucygtKQoKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMWNhNjkz
Mi4uOTgwYTAxYyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2ViQ29yZS9D
aGFuZ2VMb2cKQEAgLTIsNiArMiwxNyBAQAogCiAgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgogCisgICAgICAgIE1ha2UgdGhlIFdpZGdldFF0IHNldCB0aGUgY3Vyc29yIGRpcmVj
dGx5IG9uIHRoZSBRV2lkZ2V0CisgICAgICAgIGFuZCBzYXZlIHRoZSBRQ3Vyc29yIGFzIGEgcHJv
cGVydHkgc28gdGhhdCB3aGVuIHVuc2V0Q3Vyc29yKCkKKyAgICAgICAgaXMgY2FsbGVkIG9uIHRo
ZSBRV2lkZ2V0IHdlIGNhbiBmYWxsYmFja3RvIHRoZSBjdXJzb3Igc2V0CisgICAgICAgIGJ5IFdl
YkNvcmUuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9xdC9XaWRnZXRRdC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpXaWRnZXQ6OnNldEN1cnNvcik6CisKKzIwMDktMDktMDQgIEtlbm5ldGggUm9oZGUg
Q2hyaXN0aWFuc2VuICA8a2VubmV0aEB3ZWJraXQub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgogICAgICAgICBBZGQgdGhlIHF3ZWJncmFwaGljc2l0ZW0uY3BwIHRv
IHRoZSBidWlsZCBzeXN0ZW0uCiAKICAgICAgICAgKiBXZWJDb3JlLnBybzoKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvcGxhdGZvcm0vcXQvV2lkZ2V0UXQuY3BwIGIvV2ViQ29yZS9wbGF0Zm9ybS9xdC9X
aWRnZXRRdC5jcHAKaW5kZXggMGZiNmMzNy4uMjM4NzYwZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9w
bGF0Zm9ybS9xdC9XaWRnZXRRdC5jcHAKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9xdC9XaWRnZXRR
dC5jcHAKQEAgLTg5LDcgKzg5LDggQEAgdm9pZCBXaWRnZXQ6OnNldEN1cnNvcihjb25zdCBDdXJz
b3ImIGN1cnNvcikKICAgICBpZiAoIWN1cnNvci5pbXBsKCkuYml0bWFwKCkgJiYgd2lkZ2V0LT5j
dXJzb3IoKS5zaGFwZSgpID09IGN1cnNvci5pbXBsKCkuc2hhcGUoKSkKICAgICAgICAgcmV0dXJu
OwogCi0gICAgUUNvcmVBcHBsaWNhdGlvbjo6cG9zdEV2ZW50KHdpZGdldCwgbmV3IFNldEN1cnNv
ckV2ZW50KGN1cnNvci5pbXBsKCkpKTsKKyAgICB3aWRnZXQtPnNldFByb3BlcnR5KCJXZWJDb3Jl
Q3Vyc29yIiwgY3Vyc29yLmltcGwoKSk7CisgICAgd2lkZ2V0LT5zZXRDdXJzb3IoY3Vyc29yLmlt
cGwoKSk7CiAjZW5kaWYKIH0KIApkaWZmIC0tZ2l0IGEvV2ViS2l0L3F0L0FwaS9xd2VicGFnZS5j
cHAgYi9XZWJLaXQvcXQvQXBpL3F3ZWJwYWdlLmNwcAppbmRleCAzNDFlZWVkLi43MjRkZDVlIDEw
MDY0NAotLS0gYS9XZWJLaXQvcXQvQXBpL3F3ZWJwYWdlLmNwcAorKysgYi9XZWJLaXQvcXQvQXBp
L3F3ZWJwYWdlLmNwcApAQCAtMjI2LDE4ICsyMjYsNiBAQCBjb25zdCBjaGFyKiBRV2ViUGFnZVBy
aXZhdGU6OmVkaXRvckNvbW1hbmRGb3JXZWJBY3Rpb25zKFFXZWJQYWdlOjpXZWJBY3Rpb24gYWN0
aQogICAgIHJldHVybiAwOwogfQogCi0jaWZuZGVmIFFUX05PX0NVUlNPUgotU2V0Q3Vyc29yRXZl
bnQ6OlNldEN1cnNvckV2ZW50KGNvbnN0IFFDdXJzb3ImIGN1cnNvcikKLSAgICA6IFFFdmVudChz
dGF0aWNfY2FzdDxRRXZlbnQ6OlR5cGU+KEV2ZW50VHlwZSkpCi0gICAgLCBtX2N1cnNvcihjdXJz
b3IpCi17fQotCi1RQ3Vyc29yIFNldEN1cnNvckV2ZW50OjpjdXJzb3IoKSBjb25zdAotewotICAg
IHJldHVybiBtX2N1cnNvcjsKLX0KLSNlbmRpZgotCiAvLyBJZiB5b3UgY2hhbmdlIHRoaXMgbWFr
ZSBzdXJlIHRvIGFsc28gYWRqdXN0IHRoZSBkb2NzIGZvciBRV2ViUGFnZTo6dXNlckFnZW50Rm9y
VXJsCiAjZGVmaW5lIFdFQktJVF9WRVJTSU9OICI1MjcrIgogCmRpZmYgLS1naXQgYS9XZWJLaXQv
cXQvQXBpL3F3ZWJwYWdlX3AuaCBiL1dlYktpdC9xdC9BcGkvcXdlYnBhZ2VfcC5oCmluZGV4IDIy
OTEzYWMuLmUzMGM0ZDEgMTAwNjQ0Ci0tLSBhL1dlYktpdC9xdC9BcGkvcXdlYnBhZ2VfcC5oCisr
KyBiL1dlYktpdC9xdC9BcGkvcXdlYnBhZ2VfcC5oCkBAIC00NiwxOCArNDYsNiBAQCBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgTm9kZTsKICAgICBjbGFzcyBQYWdlOwogICAgIGNsYXNz
IEZyYW1lOwotCi0jaWZuZGVmIFFUX05PX0NVUlNPUgotICAgIGNsYXNzIFNldEN1cnNvckV2ZW50
IDogcHVibGljIFFFdmVudCB7Ci0gICAgcHVibGljOgotICAgICAgICBzdGF0aWMgY29uc3QgaW50
IEV2ZW50VHlwZSA9IDcyNDsKLSAgICAgICAgU2V0Q3Vyc29yRXZlbnQoY29uc3QgUUN1cnNvciYp
OwotCi0gICAgICAgIFFDdXJzb3IgY3Vyc29yKCkgY29uc3Q7Ci0gICAgcHJpdmF0ZToKLSAgICAg
ICAgUUN1cnNvciBtX2N1cnNvcjsKLSAgICB9OwotI2VuZGlmCiB9CiAKIFFUX0JFR0lOX05BTUVT
UEFDRQpkaWZmIC0tZ2l0IGEvV2ViS2l0L3F0L0FwaS9xd2Vidmlldy5jcHAgYi9XZWJLaXQvcXQv
QXBpL3F3ZWJ2aWV3LmNwcAppbmRleCBlMGUwNzNlLi5jYTc3NjAwIDEwMDY0NAotLS0gYS9XZWJL
aXQvcXQvQXBpL3F3ZWJ2aWV3LmNwcAorKysgYi9XZWJLaXQvcXQvQXBpL3F3ZWJ2aWV3LmNwcApA
QCAtMzYsMTAgKzM2LDYgQEAgcHVibGljOgogICAgICAgICA6IHZpZXcodmlldykKICAgICAgICAg
LCBwYWdlKDApCiAgICAgICAgICwgcmVuZGVySGludHMoUVBhaW50ZXI6OlRleHRBbnRpYWxpYXNp
bmcpCi0jaWZuZGVmIFFUX05PX0NVUlNPUgotICAgICAgICAsIGN1cnNvclNldEJ5V2ViQ29yZShm
YWxzZSkKLSAgICAgICAgLCB1c2VzV2ViQ29yZUN1cnNvcih0cnVlKQotI2VuZGlmCiAgICAge30K
IAogICAgIHZvaWQgX3FfcGFnZURlc3Ryb3llZCgpOwpAQCAtNDgsMjggKzQ0LDYgQEAgcHVibGlj
OgogICAgIFFXZWJQYWdlICpwYWdlOwogCiAgICAgUVBhaW50ZXI6OlJlbmRlckhpbnRzIHJlbmRl
ckhpbnRzOwotCi0jaWZuZGVmIFFUX05PX0NVUlNPUgotICAgIC8qCi0gICAgICogV2Uga2VlcCB0
cmFjayBvZiBpZiB3ZSBoYXZlIGNhbGxlZCBzZXRDdXJzb3IgYW5kIGlmIHRoZSBDdXJzb3JDaGFu
Z2UKLSAgICAgKiBldmVudCBpcyBzZW50IGR1ZSBvdXIgc2V0Q3Vyc29yIGNhbGwgYW5kIGlmIHdl
IGN1cnJlbnRseSB1c2UgdGhlIFdlYkNvcmUKLSAgICAgKiBDdXJzb3IgYW5kIHVzZSBpdCB0byBk
ZWNpZGUgaWYgd2UgY2FuIHVwZGF0ZSB0byBhbm90aGVyIFdlYkNvcmUgQ3Vyc29yLgotICAgICAq
LwotICAgIGJvb2wgY3Vyc29yU2V0QnlXZWJDb3JlOwotICAgIGJvb2wgdXNlc1dlYkNvcmVDdXJz
b3I7Ci0KLSAgICB2b2lkIHNldEN1cnNvcihjb25zdCBRQ3Vyc29yJiBuZXdDdXJzb3IpCi0gICAg
ewotICAgICAgICB3ZWJDb3JlQ3Vyc29yID0gbmV3Q3Vyc29yOwotCi0gICAgICAgIGlmICh1c2Vz
V2ViQ29yZUN1cnNvcikgewotICAgICAgICAgICAgY3Vyc29yU2V0QnlXZWJDb3JlID0gdHJ1ZTsK
LSAgICAgICAgICAgIHZpZXctPnNldEN1cnNvcih3ZWJDb3JlQ3Vyc29yKTsKLSAgICAgICAgfQot
ICAgIH0KLQotICAgIFFDdXJzb3Igd2ViQ29yZUN1cnNvcjsKLSNlbmRpZgogfTsKIAogdm9pZCBR
V2ViVmlld1ByaXZhdGU6Ol9xX3BhZ2VEZXN0cm95ZWQoKQpAQCAtNzA0LDE4ICs2NzgsMTYgQEAg
Ym9vbCBRV2ViVmlldzo6ZXZlbnQoUUV2ZW50ICplKQogICAgICAgICBpZiAoZS0+dHlwZSgpID09
IFFFdmVudDo6U2hvcnRjdXRPdmVycmlkZSkgewogICAgICAgICAgICAgZC0+cGFnZS0+ZXZlbnQo
ZSk7CiAjaWZuZGVmIFFUX05PX0NVUlNPUgotICAgICAgICB9IGVsc2UgaWYgKGUtPnR5cGUoKSA9
PSBzdGF0aWNfY2FzdDxRRXZlbnQ6OlR5cGU+KFdlYkNvcmU6OlNldEN1cnNvckV2ZW50OjpFdmVu
dFR5cGUpKSB7Ci0gICAgICAgICAgICBkLT5zZXRDdXJzb3Ioc3RhdGljX2Nhc3Q8V2ViQ29yZTo6
U2V0Q3Vyc29yRXZlbnQqPihlKS0+Y3Vyc29yKCkpOwogI2lmIFFUX1ZFUlNJT04gPj0gMHgwNDA0
MDAKICAgICAgICAgfSBlbHNlIGlmIChlLT50eXBlKCkgPT0gUUV2ZW50OjpDdXJzb3JDaGFuZ2Up
IHsKLSAgICAgICAgICAgIC8vIE9rYXkgd2UgbWlnaHQgdXNlIHRoZSBXZWJDb3JlIEN1cnNvciBu
b3cuCi0gICAgICAgICAgICBkLT51c2VzV2ViQ29yZUN1cnNvciA9IGQtPmN1cnNvclNldEJ5V2Vi
Q29yZTsKLSAgICAgICAgICAgIGQtPmN1cnNvclNldEJ5V2ViQ29yZSA9IGZhbHNlOwotCi0gICAg
ICAgICAgICAvLyBHbyBiYWNrIHRvIHRoZSBXZWJDb3JlIEN1cnNvci4gUVdpZGdldDo6dW5zZXRD
dXJzb3IgaXMgYXBwcm9taXhhdGVkIHdpdGggdGhpcwotICAgICAgICAgICAgaWYgKCFkLT51c2Vz
V2ViQ29yZUN1cnNvciAmJiBjdXJzb3IoKS5zaGFwZSgpID09IFF0OjpBcnJvd0N1cnNvcikgewot
ICAgICAgICAgICAgICAgIGQtPnVzZXNXZWJDb3JlQ3Vyc29yID0gdHJ1ZTsKLSAgICAgICAgICAg
ICAgICBkLT5zZXRDdXJzb3IoZC0+d2ViQ29yZUN1cnNvcik7CisgICAgICAgICAgICAvLyBtaWdo
dCBiZSBhIFFXaWRnZXQ6OnVuc2VyQ3Vyc29yKCkKKyAgICAgICAgICAgIGlmIChjdXJzb3IoKS5z
aGFwZSgpID09IFF0OjpBcnJvd0N1cnNvcikgeworICAgICAgICAgICAgICAgIFFWYXJpYW50IHBy
b3AgPSBwcm9wZXJ0eSgiV2ViQ29yZUN1cnNvciIpOworICAgICAgICAgICAgICAgIGlmIChwcm9w
LmlzVmFsaWQoKSkgeworICAgICAgICAgICAgICAgICAgICBRQ3Vyc29yIHdlYkNvcmVDdXJzb3Ig
PSBxdmFyaWFudF9jYXN0PFFDdXJzb3I+KHByb3ApOworICAgICAgICAgICAgICAgICAgICBpZiAo
d2ViQ29yZUN1cnNvci5zaGFwZSgpICE9IFF0OjpBcnJvd0N1cnNvcikKKyAgICAgICAgICAgICAg
ICAgICAgICAgIHNldEN1cnNvcih3ZWJDb3JlQ3Vyc29yKTsKKyAgICAgICAgICAgICAgICB9CiAg
ICAgICAgICAgICB9CiAjZW5kaWYKICNlbmRpZgpkaWZmIC0tZ2l0IGEvV2ViS2l0L3F0L0NoYW5n
ZUxvZyBiL1dlYktpdC9xdC9DaGFuZ2VMb2cKaW5kZXggNGQ1NDE1OC4uYmVlODE5MyAxMDA2NDQK
LS0tIGEvV2ViS2l0L3F0L0NoYW5nZUxvZworKysgYi9XZWJLaXQvcXQvQ2hhbmdlTG9nCkBAIC0y
LDYgKzIsMjMgQEAKIAogICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KIAorICAg
ICAgICBDbGVhbiB1cCB0aGUgdW5zZXJDdXJzb3IgaGFjayB0byB1c2UgdGhlIFFDdXJzb3Igc2V0
CisgICAgICAgIGFzIGEgcHJvcGVydHkgb2YgdGhlIFFXaWRnZXQgYnkgV2ViQ29yZTo6V2lkZ2V0
UXQuCisKKyAgICAgICAgUmVtb3ZlIGFsbCBjb2RlIHRoYXQgYXJlIG5vIGxvbmdlciBuZWNlc3Nh
cnkgZm9yIGdldHRpbmcKKyAgICAgICAgY3Vyc29yIGNoYW5nZSBldmVudHMuCisKKworICAgICAg
ICAqIEFwaS9xd2VicGFnZS5jcHA6CisgICAgICAgICogQXBpL3F3ZWJwYWdlX3AuaDoKKyAgICAg
ICAgKiBBcGkvcXdlYnZpZXcuY3BwOgorICAgICAgICAoUVdlYlZpZXdQcml2YXRlOjpRV2ViVmll
d1ByaXZhdGUpOgorICAgICAgICAoUVdlYlZpZXc6OmV2ZW50KToKKworMjAwOS0wOS0wNCAgS2Vu
bmV0aCBSb2hkZSBDaHJpc3RpYW5zZW4gIDxrZW5uZXRoQHdlYmtpdC5vcmc+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKICAgICAgICAgQWRkIHN1cHBvcnQgZm9yIGhh
bmRsaW5nIFFHcmFwaGljc1NjZW5lIGV2ZW50cy4KIAogICAgICAgICBBZGQgYSBuZXcgUUdyYXBo
aWNzV2lkZ2V0IGJhc2VkIHZlcnNpb24gb2YgdGhlICJRV2ViVmlldyIgKHBhcnQgSUkpCi0tIAox
LjYuMC40Cgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>39163</attachid>
            <date>2009-09-07 14:41:10 -0700</date>
            <delta_ts>2009-09-07 15:28:45 -0700</delta_ts>
            <desc>patch 0.2 - cursor set only on QEvent::DynamicPropertyChange</desc>
            <filename>0003--WebCore-Save-the-QCursor-as-a-property-in-WebKi.patch</filename>
            <type>text/plain</type>
            <size>8481</size>
            <attacher name="Antonio Gomes">tonikitoo</attacher>
            
              <data encoding="base64">RnJvbSAxY2MxNGJkMTU3NTJmM2M0ZDI5MDYzZGU0MDljY2FlNjVlZTljYmVlIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBLZW5uZXRoIFJvaGRlIENocmlzdGlhbnNlbiA8a2VubmV0aEB3
ZWJraXQub3JnPgpEYXRlOiBGcmksIDQgU2VwIDIwMDkgMTY6MzM6MTAgLTAzMDAKU3ViamVjdDog
W1BBVENIXSAgICAgV2ViQ29yZTogU2F2ZSB0aGUgUUN1cnNvciBhcyBhIHByb3BlcnR5IGluIFdl
YktpdFF0OjpzZXRDdXJzb3IKICAgICBhbmQgYWN0dWFsbHkgY2hhbmdlIHRoZSBjdXJzb3IgaW4g
UVdlYlZpZXc6OmV2ZW50KCkgYnkgbWFraW5nIHVzZQogICAgIG9mIHRoZSBRRXZlbnQ6OkR5bmFt
aWNQcm9wZXJ0eUNoYW5nZSBldmVudCB0eXBlLgogICAgIFdoZW4gdW5zZXRDdXJzb3IoKSBpcyBj
YWxsZWQgb24gdGhlIFFXaWRnZXQgd2UgY2FuIGZhbGxiYWNrIHRvCiAgICAgdGhlIGN1cnNvciBz
ZXQgYnkgV2ViQ29yZS4KCiAgICBQYXRjaCBieSBLZW5uZXRoIFJvaGRlIENocmlzdGlhbnNlbiA8
a2VubmV0aEB3ZWJraXQub3JnPiBhbmQKICAgICAgICAgICAgIEFudG9uaW8gR29tZXMgPGFudG9u
aW8uZ29tZXNAb3BlbmJvc3NhLm9yZz4gb24gMjAwOS0wOS0wNwogICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCgogICAgKiBwbGF0Zm9ybS9xdC9XaWRnZXRRdC5jcHA6CiAgICAoV2ViQ29y
ZTo6V2lkZ2V0OjpzZXRDdXJzb3IpOgoKICAgIFdlYktpdC9xdDogQ2xlYW4gdXAgdGhlIHVuc2Vy
Q3Vyc29yIGhhY2sgdG8gdXNlIHRoZSBRQ3Vyc29yIHNldAogICAgYXMgYSBwcm9wZXJ0eSBvZiB0
aGUgUVdpZGdldCBieSBXZWJDb3JlOjpXaWRnZXRRdC4KCiAgICBQYXRjaCBieSBLZW5uZXRoIFJv
aGRlIENocmlzdGlhbnNlbiA8a2VubmV0aEB3ZWJraXQub3JnPiBhbmQKICAgICAgICAgICAgIEFu
dG9uaW8gR29tZXMgPGFudG9uaW8uZ29tZXNAb3BlbmJvc3NhLm9yZz4gb24gMjAwOS0wOS0wNwog
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCgogICAgUmVtb3ZlIGFsbCBjb2RlIHRoYXQg
YXJlIG5vIGxvbmdlciBuZWNlc3NhcnkgZm9yIGdldHRpbmcKICAgIGN1cnNvciBjaGFuZ2UgZXZl
bnRzLgoKICAgICogQXBpL3F3ZWJwYWdlLmNwcDoKICAgICogQXBpL3F3ZWJwYWdlX3AuaDoKICAg
ICogQXBpL3F3ZWJ2aWV3LmNwcDoKICAgIChRV2ViVmlld1ByaXZhdGU6OlFXZWJWaWV3UHJpdmF0
ZSk6CiAgICAoUVdlYlZpZXc6OmV2ZW50KToKLS0tCiBXZWJDb3JlL0NoYW5nZUxvZyAgICAgICAg
ICAgICAgICB8ICAgMjAgKysrKysrKysrKysrKy0KIFdlYkNvcmUvcGxhdGZvcm0vcXQvV2lkZ2V0
UXQuY3BwIHwgICAgMiArLQogV2ViS2l0L3F0L0FwaS9xd2VicGFnZS5jcHAgICAgICAgfCAgIDEy
IC0tLS0tLS0tCiBXZWJLaXQvcXQvQXBpL3F3ZWJwYWdlX3AuaCAgICAgICB8ICAgMTIgLS0tLS0t
LS0KIFdlYktpdC9xdC9BcGkvcXdlYnZpZXcuY3BwICAgICAgIHwgICA1MyArKysrKysrKysrKyst
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiBXZWJLaXQvcXQvQ2hhbmdlTG9nICAgICAgICAgICAg
ICB8ICAgMjIgKysrKysrKysrKysrKysrCiA2IGZpbGVzIGNoYW5nZWQsIDU5IGluc2VydGlvbnMo
KyksIDYyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKaW5kZXggMWNhNjkzMi4uMjhlMmRjNyAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsNyArMSwyNSBAQAotMjAw
OS0wOS0wNCAgS2VubmV0aCBSb2hkZSBDaHJpc3RpYW5zZW4gIDxrZW5uZXRoQHdlYmtpdC5vcmc+
CisyMDA5LTA5LTA3ICBLZW5uZXRoIFJvaGRlIENocmlzdGlhbnNlbiAgPGtlbm5ldGhAd2Via2l0
Lm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KIAorICAgICAgICBb
UXRdIE1ha2UgY3Vyc29yIHNldCBjbGVhbmVyIGluIFF0V2ViS2l0IEFwaTogZWxpbWluYXRlIFNl
dEN1cnNvckV2ZW50IGhhY2suCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yODg2NQorCisgICAgICAgIFNhdmUgdGhlIFFDdXJzb3IgYXMgYSBwcm9wZXJ0
eSBpbiBXZWJLaXRRdDo6c2V0Q3Vyc29yCisgICAgICAgIGFuZCBhY3R1YWxseSBjaGFuZ2UgdGhl
IGN1cnNvciBpbiBRV2ViVmlldzo6ZXZlbnQoKSBieSBtYWtpbmcgdXNlCisgICAgICAgIG9mIHRo
ZSBRRXZlbnQ6OkR5bmFtaWNQcm9wZXJ0eUNoYW5nZSBldmVudCB0eXBlLgorICAgICAgICBXaGVu
IHVuc2V0Q3Vyc29yKCkgaXMgY2FsbGVkIG9uIHRoZSBRV2lkZ2V0IHdlIGNhbiBmYWxsYmFjayB0
bworICAgICAgICB0aGUgY3Vyc29yIHNldCBieSBXZWJDb3JlLgorCisgICAgICAgIFBhdGNoIGJ5
IEtlbm5ldGggUm9oZGUgQ2hyaXN0aWFuc2VuIDxrZW5uZXRoQHdlYmtpdC5vcmc+IGFuZAorICAg
ICAgICAgICAgICAgICBBbnRvbmlvIEdvbWVzIDxhbnRvbmlvLmdvbWVzQG9wZW5ib3NzYS5vcmc+
IG9uIDIwMDktMDktMDcKKworICAgICAgICAqIHBsYXRmb3JtL3F0L1dpZGdldFF0LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OldpZGdldDo6c2V0Q3Vyc29yKToKKworMjAwOS0wOS0wNCAgS2VubmV0
aCBSb2hkZSBDaHJpc3RpYW5zZW4gIDxrZW5uZXRoQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCiAgICAgICAgIEFkZCB0aGUgcXdlYmdyYXBoaWNzaXRl
bS5jcHAgdG8gdGhlIGJ1aWxkIHN5c3RlbS4KIAogICAgICAgICAqIFdlYkNvcmUucHJvOgpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9xdC9XaWRnZXRRdC5jcHAgYi9XZWJDb3JlL3BsYXRm
b3JtL3F0L1dpZGdldFF0LmNwcAppbmRleCAwZmI2YzM3Li5hYmNkNTg0IDEwMDY0NAotLS0gYS9X
ZWJDb3JlL3BsYXRmb3JtL3F0L1dpZGdldFF0LmNwcAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL3F0
L1dpZGdldFF0LmNwcApAQCAtODksNyArODksNyBAQCB2b2lkIFdpZGdldDo6c2V0Q3Vyc29yKGNv
bnN0IEN1cnNvciYgY3Vyc29yKQogICAgIGlmICghY3Vyc29yLmltcGwoKS5iaXRtYXAoKSAmJiB3
aWRnZXQtPmN1cnNvcigpLnNoYXBlKCkgPT0gY3Vyc29yLmltcGwoKS5zaGFwZSgpKQogICAgICAg
ICByZXR1cm47CiAKLSAgICBRQ29yZUFwcGxpY2F0aW9uOjpwb3N0RXZlbnQod2lkZ2V0LCBuZXcg
U2V0Q3Vyc29yRXZlbnQoY3Vyc29yLmltcGwoKSkpOworICAgIHdpZGdldC0+c2V0UHJvcGVydHko
IldlYkNvcmVDdXJzb3IiLCBjdXJzb3IuaW1wbCgpKTsKICNlbmRpZgogfQogCmRpZmYgLS1naXQg
YS9XZWJLaXQvcXQvQXBpL3F3ZWJwYWdlLmNwcCBiL1dlYktpdC9xdC9BcGkvcXdlYnBhZ2UuY3Bw
CmluZGV4IDM0MWVlZWQuLjcyNGRkNWUgMTAwNjQ0Ci0tLSBhL1dlYktpdC9xdC9BcGkvcXdlYnBh
Z2UuY3BwCisrKyBiL1dlYktpdC9xdC9BcGkvcXdlYnBhZ2UuY3BwCkBAIC0yMjYsMTggKzIyNiw2
IEBAIGNvbnN0IGNoYXIqIFFXZWJQYWdlUHJpdmF0ZTo6ZWRpdG9yQ29tbWFuZEZvcldlYkFjdGlv
bnMoUVdlYlBhZ2U6OldlYkFjdGlvbiBhY3RpCiAgICAgcmV0dXJuIDA7CiB9CiAKLSNpZm5kZWYg
UVRfTk9fQ1VSU09SCi1TZXRDdXJzb3JFdmVudDo6U2V0Q3Vyc29yRXZlbnQoY29uc3QgUUN1cnNv
ciYgY3Vyc29yKQotICAgIDogUUV2ZW50KHN0YXRpY19jYXN0PFFFdmVudDo6VHlwZT4oRXZlbnRU
eXBlKSkKLSAgICAsIG1fY3Vyc29yKGN1cnNvcikKLXt9Ci0KLVFDdXJzb3IgU2V0Q3Vyc29yRXZl
bnQ6OmN1cnNvcigpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIG1fY3Vyc29yOwotfQotI2VuZGlmCi0K
IC8vIElmIHlvdSBjaGFuZ2UgdGhpcyBtYWtlIHN1cmUgdG8gYWxzbyBhZGp1c3QgdGhlIGRvY3Mg
Zm9yIFFXZWJQYWdlOjp1c2VyQWdlbnRGb3JVcmwKICNkZWZpbmUgV0VCS0lUX1ZFUlNJT04gIjUy
NysiCiAKZGlmZiAtLWdpdCBhL1dlYktpdC9xdC9BcGkvcXdlYnBhZ2VfcC5oIGIvV2ViS2l0L3F0
L0FwaS9xd2VicGFnZV9wLmgKaW5kZXggMjI5MTNhYy4uZTMwYzRkMSAxMDA2NDQKLS0tIGEvV2Vi
S2l0L3F0L0FwaS9xd2VicGFnZV9wLmgKKysrIGIvV2ViS2l0L3F0L0FwaS9xd2VicGFnZV9wLmgK
QEAgLTQ2LDE4ICs0Niw2IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBOb2RlOwog
ICAgIGNsYXNzIFBhZ2U7CiAgICAgY2xhc3MgRnJhbWU7Ci0KLSNpZm5kZWYgUVRfTk9fQ1VSU09S
Ci0gICAgY2xhc3MgU2V0Q3Vyc29yRXZlbnQgOiBwdWJsaWMgUUV2ZW50IHsKLSAgICBwdWJsaWM6
Ci0gICAgICAgIHN0YXRpYyBjb25zdCBpbnQgRXZlbnRUeXBlID0gNzI0OwotICAgICAgICBTZXRD
dXJzb3JFdmVudChjb25zdCBRQ3Vyc29yJik7Ci0KLSAgICAgICAgUUN1cnNvciBjdXJzb3IoKSBj
b25zdDsKLSAgICBwcml2YXRlOgotICAgICAgICBRQ3Vyc29yIG1fY3Vyc29yOwotICAgIH07Ci0j
ZW5kaWYKIH0KIAogUVRfQkVHSU5fTkFNRVNQQUNFCmRpZmYgLS1naXQgYS9XZWJLaXQvcXQvQXBp
L3F3ZWJ2aWV3LmNwcCBiL1dlYktpdC9xdC9BcGkvcXdlYnZpZXcuY3BwCmluZGV4IGUwZTA3M2Uu
Ljc2YmVjNDQgMTAwNjQ0Ci0tLSBhL1dlYktpdC9xdC9BcGkvcXdlYnZpZXcuY3BwCisrKyBiL1dl
YktpdC9xdC9BcGkvcXdlYnZpZXcuY3BwCkBAIC0zNiwxMCArMzYsNiBAQCBwdWJsaWM6CiAgICAg
ICAgIDogdmlldyh2aWV3KQogICAgICAgICAsIHBhZ2UoMCkKICAgICAgICAgLCByZW5kZXJIaW50
cyhRUGFpbnRlcjo6VGV4dEFudGlhbGlhc2luZykKLSNpZm5kZWYgUVRfTk9fQ1VSU09SCi0gICAg
ICAgICwgY3Vyc29yU2V0QnlXZWJDb3JlKGZhbHNlKQotICAgICAgICAsIHVzZXNXZWJDb3JlQ3Vy
c29yKHRydWUpCi0jZW5kaWYKICAgICB7fQogCiAgICAgdm9pZCBfcV9wYWdlRGVzdHJveWVkKCk7
CkBAIC00OCwyOCArNDQsNiBAQCBwdWJsaWM6CiAgICAgUVdlYlBhZ2UgKnBhZ2U7CiAKICAgICBR
UGFpbnRlcjo6UmVuZGVySGludHMgcmVuZGVySGludHM7Ci0KLSNpZm5kZWYgUVRfTk9fQ1VSU09S
Ci0gICAgLyoKLSAgICAgKiBXZSBrZWVwIHRyYWNrIG9mIGlmIHdlIGhhdmUgY2FsbGVkIHNldEN1
cnNvciBhbmQgaWYgdGhlIEN1cnNvckNoYW5nZQotICAgICAqIGV2ZW50IGlzIHNlbnQgZHVlIG91
ciBzZXRDdXJzb3IgY2FsbCBhbmQgaWYgd2UgY3VycmVudGx5IHVzZSB0aGUgV2ViQ29yZQotICAg
ICAqIEN1cnNvciBhbmQgdXNlIGl0IHRvIGRlY2lkZSBpZiB3ZSBjYW4gdXBkYXRlIHRvIGFub3Ro
ZXIgV2ViQ29yZSBDdXJzb3IuCi0gICAgICovCi0gICAgYm9vbCBjdXJzb3JTZXRCeVdlYkNvcmU7
Ci0gICAgYm9vbCB1c2VzV2ViQ29yZUN1cnNvcjsKLQotICAgIHZvaWQgc2V0Q3Vyc29yKGNvbnN0
IFFDdXJzb3ImIG5ld0N1cnNvcikKLSAgICB7Ci0gICAgICAgIHdlYkNvcmVDdXJzb3IgPSBuZXdD
dXJzb3I7Ci0KLSAgICAgICAgaWYgKHVzZXNXZWJDb3JlQ3Vyc29yKSB7Ci0gICAgICAgICAgICBj
dXJzb3JTZXRCeVdlYkNvcmUgPSB0cnVlOwotICAgICAgICAgICAgdmlldy0+c2V0Q3Vyc29yKHdl
YkNvcmVDdXJzb3IpOwotICAgICAgICB9Ci0gICAgfQotCi0gICAgUUN1cnNvciB3ZWJDb3JlQ3Vy
c29yOwotI2VuZGlmCiB9OwogCiB2b2lkIFFXZWJWaWV3UHJpdmF0ZTo6X3FfcGFnZURlc3Ryb3ll
ZCgpCkBAIC03MDQsMTggKzY3OCwyNSBAQCBib29sIFFXZWJWaWV3OjpldmVudChRRXZlbnQgKmUp
CiAgICAgICAgIGlmIChlLT50eXBlKCkgPT0gUUV2ZW50OjpTaG9ydGN1dE92ZXJyaWRlKSB7CiAg
ICAgICAgICAgICBkLT5wYWdlLT5ldmVudChlKTsKICNpZm5kZWYgUVRfTk9fQ1VSU09SCi0gICAg
ICAgIH0gZWxzZSBpZiAoZS0+dHlwZSgpID09IHN0YXRpY19jYXN0PFFFdmVudDo6VHlwZT4oV2Vi
Q29yZTo6U2V0Q3Vyc29yRXZlbnQ6OkV2ZW50VHlwZSkpIHsKLSAgICAgICAgICAgIGQtPnNldEN1
cnNvcihzdGF0aWNfY2FzdDxXZWJDb3JlOjpTZXRDdXJzb3JFdmVudCo+KGUpLT5jdXJzb3IoKSk7
CiAjaWYgUVRfVkVSU0lPTiA+PSAweDA0MDQwMAogICAgICAgICB9IGVsc2UgaWYgKGUtPnR5cGUo
KSA9PSBRRXZlbnQ6OkN1cnNvckNoYW5nZSkgewotICAgICAgICAgICAgLy8gT2theSB3ZSBtaWdo
dCB1c2UgdGhlIFdlYkNvcmUgQ3Vyc29yIG5vdy4KLSAgICAgICAgICAgIGQtPnVzZXNXZWJDb3Jl
Q3Vyc29yID0gZC0+Y3Vyc29yU2V0QnlXZWJDb3JlOwotICAgICAgICAgICAgZC0+Y3Vyc29yU2V0
QnlXZWJDb3JlID0gZmFsc2U7Ci0KLSAgICAgICAgICAgIC8vIEdvIGJhY2sgdG8gdGhlIFdlYkNv
cmUgQ3Vyc29yLiBRV2lkZ2V0Ojp1bnNldEN1cnNvciBpcyBhcHByb21peGF0ZWQgd2l0aCB0aGlz
Ci0gICAgICAgICAgICBpZiAoIWQtPnVzZXNXZWJDb3JlQ3Vyc29yICYmIGN1cnNvcigpLnNoYXBl
KCkgPT0gUXQ6OkFycm93Q3Vyc29yKSB7Ci0gICAgICAgICAgICAgICAgZC0+dXNlc1dlYkNvcmVD
dXJzb3IgPSB0cnVlOwotICAgICAgICAgICAgICAgIGQtPnNldEN1cnNvcihkLT53ZWJDb3JlQ3Vy
c29yKTsKKyAgICAgICAgICAgIC8vIG1pZ2h0IGJlIGEgUVdpZGdldDo6dW5zZXJDdXJzb3IoKQor
ICAgICAgICAgICAgaWYgKGN1cnNvcigpLnNoYXBlKCkgPT0gUXQ6OkFycm93Q3Vyc29yKSB7Cisg
ICAgICAgICAgICAgICAgUVZhcmlhbnQgcHJvcCA9IHByb3BlcnR5KCJXZWJDb3JlQ3Vyc29yIik7
CisgICAgICAgICAgICAgICAgaWYgKHByb3AuaXNWYWxpZCgpKSB7CisgICAgICAgICAgICAgICAg
ICAgIFFDdXJzb3Igd2ViQ29yZUN1cnNvciA9IHF2YXJpYW50X2Nhc3Q8UUN1cnNvcj4ocHJvcCk7
CisgICAgICAgICAgICAgICAgICAgIGlmICh3ZWJDb3JlQ3Vyc29yLnNoYXBlKCkgIT0gUXQ6OkFy
cm93Q3Vyc29yKQorICAgICAgICAgICAgICAgICAgICAgICAgc2V0Q3Vyc29yKHdlYkNvcmVDdXJz
b3IpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKyAgICAgICAgfSBlbHNlIGlm
IChlLT50eXBlKCkgPT0gUUV2ZW50OjpEeW5hbWljUHJvcGVydHlDaGFuZ2UpIHsKKyAgICAgICAg
ICAgIGNvbnN0IFFCeXRlQXJyYXkmIHByb3BOYW1lID0gc3RhdGljX2Nhc3Q8UUR5bmFtaWNQcm9w
ZXJ0eUNoYW5nZUV2ZW50ICo+KGUpLT5wcm9wZXJ0eU5hbWUoKTsKKyAgICAgICAgICAgIGlmICgh
cXN0cmNtcChwcm9wTmFtZSwgIldlYkNvcmVDdXJzb3IiKSkgeworICAgICAgICAgICAgICAgIFFW
YXJpYW50IHByb3AgPSBwcm9wZXJ0eSgiV2ViQ29yZUN1cnNvciIpOworICAgICAgICAgICAgICAg
IGlmIChwcm9wLmlzVmFsaWQoKSkgeworICAgICAgICAgICAgICAgICAgICBRQ3Vyc29yIHdlYkNv
cmVDdXJzb3IgPSBxdmFyaWFudF9jYXN0PFFDdXJzb3I+KHByb3ApOworICAgICAgICAgICAgICAg
ICAgICBzZXRDdXJzb3Iod2ViQ29yZUN1cnNvcik7CisgICAgICAgICAgICAgICAgfQogICAgICAg
ICAgICAgfQogI2VuZGlmCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1dlYktpdC9xdC9DaGFuZ2VMb2cg
Yi9XZWJLaXQvcXQvQ2hhbmdlTG9nCmluZGV4IGEwYmVjNDUuLmYzYzMwYjAgMTAwNjQ0Ci0tLSBh
L1dlYktpdC9xdC9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0L3F0L0NoYW5nZUxvZwpAQCAtMSwzICsx
LDI1IEBACisyMDA5LTA5LTA3ICBLZW5uZXRoIFJvaGRlIENocmlzdGlhbnNlbiAgPGtlbm5ldGhA
d2Via2l0Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBbUXRdIE1ha2UgY3Vyc29yIHNldCBjbGVhbmVyIGluIFF0V2ViS2l0IEFwaTogZWxpbWlu
YXRlIFNldEN1cnNvckV2ZW50IGhhY2suCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yODg2NQorCisgICAgICAgIENsZWFuIHVwIHRoZSB1bnNlckN1cnNv
ciBoYWNrIHRvIHVzZSB0aGUgUUN1cnNvciBzZXQKKyAgICAgICAgYXMgYSBwcm9wZXJ0eSBvZiB0
aGUgUVdpZGdldCBieSBXZWJDb3JlOjpXaWRnZXRRdC4KKworICAgICAgICBSZW1vdmUgYWxsIGNv
ZGUgdGhhdCBhcmUgbm8gbG9uZ2VyIG5lY2Vzc2FyeSBmb3IgZ2V0dGluZworICAgICAgICBjdXJz
b3IgY2hhbmdlIGV2ZW50cy4KKworICAgICAgICBQYXRjaCBieSBLZW5uZXRoIFJvaGRlIENocmlz
dGlhbnNlbiA8a2VubmV0aEB3ZWJraXQub3JnPiBhbmQKKyAgICAgICAgICAgICAgICAgQW50b25p
byBHb21lcyA8YW50b25pby5nb21lc0BvcGVuYm9zc2Eub3JnPiBvbiAyMDA5LTA5LTA3CisKKyAg
ICAgICAgKiBBcGkvcXdlYnBhZ2UuY3BwOgorICAgICAgICAqIEFwaS9xd2VicGFnZV9wLmg6Cisg
ICAgICAgICogQXBpL3F3ZWJ2aWV3LmNwcDoKKyAgICAgICAgKFFXZWJWaWV3UHJpdmF0ZTo6UVdl
YlZpZXdQcml2YXRlKToKKyAgICAgICAgKFFXZWJWaWV3OjpldmVudCk6CisKIDIwMDktMDktMDQg
IEtlbm5ldGggUm9oZGUgQ2hyaXN0aWFuc2VuICA8a2VubmV0aEB3ZWJraXQub3JnPgogCiAgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgotLSAKMS42LjAuNAoK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>39164</attachid>
            <date>2009-09-07 15:28:45 -0700</date>
            <delta_ts>2009-09-08 07:53:53 -0700</delta_ts>
            <desc>patch 0.2.1 - cursor set only on QEvent::DynamicPropertyChange</desc>
            <filename>0003--WebCore-Save-the-QCursor-as-a-property-in-WebKi.patch</filename>
            <type>text/plain</type>
            <size>8356</size>
            <attacher name="Antonio Gomes">tonikitoo</attacher>
            
              <data encoding="base64">RnJvbSA2NjdjMTZiMjJiMzZkMzljOWQ2MzQzMzc5MDYyOTkxMmE3OTI1MTM5IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBLZW5uZXRoIFJvaGRlIENocmlzdGlhbnNlbiA8a2VubmV0aEB3
ZWJraXQub3JnPgpEYXRlOiBGcmksIDQgU2VwIDIwMDkgMTY6MzM6MTAgLTAzMDAKU3ViamVjdDog
W1BBVENIXSAgICAgV2ViQ29yZTogU2F2ZSB0aGUgUUN1cnNvciBhcyBhIHByb3BlcnR5IGluIFdl
YktpdFF0OjpzZXRDdXJzb3IKICAgICBhbmQgYWN0dWFsbHkgY2hhbmdlIHRoZSBjdXJzb3IgaW4g
UVdlYlZpZXc6OmV2ZW50KCkgYnkgbWFraW5nIHVzZQogICAgIG9mIHRoZSBRRXZlbnQ6OkR5bmFt
aWNQcm9wZXJ0eUNoYW5nZSBldmVudCB0eXBlLgogICAgIFdoZW4gdW5zZXRDdXJzb3IoKSBpcyBj
YWxsZWQgb24gdGhlIFFXaWRnZXQgd2UgY2FuIGZhbGxiYWNrIHRvCiAgICAgdGhlIGN1cnNvciBz
ZXQgYnkgV2ViQ29yZS4KCiAgICBQYXRjaCBieSBLZW5uZXRoIFJvaGRlIENocmlzdGlhbnNlbiA8
a2VubmV0aEB3ZWJraXQub3JnPiBhbmQKICAgICAgICAgICAgIEFudG9uaW8gR29tZXMgPGFudG9u
aW8uZ29tZXNAb3BlbmJvc3NhLm9yZz4gb24gMjAwOS0wOS0wNwogICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCgogICAgKiBwbGF0Zm9ybS9xdC9XaWRnZXRRdC5jcHA6CiAgICAoV2ViQ29y
ZTo6V2lkZ2V0OjpzZXRDdXJzb3IpOgoKICAgIFdlYktpdC9xdDogQ2xlYW4gdXAgdGhlIHVuc2Vy
Q3Vyc29yIGhhY2sgdG8gdXNlIHRoZSBRQ3Vyc29yIHNldAogICAgYXMgYSBwcm9wZXJ0eSBvZiB0
aGUgUVdpZGdldCBieSBXZWJDb3JlOjpXaWRnZXRRdC4KCiAgICBQYXRjaCBieSBLZW5uZXRoIFJv
aGRlIENocmlzdGlhbnNlbiA8a2VubmV0aEB3ZWJraXQub3JnPiBhbmQKICAgICAgICAgICAgIEFu
dG9uaW8gR29tZXMgPGFudG9uaW8uZ29tZXNAb3BlbmJvc3NhLm9yZz4gb24gMjAwOS0wOS0wNwog
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCgogICAgUmVtb3ZlIGFsbCBjb2RlIHRoYXQg
YXJlIG5vIGxvbmdlciBuZWNlc3NhcnkgZm9yIGdldHRpbmcKICAgIGN1cnNvciBjaGFuZ2UgZXZl
bnRzLgoKICAgICogQXBpL3F3ZWJwYWdlLmNwcDoKICAgICogQXBpL3F3ZWJwYWdlX3AuaDoKICAg
ICogQXBpL3F3ZWJ2aWV3LmNwcDoKICAgIChRV2ViVmlld1ByaXZhdGU6OlFXZWJWaWV3UHJpdmF0
ZSk6CiAgICAoUVdlYlZpZXc6OmV2ZW50KToKLS0tCiBXZWJDb3JlL0NoYW5nZUxvZyAgICAgICAg
ICAgICAgICB8ICAgMTggKysrKysrKysrKysrKwogV2ViQ29yZS9wbGF0Zm9ybS9xdC9XaWRnZXRR
dC5jcHAgfCAgICAyICstCiBXZWJLaXQvcXQvQXBpL3F3ZWJwYWdlLmNwcCAgICAgICB8ICAgMTIg
LS0tLS0tLS0KIFdlYktpdC9xdC9BcGkvcXdlYnBhZ2VfcC5oICAgICAgIHwgICAxMiAtLS0tLS0t
LQogV2ViS2l0L3F0L0FwaS9xd2Vidmlldy5jcHAgICAgICAgfCAgIDUzICsrKysrKysrKysrKy0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIFdlYktpdC9xdC9DaGFuZ2VMb2cgICAgICAgICAgICAg
IHwgICAyMiArKysrKysrKysrKysrKysKIDYgZmlsZXMgY2hhbmdlZCwgNTggaW5zZXJ0aW9ucygr
KSwgNjEgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9DaGFuZ2VMb2cgYi9XZWJD
b3JlL0NoYW5nZUxvZwppbmRleCBlOWQ2NzNiLi43MTNiOWZiIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L0NoYW5nZUxvZworKysgYi9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMiw2ICsyLDI0IEBACiAKICAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCiAKKyAgICAgICAgW1F0XSBNYWtlIGN1
cnNvciBzZXQgY2xlYW5lciBpbiBRdFdlYktpdCBBcGk6IGVsaW1pbmF0ZSBTZXRDdXJzb3JFdmVu
dCBoYWNrLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
Mjg4NjUKKworICAgICAgICBTYXZlIHRoZSBRQ3Vyc29yIGFzIGEgcHJvcGVydHkgaW4gV2ViS2l0
UXQ6OnNldEN1cnNvcgorICAgICAgICBhbmQgYWN0dWFsbHkgY2hhbmdlIHRoZSBjdXJzb3IgaW4g
UVdlYlZpZXc6OmV2ZW50KCkgYnkgbWFraW5nIHVzZQorICAgICAgICBvZiB0aGUgUUV2ZW50OjpE
eW5hbWljUHJvcGVydHlDaGFuZ2UgZXZlbnQgdHlwZS4KKyAgICAgICAgV2hlbiB1bnNldEN1cnNv
cigpIGlzIGNhbGxlZCBvbiB0aGUgUVdpZGdldCB3ZSBjYW4gZmFsbGJhY2sgdG8KKyAgICAgICAg
dGhlIGN1cnNvciBzZXQgYnkgV2ViQ29yZS4KKworICAgICAgICBQYXRjaCBieSBLZW5uZXRoIFJv
aGRlIENocmlzdGlhbnNlbiA8a2VubmV0aEB3ZWJraXQub3JnPiBhbmQKKyAgICAgICAgICAgICAg
ICAgQW50b25pbyBHb21lcyA8YW50b25pby5nb21lc0BvcGVuYm9zc2Eub3JnPiBvbiAyMDA5LTA5
LTA3CisKKyAgICAgICAgKiBwbGF0Zm9ybS9xdC9XaWRnZXRRdC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpXaWRnZXQ6OnNldEN1cnNvcik6CisKKzIwMDktMDktMDQgIEtlbm5ldGggUm9oZGUgQ2hy
aXN0aWFuc2VuICA8a2VubmV0aEB3ZWJraXQub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgogICAgICAgICBBZGQgdGhlIHF3ZWJncmFwaGljc2l0ZW0uY3BwIHRvIHRo
ZSBidWlsZCBzeXN0ZW0uCiAKICAgICAgICAgKiBXZWJDb3JlLnBybzoKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvcGxhdGZvcm0vcXQvV2lkZ2V0UXQuY3BwIGIvV2ViQ29yZS9wbGF0Zm9ybS9xdC9XaWRn
ZXRRdC5jcHAKaW5kZXggMGZiNmMzNy4uYWJjZDU4NCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0
Zm9ybS9xdC9XaWRnZXRRdC5jcHAKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9xdC9XaWRnZXRRdC5j
cHAKQEAgLTg5LDcgKzg5LDcgQEAgdm9pZCBXaWRnZXQ6OnNldEN1cnNvcihjb25zdCBDdXJzb3Im
IGN1cnNvcikKICAgICBpZiAoIWN1cnNvci5pbXBsKCkuYml0bWFwKCkgJiYgd2lkZ2V0LT5jdXJz
b3IoKS5zaGFwZSgpID09IGN1cnNvci5pbXBsKCkuc2hhcGUoKSkKICAgICAgICAgcmV0dXJuOwog
Ci0gICAgUUNvcmVBcHBsaWNhdGlvbjo6cG9zdEV2ZW50KHdpZGdldCwgbmV3IFNldEN1cnNvckV2
ZW50KGN1cnNvci5pbXBsKCkpKTsKKyAgICB3aWRnZXQtPnNldFByb3BlcnR5KCJXZWJDb3JlQ3Vy
c29yIiwgY3Vyc29yLmltcGwoKSk7CiAjZW5kaWYKIH0KIApkaWZmIC0tZ2l0IGEvV2ViS2l0L3F0
L0FwaS9xd2VicGFnZS5jcHAgYi9XZWJLaXQvcXQvQXBpL3F3ZWJwYWdlLmNwcAppbmRleCAzNDFl
ZWVkLi43MjRkZDVlIDEwMDY0NAotLS0gYS9XZWJLaXQvcXQvQXBpL3F3ZWJwYWdlLmNwcAorKysg
Yi9XZWJLaXQvcXQvQXBpL3F3ZWJwYWdlLmNwcApAQCAtMjI2LDE4ICsyMjYsNiBAQCBjb25zdCBj
aGFyKiBRV2ViUGFnZVByaXZhdGU6OmVkaXRvckNvbW1hbmRGb3JXZWJBY3Rpb25zKFFXZWJQYWdl
OjpXZWJBY3Rpb24gYWN0aQogICAgIHJldHVybiAwOwogfQogCi0jaWZuZGVmIFFUX05PX0NVUlNP
UgotU2V0Q3Vyc29yRXZlbnQ6OlNldEN1cnNvckV2ZW50KGNvbnN0IFFDdXJzb3ImIGN1cnNvcikK
LSAgICA6IFFFdmVudChzdGF0aWNfY2FzdDxRRXZlbnQ6OlR5cGU+KEV2ZW50VHlwZSkpCi0gICAg
LCBtX2N1cnNvcihjdXJzb3IpCi17fQotCi1RQ3Vyc29yIFNldEN1cnNvckV2ZW50OjpjdXJzb3Io
KSBjb25zdAotewotICAgIHJldHVybiBtX2N1cnNvcjsKLX0KLSNlbmRpZgotCiAvLyBJZiB5b3Ug
Y2hhbmdlIHRoaXMgbWFrZSBzdXJlIHRvIGFsc28gYWRqdXN0IHRoZSBkb2NzIGZvciBRV2ViUGFn
ZTo6dXNlckFnZW50Rm9yVXJsCiAjZGVmaW5lIFdFQktJVF9WRVJTSU9OICI1MjcrIgogCmRpZmYg
LS1naXQgYS9XZWJLaXQvcXQvQXBpL3F3ZWJwYWdlX3AuaCBiL1dlYktpdC9xdC9BcGkvcXdlYnBh
Z2VfcC5oCmluZGV4IDIyOTEzYWMuLmUzMGM0ZDEgMTAwNjQ0Ci0tLSBhL1dlYktpdC9xdC9BcGkv
cXdlYnBhZ2VfcC5oCisrKyBiL1dlYktpdC9xdC9BcGkvcXdlYnBhZ2VfcC5oCkBAIC00NiwxOCAr
NDYsNiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgTm9kZTsKICAgICBjbGFzcyBQ
YWdlOwogICAgIGNsYXNzIEZyYW1lOwotCi0jaWZuZGVmIFFUX05PX0NVUlNPUgotICAgIGNsYXNz
IFNldEN1cnNvckV2ZW50IDogcHVibGljIFFFdmVudCB7Ci0gICAgcHVibGljOgotICAgICAgICBz
dGF0aWMgY29uc3QgaW50IEV2ZW50VHlwZSA9IDcyNDsKLSAgICAgICAgU2V0Q3Vyc29yRXZlbnQo
Y29uc3QgUUN1cnNvciYpOwotCi0gICAgICAgIFFDdXJzb3IgY3Vyc29yKCkgY29uc3Q7Ci0gICAg
cHJpdmF0ZToKLSAgICAgICAgUUN1cnNvciBtX2N1cnNvcjsKLSAgICB9OwotI2VuZGlmCiB9CiAK
IFFUX0JFR0lOX05BTUVTUEFDRQpkaWZmIC0tZ2l0IGEvV2ViS2l0L3F0L0FwaS9xd2Vidmlldy5j
cHAgYi9XZWJLaXQvcXQvQXBpL3F3ZWJ2aWV3LmNwcAppbmRleCBlMGUwNzNlLi43NmJlYzQ0IDEw
MDY0NAotLS0gYS9XZWJLaXQvcXQvQXBpL3F3ZWJ2aWV3LmNwcAorKysgYi9XZWJLaXQvcXQvQXBp
L3F3ZWJ2aWV3LmNwcApAQCAtMzYsMTAgKzM2LDYgQEAgcHVibGljOgogICAgICAgICA6IHZpZXco
dmlldykKICAgICAgICAgLCBwYWdlKDApCiAgICAgICAgICwgcmVuZGVySGludHMoUVBhaW50ZXI6
OlRleHRBbnRpYWxpYXNpbmcpCi0jaWZuZGVmIFFUX05PX0NVUlNPUgotICAgICAgICAsIGN1cnNv
clNldEJ5V2ViQ29yZShmYWxzZSkKLSAgICAgICAgLCB1c2VzV2ViQ29yZUN1cnNvcih0cnVlKQot
I2VuZGlmCiAgICAge30KIAogICAgIHZvaWQgX3FfcGFnZURlc3Ryb3llZCgpOwpAQCAtNDgsMjgg
KzQ0LDYgQEAgcHVibGljOgogICAgIFFXZWJQYWdlICpwYWdlOwogCiAgICAgUVBhaW50ZXI6OlJl
bmRlckhpbnRzIHJlbmRlckhpbnRzOwotCi0jaWZuZGVmIFFUX05PX0NVUlNPUgotICAgIC8qCi0g
ICAgICogV2Uga2VlcCB0cmFjayBvZiBpZiB3ZSBoYXZlIGNhbGxlZCBzZXRDdXJzb3IgYW5kIGlm
IHRoZSBDdXJzb3JDaGFuZ2UKLSAgICAgKiBldmVudCBpcyBzZW50IGR1ZSBvdXIgc2V0Q3Vyc29y
IGNhbGwgYW5kIGlmIHdlIGN1cnJlbnRseSB1c2UgdGhlIFdlYkNvcmUKLSAgICAgKiBDdXJzb3Ig
YW5kIHVzZSBpdCB0byBkZWNpZGUgaWYgd2UgY2FuIHVwZGF0ZSB0byBhbm90aGVyIFdlYkNvcmUg
Q3Vyc29yLgotICAgICAqLwotICAgIGJvb2wgY3Vyc29yU2V0QnlXZWJDb3JlOwotICAgIGJvb2wg
dXNlc1dlYkNvcmVDdXJzb3I7Ci0KLSAgICB2b2lkIHNldEN1cnNvcihjb25zdCBRQ3Vyc29yJiBu
ZXdDdXJzb3IpCi0gICAgewotICAgICAgICB3ZWJDb3JlQ3Vyc29yID0gbmV3Q3Vyc29yOwotCi0g
ICAgICAgIGlmICh1c2VzV2ViQ29yZUN1cnNvcikgewotICAgICAgICAgICAgY3Vyc29yU2V0QnlX
ZWJDb3JlID0gdHJ1ZTsKLSAgICAgICAgICAgIHZpZXctPnNldEN1cnNvcih3ZWJDb3JlQ3Vyc29y
KTsKLSAgICAgICAgfQotICAgIH0KLQotICAgIFFDdXJzb3Igd2ViQ29yZUN1cnNvcjsKLSNlbmRp
ZgogfTsKIAogdm9pZCBRV2ViVmlld1ByaXZhdGU6Ol9xX3BhZ2VEZXN0cm95ZWQoKQpAQCAtNzA0
LDE4ICs2NzgsMjUgQEAgYm9vbCBRV2ViVmlldzo6ZXZlbnQoUUV2ZW50ICplKQogICAgICAgICBp
ZiAoZS0+dHlwZSgpID09IFFFdmVudDo6U2hvcnRjdXRPdmVycmlkZSkgewogICAgICAgICAgICAg
ZC0+cGFnZS0+ZXZlbnQoZSk7CiAjaWZuZGVmIFFUX05PX0NVUlNPUgotICAgICAgICB9IGVsc2Ug
aWYgKGUtPnR5cGUoKSA9PSBzdGF0aWNfY2FzdDxRRXZlbnQ6OlR5cGU+KFdlYkNvcmU6OlNldEN1
cnNvckV2ZW50OjpFdmVudFR5cGUpKSB7Ci0gICAgICAgICAgICBkLT5zZXRDdXJzb3Ioc3RhdGlj
X2Nhc3Q8V2ViQ29yZTo6U2V0Q3Vyc29yRXZlbnQqPihlKS0+Y3Vyc29yKCkpOwogI2lmIFFUX1ZF
UlNJT04gPj0gMHgwNDA0MDAKICAgICAgICAgfSBlbHNlIGlmIChlLT50eXBlKCkgPT0gUUV2ZW50
OjpDdXJzb3JDaGFuZ2UpIHsKLSAgICAgICAgICAgIC8vIE9rYXkgd2UgbWlnaHQgdXNlIHRoZSBX
ZWJDb3JlIEN1cnNvciBub3cuCi0gICAgICAgICAgICBkLT51c2VzV2ViQ29yZUN1cnNvciA9IGQt
PmN1cnNvclNldEJ5V2ViQ29yZTsKLSAgICAgICAgICAgIGQtPmN1cnNvclNldEJ5V2ViQ29yZSA9
IGZhbHNlOwotCi0gICAgICAgICAgICAvLyBHbyBiYWNrIHRvIHRoZSBXZWJDb3JlIEN1cnNvci4g
UVdpZGdldDo6dW5zZXRDdXJzb3IgaXMgYXBwcm9taXhhdGVkIHdpdGggdGhpcwotICAgICAgICAg
ICAgaWYgKCFkLT51c2VzV2ViQ29yZUN1cnNvciAmJiBjdXJzb3IoKS5zaGFwZSgpID09IFF0OjpB
cnJvd0N1cnNvcikgewotICAgICAgICAgICAgICAgIGQtPnVzZXNXZWJDb3JlQ3Vyc29yID0gdHJ1
ZTsKLSAgICAgICAgICAgICAgICBkLT5zZXRDdXJzb3IoZC0+d2ViQ29yZUN1cnNvcik7CisgICAg
ICAgICAgICAvLyBtaWdodCBiZSBhIFFXaWRnZXQ6OnVuc2VyQ3Vyc29yKCkKKyAgICAgICAgICAg
IGlmIChjdXJzb3IoKS5zaGFwZSgpID09IFF0OjpBcnJvd0N1cnNvcikgeworICAgICAgICAgICAg
ICAgIFFWYXJpYW50IHByb3AgPSBwcm9wZXJ0eSgiV2ViQ29yZUN1cnNvciIpOworICAgICAgICAg
ICAgICAgIGlmIChwcm9wLmlzVmFsaWQoKSkgeworICAgICAgICAgICAgICAgICAgICBRQ3Vyc29y
IHdlYkNvcmVDdXJzb3IgPSBxdmFyaWFudF9jYXN0PFFDdXJzb3I+KHByb3ApOworICAgICAgICAg
ICAgICAgICAgICBpZiAod2ViQ29yZUN1cnNvci5zaGFwZSgpICE9IFF0OjpBcnJvd0N1cnNvcikK
KyAgICAgICAgICAgICAgICAgICAgICAgIHNldEN1cnNvcih3ZWJDb3JlQ3Vyc29yKTsKKyAgICAg
ICAgICAgICAgICB9CisgICAgICAgICAgICB9CisgICAgICAgIH0gZWxzZSBpZiAoZS0+dHlwZSgp
ID09IFFFdmVudDo6RHluYW1pY1Byb3BlcnR5Q2hhbmdlKSB7CisgICAgICAgICAgICBjb25zdCBR
Qnl0ZUFycmF5JiBwcm9wTmFtZSA9IHN0YXRpY19jYXN0PFFEeW5hbWljUHJvcGVydHlDaGFuZ2VF
dmVudCAqPihlKS0+cHJvcGVydHlOYW1lKCk7CisgICAgICAgICAgICBpZiAoIXFzdHJjbXAocHJv
cE5hbWUsICJXZWJDb3JlQ3Vyc29yIikpIHsKKyAgICAgICAgICAgICAgICBRVmFyaWFudCBwcm9w
ID0gcHJvcGVydHkoIldlYkNvcmVDdXJzb3IiKTsKKyAgICAgICAgICAgICAgICBpZiAocHJvcC5p
c1ZhbGlkKCkpIHsKKyAgICAgICAgICAgICAgICAgICAgUUN1cnNvciB3ZWJDb3JlQ3Vyc29yID0g
cXZhcmlhbnRfY2FzdDxRQ3Vyc29yPihwcm9wKTsKKyAgICAgICAgICAgICAgICAgICAgc2V0Q3Vy
c29yKHdlYkNvcmVDdXJzb3IpOworICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgIH0KICNl
bmRpZgogI2VuZGlmCmRpZmYgLS1naXQgYS9XZWJLaXQvcXQvQ2hhbmdlTG9nIGIvV2ViS2l0L3F0
L0NoYW5nZUxvZwppbmRleCBiMDA4ZjQxLi41ZWFlYjMzIDEwMDY0NAotLS0gYS9XZWJLaXQvcXQv
Q2hhbmdlTG9nCisrKyBiL1dlYktpdC9xdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNSBAQAorMjAw
OS0wOS0wNyAgS2VubmV0aCBSb2hkZSBDaHJpc3RpYW5zZW4gIDxrZW5uZXRoQHdlYmtpdC5vcmc+
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgW1F0XSBN
YWtlIGN1cnNvciBzZXQgY2xlYW5lciBpbiBRdFdlYktpdCBBcGk6IGVsaW1pbmF0ZSBTZXRDdXJz
b3JFdmVudCBoYWNrLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9Mjg4NjUKKworICAgICAgICBDbGVhbiB1cCB0aGUgdW5zZXJDdXJzb3IgaGFjayB0byB1
c2UgdGhlIFFDdXJzb3Igc2V0CisgICAgICAgIGFzIGEgcHJvcGVydHkgb2YgdGhlIFFXaWRnZXQg
YnkgV2ViQ29yZTo6V2lkZ2V0UXQuCisKKyAgICAgICAgUmVtb3ZlIGFsbCBjb2RlIHRoYXQgYXJl
IG5vIGxvbmdlciBuZWNlc3NhcnkgZm9yIGdldHRpbmcKKyAgICAgICAgY3Vyc29yIGNoYW5nZSBl
dmVudHMuCisKKyAgICAgICAgUGF0Y2ggYnkgS2VubmV0aCBSb2hkZSBDaHJpc3RpYW5zZW4gPGtl
bm5ldGhAd2Via2l0Lm9yZz4gYW5kCisgICAgICAgICAgICAgICAgIEFudG9uaW8gR29tZXMgPGFu
dG9uaW8uZ29tZXNAb3BlbmJvc3NhLm9yZz4gb24gMjAwOS0wOS0wNworCisgICAgICAgICogQXBp
L3F3ZWJwYWdlLmNwcDoKKyAgICAgICAgKiBBcGkvcXdlYnBhZ2VfcC5oOgorICAgICAgICAqIEFw
aS9xd2Vidmlldy5jcHA6CisgICAgICAgIChRV2ViVmlld1ByaXZhdGU6OlFXZWJWaWV3UHJpdmF0
ZSk6CisgICAgICAgIChRV2ViVmlldzo6ZXZlbnQpOgorCiAyMDA5LTA5LTA0ICBLZW5uZXRoIFJv
aGRlIENocmlzdGlhbnNlbiAgPGtlbm5ldGhAd2Via2l0Lm9yZz4KIAogICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KLS0gCjEuNi4wLjQKCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>39182</attachid>
            <date>2009-09-08 06:59:49 -0700</date>
            <delta_ts>2009-09-08 07:54:49 -0700</delta_ts>
            <desc>(landed in r48154) patch 0.2.2 - cursor set only on QEvent::DynamicPropertyChange </desc>
            <filename>0001--WebCore-Save-the-QCursor-as-a-property-in-Widge.patch</filename>
            <type>text/plain</type>
            <size>8309</size>
            <attacher name="Antonio Gomes">tonikitoo</attacher>
            
              <data encoding="base64">RnJvbSBjOGRmZGIxZmE3MzQyOTUwYjc0NDY5OGMwODMxOGVmZmQ3ZjExNDEzIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBLZW5uZXRoIFJvaGRlIENocmlzdGlhbnNlbiA8a2VubmV0aEB3
ZWJraXQub3JnPgpEYXRlOiBGcmksIDQgU2VwIDIwMDkgMTY6MzM6MTAgLTAzMDAKU3ViamVjdDog
W1BBVENIXSAgICAgV2ViQ29yZTogU2F2ZSB0aGUgUUN1cnNvciBhcyBhIHByb3BlcnR5IGluIFdp
ZGdldFF0OjpzZXRDdXJzb3IKICAgICBhbmQgYWN0dWFsbHkgY2hhbmdlIHRoZSBjdXJzb3IgaW4g
UVdlYlZpZXc6OmV2ZW50KCkgYnkgbWFraW5nIHVzZQogICAgIG9mIHRoZSBRRXZlbnQ6OkR5bmFt
aWNQcm9wZXJ0eUNoYW5nZSBldmVudCB0eXBlLgogICAgIFdoZW4gdW5zZXRDdXJzb3IoKSBpcyBj
YWxsZWQgb24gdGhlIFFXaWRnZXQgd2UgY2FuIGZhbGxiYWNrIHRvCiAgICAgdGhlIGN1cnNvciBz
ZXQgYnkgV2ViQ29yZS4KCiAgICBQYXRjaCBieSBLZW5uZXRoIFJvaGRlIENocmlzdGlhbnNlbiA8
a2VubmV0aEB3ZWJraXQub3JnPiBhbmQKICAgICAgICAgICAgIEFudG9uaW8gR29tZXMgPGFudG9u
aW8uZ29tZXNAb3BlbmJvc3NhLm9yZz4gb24gMjAwOS0wOS0wNwogICAgUmV2aWV3ZWQgYnkgU2lt
b24gSGF1c21hbm4uCgogICAgKiBwbGF0Zm9ybS9xdC9XaWRnZXRRdC5jcHA6CiAgICAoV2ViQ29y
ZTo6V2lkZ2V0OjpzZXRDdXJzb3IpOgoKICAgIFdlYktpdC9xdDogQ2xlYW4gdXAgdGhlIHVuc2Vy
Q3Vyc29yIGhhY2sgdG8gdXNlIHRoZSBRQ3Vyc29yIHNldAogICAgYXMgYSBwcm9wZXJ0eSBvZiB0
aGUgUVdpZGdldCBieSBXZWJDb3JlOjpXaWRnZXRRdC4KCiAgICBQYXRjaCBieSBLZW5uZXRoIFJv
aGRlIENocmlzdGlhbnNlbiA8a2VubmV0aEB3ZWJraXQub3JnPiBhbmQKICAgICAgICAgICAgIEFu
dG9uaW8gR29tZXMgPGFudG9uaW8uZ29tZXNAb3BlbmJvc3NhLm9yZz4gb24gMjAwOS0wOS0wNwog
ICAgUmV2aWV3ZWQgYnkgU2ltb24gSGF1c21hbm4uCgogICAgUmVtb3ZlIGFsbCBjb2RlIHRoYXQg
YXJlIG5vIGxvbmdlciBuZWNlc3NhcnkgZm9yIGdldHRpbmcKICAgIGN1cnNvciBjaGFuZ2UgZXZl
bnRzLgoKICAgICogQXBpL3F3ZWJwYWdlLmNwcDoKICAgICogQXBpL3F3ZWJwYWdlX3AuaDoKICAg
ICogQXBpL3F3ZWJ2aWV3LmNwcDoKICAgIChRV2ViVmlld1ByaXZhdGU6OlFXZWJWaWV3UHJpdmF0
ZSk6CiAgICAoUVdlYlZpZXc6OmV2ZW50KToKLS0tCiBXZWJDb3JlL0NoYW5nZUxvZyAgICAgICAg
ICAgICAgICB8ICAgMTkgKysrKysrKysrKysrKwogV2ViQ29yZS9wbGF0Zm9ybS9xdC9XaWRnZXRR
dC5jcHAgfCAgICAyICstCiBXZWJLaXQvcXQvQXBpL3F3ZWJwYWdlLmNwcCAgICAgICB8ICAgMTIg
LS0tLS0tLS0KIFdlYktpdC9xdC9BcGkvcXdlYnBhZ2VfcC5oICAgICAgIHwgICAxMiAtLS0tLS0t
LQogV2ViS2l0L3F0L0FwaS9xd2Vidmlldy5jcHAgICAgICAgfCAgIDUzICsrKysrKysrKysrKy0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIFdlYktpdC9xdC9DaGFuZ2VMb2cgICAgICAgICAgICAg
IHwgICAyMiArKysrKysrKysrKysrKysKIDYgZmlsZXMgY2hhbmdlZCwgNTkgaW5zZXJ0aW9ucygr
KSwgNjEgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9DaGFuZ2VMb2cgYi9XZWJD
b3JlL0NoYW5nZUxvZwppbmRleCBmMjUyNjRhLi5lMzNkZjUxIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L0NoYW5nZUxvZworKysgYi9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDA5
LTA5LTA4ICBLZW5uZXRoIFJvaGRlIENocmlzdGlhbnNlbiAgPGtlbm5ldGhAd2Via2l0Lm9yZz4K
KworICAgICAgICBSZXZpZXdlZCBieSBTaW1vbiBIYXVzbWFubi4KKworICAgICAgICBbUXRdIE1h
a2UgY3Vyc29yIHNldCBjbGVhbmVyIGluIFF0V2ViS2l0IEFwaTogZWxpbWluYXRlIFNldEN1cnNv
ckV2ZW50IGhhY2suCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yODg2NQorCisgICAgICAgIFNhdmUgdGhlIFFDdXJzb3IgYXMgYSBwcm9wZXJ0eSBpbiBX
aWRnZXRRdDo6c2V0Q3Vyc29yCisgICAgICAgIGFuZCBhY3R1YWxseSBjaGFuZ2UgdGhlIGN1cnNv
ciBpbiBRV2ViVmlldzo6ZXZlbnQoKSBieSBtYWtpbmcgdXNlCisgICAgICAgIG9mIHRoZSBRRXZl
bnQ6OkR5bmFtaWNQcm9wZXJ0eUNoYW5nZSBldmVudCB0eXBlLgorICAgICAgICBXaGVuIHVuc2V0
Q3Vyc29yKCkgaXMgY2FsbGVkIG9uIHRoZSBRV2lkZ2V0IHdlIGNhbiBmYWxsYmFjayB0bworICAg
ICAgICB0aGUgY3Vyc29yIHNldCBieSBXZWJDb3JlLgorCisgICAgICAgIFBhdGNoIGJ5IEtlbm5l
dGggUm9oZGUgQ2hyaXN0aWFuc2VuIDxrZW5uZXRoQHdlYmtpdC5vcmc+IGFuZAorICAgICAgICAg
ICAgICAgICBBbnRvbmlvIEdvbWVzIDxhbnRvbmlvLmdvbWVzQG9wZW5ib3NzYS5vcmc+IG9uIDIw
MDktMDktMDcKKworICAgICAgICAqIHBsYXRmb3JtL3F0L1dpZGdldFF0LmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OldpZGdldDo6c2V0Q3Vyc29yKToKKwogMjAwOS0wOS0wNyAgQ2hyaXMgTWFycmlu
ICA8Y21hcnJpbkBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgT2xpdmVyIEh1bnQu
CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL3F0L1dpZGdldFF0LmNwcCBiL1dlYkNvcmUv
cGxhdGZvcm0vcXQvV2lkZ2V0UXQuY3BwCmluZGV4IDBmYjZjMzcuLmFiY2Q1ODQgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvcGxhdGZvcm0vcXQvV2lkZ2V0UXQuY3BwCisrKyBiL1dlYkNvcmUvcGxhdGZv
cm0vcXQvV2lkZ2V0UXQuY3BwCkBAIC04OSw3ICs4OSw3IEBAIHZvaWQgV2lkZ2V0OjpzZXRDdXJz
b3IoY29uc3QgQ3Vyc29yJiBjdXJzb3IpCiAgICAgaWYgKCFjdXJzb3IuaW1wbCgpLmJpdG1hcCgp
ICYmIHdpZGdldC0+Y3Vyc29yKCkuc2hhcGUoKSA9PSBjdXJzb3IuaW1wbCgpLnNoYXBlKCkpCiAg
ICAgICAgIHJldHVybjsKIAotICAgIFFDb3JlQXBwbGljYXRpb246OnBvc3RFdmVudCh3aWRnZXQs
IG5ldyBTZXRDdXJzb3JFdmVudChjdXJzb3IuaW1wbCgpKSk7CisgICAgd2lkZ2V0LT5zZXRQcm9w
ZXJ0eSgiV2ViQ29yZUN1cnNvciIsIGN1cnNvci5pbXBsKCkpOwogI2VuZGlmCiB9CiAKZGlmZiAt
LWdpdCBhL1dlYktpdC9xdC9BcGkvcXdlYnBhZ2UuY3BwIGIvV2ViS2l0L3F0L0FwaS9xd2VicGFn
ZS5jcHAKaW5kZXggM2FlZjQyMS4uYTdmODRjNSAxMDA2NDQKLS0tIGEvV2ViS2l0L3F0L0FwaS9x
d2VicGFnZS5jcHAKKysrIGIvV2ViS2l0L3F0L0FwaS9xd2VicGFnZS5jcHAKQEAgLTIyNSwxOCAr
MjI1LDYgQEAgY29uc3QgY2hhciogUVdlYlBhZ2VQcml2YXRlOjplZGl0b3JDb21tYW5kRm9yV2Vi
QWN0aW9ucyhRV2ViUGFnZTo6V2ViQWN0aW9uIGFjdGkKICAgICByZXR1cm4gMDsKIH0KIAotI2lm
bmRlZiBRVF9OT19DVVJTT1IKLVNldEN1cnNvckV2ZW50OjpTZXRDdXJzb3JFdmVudChjb25zdCBR
Q3Vyc29yJiBjdXJzb3IpCi0gICAgOiBRRXZlbnQoc3RhdGljX2Nhc3Q8UUV2ZW50OjpUeXBlPihF
dmVudFR5cGUpKQotICAgICwgbV9jdXJzb3IoY3Vyc29yKQote30KLQotUUN1cnNvciBTZXRDdXJz
b3JFdmVudDo6Y3Vyc29yKCkgY29uc3QKLXsKLSAgICByZXR1cm4gbV9jdXJzb3I7Ci19Ci0jZW5k
aWYKLQogLy8gSWYgeW91IGNoYW5nZSB0aGlzIG1ha2Ugc3VyZSB0byBhbHNvIGFkanVzdCB0aGUg
ZG9jcyBmb3IgUVdlYlBhZ2U6OnVzZXJBZ2VudEZvclVybAogI2RlZmluZSBXRUJLSVRfVkVSU0lP
TiAiNTI3KyIKIApkaWZmIC0tZ2l0IGEvV2ViS2l0L3F0L0FwaS9xd2VicGFnZV9wLmggYi9XZWJL
aXQvcXQvQXBpL3F3ZWJwYWdlX3AuaAppbmRleCA4N2M2MjRkLi5kNGM1NDk3IDEwMDY0NAotLS0g
YS9XZWJLaXQvcXQvQXBpL3F3ZWJwYWdlX3AuaAorKysgYi9XZWJLaXQvcXQvQXBpL3F3ZWJwYWdl
X3AuaApAQCAtNDUsMTggKzQ1LDYgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIE5v
ZGU7CiAgICAgY2xhc3MgUGFnZTsKICAgICBjbGFzcyBGcmFtZTsKLQotI2lmbmRlZiBRVF9OT19D
VVJTT1IKLSAgICBjbGFzcyBTZXRDdXJzb3JFdmVudCA6IHB1YmxpYyBRRXZlbnQgewotICAgIHB1
YmxpYzoKLSAgICAgICAgc3RhdGljIGNvbnN0IGludCBFdmVudFR5cGUgPSA3MjQ7Ci0gICAgICAg
IFNldEN1cnNvckV2ZW50KGNvbnN0IFFDdXJzb3ImKTsKLQotICAgICAgICBRQ3Vyc29yIGN1cnNv
cigpIGNvbnN0OwotICAgIHByaXZhdGU6Ci0gICAgICAgIFFDdXJzb3IgbV9jdXJzb3I7Ci0gICAg
fTsKLSNlbmRpZgogfQogCiBRVF9CRUdJTl9OQU1FU1BBQ0UKZGlmZiAtLWdpdCBhL1dlYktpdC9x
dC9BcGkvcXdlYnZpZXcuY3BwIGIvV2ViS2l0L3F0L0FwaS9xd2Vidmlldy5jcHAKaW5kZXggZTBl
MDczZS4uZTJjOGEzNyAxMDA2NDQKLS0tIGEvV2ViS2l0L3F0L0FwaS9xd2Vidmlldy5jcHAKKysr
IGIvV2ViS2l0L3F0L0FwaS9xd2Vidmlldy5jcHAKQEAgLTM2LDEwICszNiw2IEBAIHB1YmxpYzoK
ICAgICAgICAgOiB2aWV3KHZpZXcpCiAgICAgICAgICwgcGFnZSgwKQogICAgICAgICAsIHJlbmRl
ckhpbnRzKFFQYWludGVyOjpUZXh0QW50aWFsaWFzaW5nKQotI2lmbmRlZiBRVF9OT19DVVJTT1IK
LSAgICAgICAgLCBjdXJzb3JTZXRCeVdlYkNvcmUoZmFsc2UpCi0gICAgICAgICwgdXNlc1dlYkNv
cmVDdXJzb3IodHJ1ZSkKLSNlbmRpZgogICAgIHt9CiAKICAgICB2b2lkIF9xX3BhZ2VEZXN0cm95
ZWQoKTsKQEAgLTQ4LDI4ICs0NCw2IEBAIHB1YmxpYzoKICAgICBRV2ViUGFnZSAqcGFnZTsKIAog
ICAgIFFQYWludGVyOjpSZW5kZXJIaW50cyByZW5kZXJIaW50czsKLQotI2lmbmRlZiBRVF9OT19D
VVJTT1IKLSAgICAvKgotICAgICAqIFdlIGtlZXAgdHJhY2sgb2YgaWYgd2UgaGF2ZSBjYWxsZWQg
c2V0Q3Vyc29yIGFuZCBpZiB0aGUgQ3Vyc29yQ2hhbmdlCi0gICAgICogZXZlbnQgaXMgc2VudCBk
dWUgb3VyIHNldEN1cnNvciBjYWxsIGFuZCBpZiB3ZSBjdXJyZW50bHkgdXNlIHRoZSBXZWJDb3Jl
Ci0gICAgICogQ3Vyc29yIGFuZCB1c2UgaXQgdG8gZGVjaWRlIGlmIHdlIGNhbiB1cGRhdGUgdG8g
YW5vdGhlciBXZWJDb3JlIEN1cnNvci4KLSAgICAgKi8KLSAgICBib29sIGN1cnNvclNldEJ5V2Vi
Q29yZTsKLSAgICBib29sIHVzZXNXZWJDb3JlQ3Vyc29yOwotCi0gICAgdm9pZCBzZXRDdXJzb3Io
Y29uc3QgUUN1cnNvciYgbmV3Q3Vyc29yKQotICAgIHsKLSAgICAgICAgd2ViQ29yZUN1cnNvciA9
IG5ld0N1cnNvcjsKLQotICAgICAgICBpZiAodXNlc1dlYkNvcmVDdXJzb3IpIHsKLSAgICAgICAg
ICAgIGN1cnNvclNldEJ5V2ViQ29yZSA9IHRydWU7Ci0gICAgICAgICAgICB2aWV3LT5zZXRDdXJz
b3Iod2ViQ29yZUN1cnNvcik7Ci0gICAgICAgIH0KLSAgICB9Ci0KLSAgICBRQ3Vyc29yIHdlYkNv
cmVDdXJzb3I7Ci0jZW5kaWYKIH07CiAKIHZvaWQgUVdlYlZpZXdQcml2YXRlOjpfcV9wYWdlRGVz
dHJveWVkKCkKQEAgLTcwNCwxOCArNjc4LDI1IEBAIGJvb2wgUVdlYlZpZXc6OmV2ZW50KFFFdmVu
dCAqZSkKICAgICAgICAgaWYgKGUtPnR5cGUoKSA9PSBRRXZlbnQ6OlNob3J0Y3V0T3ZlcnJpZGUp
IHsKICAgICAgICAgICAgIGQtPnBhZ2UtPmV2ZW50KGUpOwogI2lmbmRlZiBRVF9OT19DVVJTT1IK
LSAgICAgICAgfSBlbHNlIGlmIChlLT50eXBlKCkgPT0gc3RhdGljX2Nhc3Q8UUV2ZW50OjpUeXBl
PihXZWJDb3JlOjpTZXRDdXJzb3JFdmVudDo6RXZlbnRUeXBlKSkgewotICAgICAgICAgICAgZC0+
c2V0Q3Vyc29yKHN0YXRpY19jYXN0PFdlYkNvcmU6OlNldEN1cnNvckV2ZW50Kj4oZSktPmN1cnNv
cigpKTsKICNpZiBRVF9WRVJTSU9OID49IDB4MDQwNDAwCiAgICAgICAgIH0gZWxzZSBpZiAoZS0+
dHlwZSgpID09IFFFdmVudDo6Q3Vyc29yQ2hhbmdlKSB7Ci0gICAgICAgICAgICAvLyBPa2F5IHdl
IG1pZ2h0IHVzZSB0aGUgV2ViQ29yZSBDdXJzb3Igbm93LgotICAgICAgICAgICAgZC0+dXNlc1dl
YkNvcmVDdXJzb3IgPSBkLT5jdXJzb3JTZXRCeVdlYkNvcmU7Ci0gICAgICAgICAgICBkLT5jdXJz
b3JTZXRCeVdlYkNvcmUgPSBmYWxzZTsKLQotICAgICAgICAgICAgLy8gR28gYmFjayB0byB0aGUg
V2ViQ29yZSBDdXJzb3IuIFFXaWRnZXQ6OnVuc2V0Q3Vyc29yIGlzIGFwcHJvbWl4YXRlZCB3aXRo
IHRoaXMKLSAgICAgICAgICAgIGlmICghZC0+dXNlc1dlYkNvcmVDdXJzb3IgJiYgY3Vyc29yKCku
c2hhcGUoKSA9PSBRdDo6QXJyb3dDdXJzb3IpIHsKLSAgICAgICAgICAgICAgICBkLT51c2VzV2Vi
Q29yZUN1cnNvciA9IHRydWU7Ci0gICAgICAgICAgICAgICAgZC0+c2V0Q3Vyc29yKGQtPndlYkNv
cmVDdXJzb3IpOworICAgICAgICAgICAgLy8gbWlnaHQgYmUgYSBRV2lkZ2V0Ojp1bnNldEN1cnNv
cigpCisgICAgICAgICAgICBpZiAoY3Vyc29yKCkuc2hhcGUoKSA9PSBRdDo6QXJyb3dDdXJzb3Ip
IHsKKyAgICAgICAgICAgICAgICBRVmFyaWFudCBwcm9wID0gcHJvcGVydHkoIldlYkNvcmVDdXJz
b3IiKTsKKyAgICAgICAgICAgICAgICBpZiAocHJvcC5pc1ZhbGlkKCkpIHsKKyAgICAgICAgICAg
ICAgICAgICAgUUN1cnNvciB3ZWJDb3JlQ3Vyc29yID0gcXZhcmlhbnRfY2FzdDxRQ3Vyc29yPihw
cm9wKTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKHdlYkNvcmVDdXJzb3Iuc2hhcGUoKSAhPSBR
dDo6QXJyb3dDdXJzb3IpCisgICAgICAgICAgICAgICAgICAgICAgICBzZXRDdXJzb3Iod2ViQ29y
ZUN1cnNvcik7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorICAgICAgICB9IGVs
c2UgaWYgKGUtPnR5cGUoKSA9PSBRRXZlbnQ6OkR5bmFtaWNQcm9wZXJ0eUNoYW5nZSkgeworICAg
ICAgICAgICAgY29uc3QgUUJ5dGVBcnJheSYgcHJvcE5hbWUgPSBzdGF0aWNfY2FzdDxRRHluYW1p
Y1Byb3BlcnR5Q2hhbmdlRXZlbnQgKj4oZSktPnByb3BlcnR5TmFtZSgpOworICAgICAgICAgICAg
aWYgKCFxc3RyY21wKHByb3BOYW1lLCAiV2ViQ29yZUN1cnNvciIpKSB7CisgICAgICAgICAgICAg
ICAgUVZhcmlhbnQgcHJvcCA9IHByb3BlcnR5KCJXZWJDb3JlQ3Vyc29yIik7CisgICAgICAgICAg
ICAgICAgaWYgKHByb3AuaXNWYWxpZCgpKSB7CisgICAgICAgICAgICAgICAgICAgIFFDdXJzb3Ig
d2ViQ29yZUN1cnNvciA9IHF2YXJpYW50X2Nhc3Q8UUN1cnNvcj4ocHJvcCk7CisgICAgICAgICAg
ICAgICAgICAgIHNldEN1cnNvcih3ZWJDb3JlQ3Vyc29yKTsKKyAgICAgICAgICAgICAgICB9CiAg
ICAgICAgICAgICB9CiAjZW5kaWYKICNlbmRpZgpkaWZmIC0tZ2l0IGEvV2ViS2l0L3F0L0NoYW5n
ZUxvZyBiL1dlYktpdC9xdC9DaGFuZ2VMb2cKaW5kZXggMTM0ODA1Ny4uYmM0YjAzOCAxMDA2NDQK
LS0tIGEvV2ViS2l0L3F0L0NoYW5nZUxvZworKysgYi9XZWJLaXQvcXQvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMjUgQEAKKzIwMDktMDktMDggIEtlbm5ldGggUm9oZGUgQ2hyaXN0aWFuc2VuICA8a2Vu
bmV0aEB3ZWJraXQub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IFNpbW9uIEhhdXNtYW5uLgor
CisgICAgICAgIFtRdF0gTWFrZSBjdXJzb3Igc2V0IGNsZWFuZXIgaW4gUXRXZWJLaXQgQXBpOiBl
bGltaW5hdGUgU2V0Q3Vyc29yRXZlbnQgaGFjay4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTI4ODY1CisKKyAgICAgICAgQ2xlYW4gdXAgdGhlIHVuc2Vy
Q3Vyc29yIGhhY2sgdG8gdXNlIHRoZSBRQ3Vyc29yIHNldAorICAgICAgICBhcyBhIHByb3BlcnR5
IG9mIHRoZSBRV2lkZ2V0IGJ5IFdlYkNvcmU6OldpZGdldFF0LgorCisgICAgICAgIFJlbW92ZSBh
bGwgY29kZSB0aGF0IGFyZSBubyBsb25nZXIgbmVjZXNzYXJ5IGZvciBnZXR0aW5nCisgICAgICAg
IGN1cnNvciBjaGFuZ2UgZXZlbnRzLgorCisgICAgICAgIFBhdGNoIGJ5IEtlbm5ldGggUm9oZGUg
Q2hyaXN0aWFuc2VuIDxrZW5uZXRoQHdlYmtpdC5vcmc+IGFuZAorICAgICAgICAgICAgICAgICBB
bnRvbmlvIEdvbWVzIDxhbnRvbmlvLmdvbWVzQG9wZW5ib3NzYS5vcmc+IG9uIDIwMDktMDktMDcK
KworICAgICAgICAqIEFwaS9xd2VicGFnZS5jcHA6CisgICAgICAgICogQXBpL3F3ZWJwYWdlX3Au
aDoKKyAgICAgICAgKiBBcGkvcXdlYnZpZXcuY3BwOgorICAgICAgICAoUVdlYlZpZXdQcml2YXRl
OjpRV2ViVmlld1ByaXZhdGUpOgorICAgICAgICAoUVdlYlZpZXc6OmV2ZW50KToKKwogMjAwOS0w
OS0wOCAgTGFzemxvIEdvbWJvcyAgPGxhc3psby4xLmdvbWJvc0Bub2tpYS5jb20+CiAKICAgICAg
ICAgUmV2aWV3ZWQgYnkgU2ltb24gSGF1c21hbm4uCi0tIAoxLjYuMC40Cgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>