<?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>16144</bug_id>
          
          <creation_ts>2007-11-26 12:15:20 -0800</creation_ts>
          <short_desc>[GTK] Clipboard/ selection handling functions</short_desc>
          <delta_ts>2007-12-22 08:35:39 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKitGTK</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Other</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>Gtk</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Christian Dywan">christian</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>alp</cc>
    
    <cc>lethalman88</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>62384</commentid>
    <comment_count>0</comment_count>
    <who name="Christian Dywan">christian</who>
    <bug_when>2007-11-26 12:15:20 -0800</bug_when>
    <thetext>It is currently not possible to handle clipboard or selection related actions such as copy, paste or retrieving selected text.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>62385</commentid>
    <comment_count>1</comment_count>
      <attachid>17534</attachid>
    <who name="Christian Dywan">christian</who>
    <bug_when>2007-11-26 12:23:25 -0800</bug_when>
    <thetext>Created attachment 17534
Implement several editor functions

This patch implements several editor functions, three of them are unimplemented.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>62431</commentid>
    <comment_count>2</comment_count>
    <who name="Nigel Tao">nigel.tao.gnome</who>
    <bug_when>2007-11-26 22:39:21 -0800</bug_when>
    <thetext>I&apos;m not knowledgable enough to review the meat of this patch, but in WebKit/gtk/Api/webkitgtkpage.h you&apos;ve declared webkit_page_can_cut_clipboard twice.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>63318</commentid>
    <comment_count>3</comment_count>
    <who name="Luca Bruno">lethalman88</who>
    <bug_when>2007-12-04 23:41:28 -0800</bug_when>
    <thetext>Hi,
this issue has been fixed for the clipboard part in #15911.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>63435</commentid>
    <comment_count>4</comment_count>
      <attachid>17743</attachid>
    <who name="Christian Dywan">christian</who>
    <bug_when>2007-12-06 00:50:13 -0800</bug_when>
    <thetext>Created attachment 17743
Update api, use new action signals

This is an updated version, taking the new action signals into account.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>63513</commentid>
    <comment_count>5</comment_count>
    <who name="Alp Toker">alp</who>
    <bug_when>2007-12-06 12:21:50 -0800</bug_when>
    <thetext>These don&apos;t look quite like the GtkTextView way of doing things, but I didn&apos;t investigate deeply. Can you give an API rationale for this set of changes?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>63528</commentid>
    <comment_count>6</comment_count>
    <who name="Luca Bruno">lethalman88</who>
    <bug_when>2007-12-06 14:10:07 -0800</bug_when>
    <thetext>Most of them are in GtkEditable interface.
We should wait for this: http://bugs.webkit.org/show_bug.cgi?id=16286</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>63679</commentid>
    <comment_count>7</comment_count>
    <who name="Alp Toker">alp</who>
    <bug_when>2007-12-08 09:54:37 -0800</bug_when>
    <thetext>Another concern is that the equivalent functions in GtkTextBuffer accept GtkClipboard parameters.

This patch is looking like it will need more thought.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>63823</commentid>
    <comment_count>8</comment_count>
    <who name="Alp Toker">alp</who>
    <bug_when>2007-12-10 07:49:48 -0800</bug_when>
    <thetext>GtkEditable turns out not to be worth implementing. See http://bugs.webkit.org/show_bug.cgi?id=16286 for details.

On this bug, I&apos;m still waiting for comments on whether we can make the API look more similar to other GTK+ widgets, or whether we&apos;re stuck with using the text command API and its limitations.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>64166</commentid>
    <comment_count>9</comment_count>
    <who name="Luca Bruno">lethalman88</who>
    <bug_when>2007-12-14 08:57:27 -0800</bug_when>
    <thetext>We shouldn&apos;t emit the signal when _*_clipboard is called. Instead _real_copy must call _copy_clipboard with a default GtkClipboard*.
We have to create a WebCoreSupport bridge between platform and the API so that Pasteboard can emit a signal on the WebView.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>64310</commentid>
    <comment_count>10</comment_count>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2007-12-15 11:20:48 -0800</bug_when>
    <thetext>(In reply to comment #4)
&gt; Created an attachment (id=17743) [edit]
&gt; Update api, use new action signals
&gt; 
&gt; This is an updated version, taking the new action signals into account.
&gt; 

I was halfway re-implementing this when alp pointed me to this bug, so a few comments:

+        return frameData-&gt;frame-&gt;editor()-&gt;canCopy() || frameData-&gt;frame-&gt;editor()-&gt;canCopy();

missing the DTHML bit in the second one?

+        g_signal_emit_by_name(webView, &quot;cut-clipboard&quot;);

Can we emit the signals with g_signal_emit? We are storing the identifiers after all.

That&apos;s it, actually. Of course most functions are missing the docs, but I guess you know that :)

I&apos;ve checked the GtkClipboard stuff with Alp and I&apos;d say we don&apos;t need an explicit parameter for it at all. We&apos;ll double check with Owen, but I&apos;d say using GDK_SELECTION_CLIPBOARD internally should be good enough?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>64331</commentid>
    <comment_count>11</comment_count>
    <who name="Luca Bruno">lethalman88</who>
    <bug_when>2007-12-15 15:40:14 -0800</bug_when>
    <thetext>I think this is not the right way. First of all, i can&apos;t see why we need to emit the signal. Just call _copy_clipboard from _real_copy_clipboard. If you see, gtktextview/buffer don&apos;t emit the signal trough API.
Finally, also gtktextbuffer allows passing GtkClipboard instead GtkEditable doesn&apos;t have it.
I think we have to talk with WebCore guys to discuss about passing extradata when calling editing commands such as cut/copy/paste and be careful with this API.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>64443</commentid>
    <comment_count>12</comment_count>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2007-12-16 17:14:27 -0800</bug_when>
    <thetext>(In reply to comment #11)
&gt; I think this is not the right way. First of all, i can&apos;t see why we need to
&gt; emit the signal. Just call _copy_clipboard from _real_copy_clipboard. If you
&gt; see, gtktextview/buffer don&apos;t emit the signal trough API.

You need to emit the signal because there might be people connected to it. Those widgets don&apos;t have equivalent functions to these, that&apos;s why they don&apos;t emit the signal anywhere.

&gt; Finally, also gtktextbuffer allows passing GtkClipboard instead GtkEditable
&gt; doesn&apos;t have it.
&gt; I think we have to talk with WebCore guys to discuss about passing extradata
&gt; when calling editing commands such as cut/copy/paste and be careful with this
&gt; API.
&gt; 

</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>64496</commentid>
    <comment_count>13</comment_count>
    <who name="Luca Bruno">lethalman88</who>
    <bug_when>2007-12-17 01:35:56 -0800</bug_when>
    <thetext>&gt; You need to emit the signal because there might be people connected to it.
&gt; Those widgets don&apos;t have equivalent functions to these, that&apos;s why they don&apos;t
&gt; emit the signal anywhere.

Why? The could have the equivalent functions for emitting the signal as well, just they don&apos;t.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>64513</commentid>
    <comment_count>14</comment_count>
      <attachid>17961</attachid>
    <who name="Christian Dywan">christian</who>
    <bug_when>2007-12-17 06:22:49 -0800</bug_when>
    <thetext>Created attachment 17961
Updated accprding to comments

Removed surplus &quot;if (frameData-&gt;frame)&quot; checks Holger pointed out.

Using g_signal_emit as suggested by Xan.

Use performDelete() instead of clear().

Added missing documentation.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>64517</commentid>
    <comment_count>15</comment_count>
    <who name="Luca Bruno">lethalman88</who>
    <bug_when>2007-12-17 07:02:14 -0800</bug_when>
    <thetext>I think you should get the focused frame instead:

Frame* frame = core(webView)-&gt;focusController()-&gt;focusedOrMainFrame();

And remove all those old lines of code.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>64817</commentid>
    <comment_count>16</comment_count>
      <attachid>18006</attachid>
    <who name="Christian Dywan">christian</who>
    <bug_when>2007-12-20 08:21:52 -0800</bug_when>
    <thetext>Created attachment 18006
Updated to use focusedOrMainFrame()</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>64965</commentid>
    <comment_count>17</comment_count>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2007-12-21 10:10:53 -0800</bug_when>
    <thetext>(In reply to comment #16)
&gt; Created an attachment (id=18006) [edit]
&gt; Updated to use focusedOrMainFrame()
&gt; 

This looks good to me. Seems we alredy handle the clipboard stuff for GDK_SELECTION_CLIPBOARD in PasteboardGtk.cpp (what about selected text and GDK_SELECTION_PRIMARY?), so I&apos;d say let&apos;s commit this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>65010</commentid>
    <comment_count>18</comment_count>
      <attachid>18006</attachid>
    <who name="Alp Toker">alp</who>
    <bug_when>2007-12-21 16:28:38 -0800</bug_when>
    <thetext>Comment on attachment 18006
Updated to use focusedOrMainFrame()

r=me

ChangeLog entry next time please. There are a few spelling mistakes and the gchar* return needs to remain private as discussed until string memory management is dealt with.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>65012</commentid>
    <comment_count>19</comment_count>
    <who name="Alp Toker">alp</who>
    <bug_when>2007-12-21 16:37:18 -0800</bug_when>
    <thetext>Landed in r28942 with discussed changes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>65034</commentid>
    <comment_count>20</comment_count>
      <attachid>18056</attachid>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2007-12-21 18:26:01 -0800</bug_when>
    <thetext>Created attachment 18056
0001-Fix-signal-ids-in-g_signal_emit-for-clipboard-functi.patch

Subject: [PATCH] Fix signal ids in g_signal_emit for clipboard functions.

---
 WebKit/gtk/ChangeLog                 |   11 +++++++++++
 WebKit/gtk/WebView/webkitwebview.cpp |    8 ++++----
 2 files changed, 15 insertions(+), 4 deletions(-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>65072</commentid>
    <comment_count>21</comment_count>
      <attachid>18056</attachid>
    <who name="Alp Toker">alp</who>
    <bug_when>2007-12-22 08:32:55 -0800</bug_when>
    <thetext>Comment on attachment 18056
0001-Fix-signal-ids-in-g_signal_emit-for-clipboard-functi.patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>65073</commentid>
    <comment_count>22</comment_count>
    <who name="Alp Toker">alp</who>
    <bug_when>2007-12-22 08:35:39 -0800</bug_when>
    <thetext>Follow-up patch landed in r28958.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>17534</attachid>
            <date>2007-11-26 12:23:25 -0800</date>
            <delta_ts>2007-12-06 00:50:13 -0800</delta_ts>
            <desc>Implement several editor functions</desc>
            <filename>clipboard.diff</filename>
            <type>text/plain</type>
            <size>7764</size>
            <attacher name="Christian Dywan">christian</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdC9ndGsvQXBpL3dlYmtpdGd0a3BhZ2UuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdl
YktpdC9ndGsvQXBpL3dlYmtpdGd0a3BhZ2UuY3BwCShSZXZpc2lvbiAyODA0MikKKysrIFdlYktp
dC9ndGsvQXBpL3dlYmtpdGd0a3BhZ2UuY3BwCShBcmJlaXRza29waWUpCkBAIC0zOCw3ICszOCw5
IEBACiAjaW5jbHVkZSAiTm90SW1wbGVtZW50ZWQuaCIKICNpbmNsdWRlICJDaHJvbWVDbGllbnRH
dGsuaCIKICNpbmNsdWRlICJDb250ZXh0TWVudUNsaWVudEd0ay5oIgorI2luY2x1ZGUgIkNTdHJp
bmcuaCIKICNpbmNsdWRlICJEcmFnQ2xpZW50R3RrLmgiCisjaW5jbHVkZSAiRWRpdG9yLmgiCiAj
aW5jbHVkZSAiRWRpdG9yQ2xpZW50R3RrLmgiCiAjaW5jbHVkZSAiRXZlbnRIYW5kbGVyLmgiCiAj
aW5jbHVkZSAiSGl0VGVzdFJlcXVlc3QuaCIKQEAgLTc2Miw3ICs3NjQsMTc3IEBACiAgICAgICAg
IGxvYWRlci0+ZXhlY3V0ZVNjcmlwdChTdHJpbmc6OmZyb21VVEY4KHNjcmlwdCksIHRydWUpOwog
fQogCitnYm9vbGVhbiB3ZWJraXRfcGFnZV9jYW5fY3V0X2NsaXBib2FyZChXZWJLaXRQYWdlKiBw
YWdlKQoreworICAgIGdfcmV0dXJuX3ZhbF9pZl9mYWlsKFdFQktJVF9JU19QQUdFKHBhZ2UpLCBG
QUxTRSk7CisKKyAgICBXZWJLaXRQYWdlUHJpdmF0ZSogcGFnZURhdGEgPSBXRUJLSVRfUEFHRV9H
RVRfUFJJVkFURShwYWdlKTsKKyAgICBXZWJLaXRGcmFtZVByaXZhdGUqIGZyYW1lRGF0YSA9IFdF
QktJVF9GUkFNRV9HRVRfUFJJVkFURShwYWdlRGF0YS0+bWFpbkZyYW1lKTsKKyAgICBpZiAoZnJh
bWVEYXRhLT5mcmFtZSkKKyAgICAgICAgcmV0dXJuIGZyYW1lRGF0YS0+ZnJhbWUtPmVkaXRvcigp
LT5jYW5DdXQoKSB8fCBmcmFtZURhdGEtPmZyYW1lLT5lZGl0b3IoKS0+Y2FuREhUTUxDdXQoKTsK
KyAgICByZXR1cm4gRkFMU0U7Cit9CisKK2dib29sZWFuIHdlYmtpdF9wYWdlX2Nhbl9jb3B5X2Ns
aXBib2FyZChXZWJLaXRQYWdlKiBwYWdlKQoreworICAgIGdfcmV0dXJuX3ZhbF9pZl9mYWlsKFdF
QktJVF9JU19QQUdFKHBhZ2UpLCBGQUxTRSk7CisKKyAgICBXZWJLaXRQYWdlUHJpdmF0ZSogcGFn
ZURhdGEgPSBXRUJLSVRfUEFHRV9HRVRfUFJJVkFURShwYWdlKTsKKyAgICBXZWJLaXRGcmFtZVBy
aXZhdGUqIGZyYW1lRGF0YSA9IFdFQktJVF9GUkFNRV9HRVRfUFJJVkFURShwYWdlRGF0YS0+bWFp
bkZyYW1lKTsKKyAgICBpZiAoZnJhbWVEYXRhLT5mcmFtZSkKKyAgICAgICAgcmV0dXJuIGZyYW1l
RGF0YS0+ZnJhbWUtPmVkaXRvcigpLT5jYW5Db3B5KCkgfHwgZnJhbWVEYXRhLT5mcmFtZS0+ZWRp
dG9yKCktPmNhbkNvcHkoKTsKKyAgICByZXR1cm4gRkFMU0U7Cit9CisKK2dib29sZWFuIHdlYmtp
dF9wYWdlX2Nhbl9wYXN0ZV9jbGlwYm9hcmQoV2ViS2l0UGFnZSogcGFnZSkKK3sKKyAgICBnX3Jl
dHVybl92YWxfaWZfZmFpbChXRUJLSVRfSVNfUEFHRShwYWdlKSwgRkFMU0UpOworCisgICAgV2Vi
S2l0UGFnZVByaXZhdGUqIHBhZ2VEYXRhID0gV0VCS0lUX1BBR0VfR0VUX1BSSVZBVEUocGFnZSk7
CisgICAgV2ViS2l0RnJhbWVQcml2YXRlKiBmcmFtZURhdGEgPSBXRUJLSVRfRlJBTUVfR0VUX1BS
SVZBVEUocGFnZURhdGEtPm1haW5GcmFtZSk7CisgICAgaWYgKGZyYW1lRGF0YS0+ZnJhbWUpCisg
ICAgICAgIHJldHVybiBmcmFtZURhdGEtPmZyYW1lLT5lZGl0b3IoKS0+Y2FuUGFzdGUoKSB8fCBm
cmFtZURhdGEtPmZyYW1lLT5lZGl0b3IoKS0+Y2FuREhUTUxQYXN0ZSgpOworICAgIHJldHVybiBG
QUxTRTsKK30KKwordm9pZCB3ZWJraXRfcGFnZV9jdXRfY2xpcGJvYXJkKFdlYktpdFBhZ2UqIHBh
Z2UpCit7CisgICAgZ19yZXR1cm5faWZfZmFpbChXRUJLSVRfSVNfUEFHRShwYWdlKSk7CisKKyAg
ICBpZiAod2Via2l0X3BhZ2VfY2FuX2N1dF9jbGlwYm9hcmQocGFnZSkpIHsKKyAgICAgICAgV2Vi
S2l0UGFnZVByaXZhdGUqIHBhZ2VEYXRhID0gV0VCS0lUX1BBR0VfR0VUX1BSSVZBVEUocGFnZSk7
CisgICAgICAgIFdlYktpdEZyYW1lUHJpdmF0ZSogZnJhbWVEYXRhID0gV0VCS0lUX0ZSQU1FX0dF
VF9QUklWQVRFKHBhZ2VEYXRhLT5tYWluRnJhbWUpOworICAgICAgICBmcmFtZURhdGEtPmZyYW1l
LT5lZGl0b3IoKS0+Y3V0KCk7CisgICAgfQorfQorCit2b2lkIHdlYmtpdF9wYWdlX2NvcHlfY2xp
cGJvYXJkKFdlYktpdFBhZ2UqIHBhZ2UpCit7CisgICAgZ19yZXR1cm5faWZfZmFpbChXRUJLSVRf
SVNfUEFHRShwYWdlKSk7CisKKyAgICBpZiAod2Via2l0X3BhZ2VfY2FuX2NvcHlfY2xpcGJvYXJk
KHBhZ2UpKSB7CisgICAgICAgIFdlYktpdFBhZ2VQcml2YXRlKiBwYWdlRGF0YSA9IFdFQktJVF9Q
QUdFX0dFVF9QUklWQVRFKHBhZ2UpOworICAgICAgICBXZWJLaXRGcmFtZVByaXZhdGUqIGZyYW1l
RGF0YSA9IFdFQktJVF9GUkFNRV9HRVRfUFJJVkFURShwYWdlRGF0YS0+bWFpbkZyYW1lKTsKKyAg
ICAgICAgZnJhbWVEYXRhLT5mcmFtZS0+ZWRpdG9yKCktPmNvcHkoKTsKKyAgICB9Cit9CisKK3Zv
aWQgd2Via2l0X3BhZ2VfcGFzdGVfY2xpcGJvYXJkKFdlYktpdFBhZ2UqIHBhZ2UpCit7CisgICAg
Z19yZXR1cm5faWZfZmFpbChXRUJLSVRfSVNfUEFHRShwYWdlKSk7CisKKyAgICBpZiAod2Via2l0
X3BhZ2VfY2FuX3Bhc3RlX2NsaXBib2FyZChwYWdlKSkgeworICAgICAgICBXZWJLaXRQYWdlUHJp
dmF0ZSogcGFnZURhdGEgPSBXRUJLSVRfUEFHRV9HRVRfUFJJVkFURShwYWdlKTsKKyAgICAgICAg
V2ViS2l0RnJhbWVQcml2YXRlKiBmcmFtZURhdGEgPSBXRUJLSVRfRlJBTUVfR0VUX1BSSVZBVEUo
cGFnZURhdGEtPm1haW5GcmFtZSk7CisgICAgICAgIGZyYW1lRGF0YS0+ZnJhbWUtPmVkaXRvcigp
LT5wYXN0ZSgpOworICAgIH0KK30KKwordm9pZCB3ZWJraXRfcGFnZV9kZWxldGVfc2VsZWN0aW9u
KFdlYktpdFBhZ2UqIHBhZ2UpCit7CisgICAgZ19yZXR1cm5faWZfZmFpbChXRUJLSVRfSVNfUEFH
RShwYWdlKSk7CisKKyAgICBpZiAod2Via2l0X3BhZ2VfZ2V0X3NlbGVjdGlvbl9ib3VuZHMocGFn
ZSwgMCwgMCkpIHsKKyAgICAgICAgV2ViS2l0UGFnZVByaXZhdGUqIHBhZ2VEYXRhID0gV0VCS0lU
X1BBR0VfR0VUX1BSSVZBVEUocGFnZSk7CisgICAgICAgIFdlYktpdEZyYW1lUHJpdmF0ZSogZnJh
bWVEYXRhID0gV0VCS0lUX0ZSQU1FX0dFVF9QUklWQVRFKHBhZ2VEYXRhLT5tYWluRnJhbWUpOwor
ICAgICAgICBmcmFtZURhdGEtPmZyYW1lLT5lZGl0b3IoKS0+Y2xlYXIoKTsKKyAgICB9Cit9CisK
IC8qKgorICogd2Via2l0X3BhZ2VfZ2V0X3NlbGVjdGVkX3RleHQ6CisgKiBAcGFnZTogYSAjV2Vi
S2l0UGFnZQorICoKKyAqIFJldHJpZXZlcyB0aGUgc2VsZWN0ZWQgdGV4dCBpZiBhbnkuCisgKgor
ICogUmV0dXJuIHZhbHVlOiBhIG5ld2x5IGFsbG9jYXRlZCBzdHJpbmcgd2l0aCB0aGUgc2VsZWN0
aW9uIG9yIE5VTEwKKyAqLworZ2NoYXIqIHdlYmtpdF9wYWdlX2dldF9zZWxlY3RlZF90ZXh0KFdl
YktpdFBhZ2UqIHBhZ2UpCit7CisgICAgZ19yZXR1cm5fdmFsX2lmX2ZhaWwoV0VCS0lUX0lTX1BB
R0UocGFnZSksIDApOworCisgICAgV2ViS2l0UGFnZVByaXZhdGUqIHBhZ2VEYXRhID0gV0VCS0lU
X1BBR0VfR0VUX1BSSVZBVEUocGFnZSk7CisgICAgV2ViS2l0RnJhbWVQcml2YXRlKiBmcmFtZURh
dGEgPSBXRUJLSVRfRlJBTUVfR0VUX1BSSVZBVEUocGFnZURhdGEtPm1haW5GcmFtZSk7CisgICAg
cmV0dXJuIGdfc3RyZHVwKGZyYW1lRGF0YS0+ZnJhbWUtPnNlbGVjdGVkVGV4dCgpLnV0ZjgoKS5k
YXRhKCkpOworfQorCisvKioKKyAqIHdlYmtpdF9wYWdlX3NlbGVjdF9hbGw6CisgKiBAcGFnZTog
YSAjV2ViS2l0UGFnZQorICoKKyAqIEF0dGVtcHRzIHRvIHNlbGVjdCBldmVyeXRoaW5nIGluc2lk
ZSB0aGUgQHBhZ2UuCisgKi8KK3ZvaWQgd2Via2l0X3BhZ2Vfc2VsZWN0X2FsbChXZWJLaXRQYWdl
KiBwYWdlKQoreworICAgIGdfcmV0dXJuX3ZhbF9pZl9mYWlsKFdFQktJVF9JU19QQUdFKHBhZ2Up
LCAwKTsKKworICAgIG5vdEltcGxlbWVudGVkKCk7Cit9CisKKy8qKgorICogd2Via2l0X3BhZ2Vf
c2VsZWN0X3JlZ2lvbjoKKyAqIEBwYWdlOiBhICNXZWJLaXRQYWdlCisgKiBAc3RhcnQ6IHN0YXJ0
IHBvc2l0aW9uCisgKiBAZW5kOiBlbmQgcG9zaXRpb24KKyAqCisgKiBTZWxlY3RzIHRleHQgaW4g
dGhlIHNwZWNpZmllZCBib3VuZHMuIElmIEBlbmQgaXMgbmVnYXRpdmUsIHRoZW4gdGhlIHRoZSBj
aGFyYWN0ZXJzIHNlbGVjdGVkIHdpbGwgYmUgdGhvc2UgY2hhcmFjdGVycyBmcm9tIEBzdGFydCB0
byB0aGUgZW5kIG9mIHRoZSB0ZXh0LgorICoKKyAqIFJldHVybiB2YWx1ZTogVFJVRSBpZiB0aGVy
ZSBpcyBhIHNlbGVjdGlvbgorICovCit2b2lkIHdlYmtpdF9wYWdlX3NlbGVjdF9yZWdpb24oV2Vi
S2l0UGFnZSogcGFnZSwgZ2ludCBzdGFydCwgZ2ludCBlbmQpCit7CisgICAgZ19yZXR1cm5faWZf
ZmFpbChXRUJLSVRfSVNfUEFHRShwYWdlKSk7CisKKyAgICBub3RJbXBsZW1lbnRlZCgpOworfQor
CisvKioKKyAqIHdlYmtpdF9wYWdlX2dldF9jaGFyczoKKyAqIEBwYWdlOiBhICNXZWJLaXRQYWdl
CisgKiBAc3RhcnQ6IHN0YXJ0IHBvc2l0aW9uCisgKiBAZW5kOiBlbmQgcG9zaXRpb24KKyAqCisg
KiBSZXRyaWV2ZXMgdGhlIGNoYXJhY3RlcnMgaW4gdGhlIHNwZWNpZmllZCBib3VuZHMuICBJZiBA
ZW5kIGlzIG5lZ2F0aXZlLCB0aGVuIHRoZSB0aGUgY2hhcmFjdGVycyBzZWxlY3RlZCB3aWxsIGJl
IHRob3NlIGNoYXJhY3RlcnMgZnJvbSBAc3RhcnQgdG8gdGhlIGVuZCBvZiB0aGUgdGV4dC4KKyAq
CisgKiBSZXR1cm4gdmFsdWU6IGEgbmV3bHkgYWxsb2NhdGVkIHN0cmluZyB3aXRoIHRoZSBjaGFy
YWN0ZXJzIGluIHRoZSBzcGVjaWZpZWQgYm91bmRzCisgKi8KK2djaGFyKiB3ZWJraXRfcGFnZV9n
ZXRfY2hhcnMoV2ViS2l0UGFnZSogcGFnZSwgZ2ludCBzdGFydCwgZ2ludCBlbmQpCit7CisgICAg
Z19yZXR1cm5fdmFsX2lmX2ZhaWwoV0VCS0lUX0lTX1BBR0UocGFnZSksIDApOworCisgICAgbm90
SW1wbGVtZW50ZWQoKTsKKyAgICByZXR1cm4gMDsKK30KKworLyoqCisgKiB3ZWJraXRfcGFnZV9n
ZXRfc2VsZWN0aW9uX2JvdW5kczoKKyAqIEBwYWdlOiBhICNXZWJLaXRQYWdlCisgKiBAc3RhcnQ6
IGxvY2F0aW9uIHRvIHN0b3JlIHRoZSBzdGFydCBwb3NpdGlvbiBvciBOVUxMCisgKiBAZW5kOiBs
b2NhdGlvbiB0byBzdG9yZSB0aGUgZW5kIHBvc2l0aW9uIG9yIE5VTEwKKyAqCisgKiBSZXRyaWV2
ZXMgdGhlIHNlbGVjdGlvbiBib3VuZHMgaWYgdGhlcmUgaXMgYSBzZWxlY3Rpb24uCisgKgorICog
UmV0dXJuIHZhbHVlOiBUUlVFIGlmIHRoZXJlIGlzIGEgc2VsZWN0aW9uCisgKi8KK2dib29sZWFu
IHdlYmtpdF9wYWdlX2dldF9zZWxlY3Rpb25fYm91bmRzKFdlYktpdFBhZ2UqIHBhZ2UsIGdpbnQq
IHN0YXJ0LCBnaW50KiBlbmQpCit7CisgICAgZ19yZXR1cm5fdmFsX2lmX2ZhaWwoV0VCS0lUX0lT
X1BBR0UocGFnZSksIEZBTFNFKTsKKworICAgIFdlYktpdFBhZ2VQcml2YXRlKiBwYWdlRGF0YSA9
IFdFQktJVF9QQUdFX0dFVF9QUklWQVRFKHBhZ2UpOworICAgIFdlYktpdEZyYW1lUHJpdmF0ZSog
ZnJhbWVEYXRhID0gV0VCS0lUX0ZSQU1FX0dFVF9QUklWQVRFKHBhZ2VEYXRhLT5tYWluRnJhbWUp
OworICAgIFJlZlB0cjxSYW5nZT4gcmFuZ2UgPSBmcmFtZURhdGEtPmZyYW1lLT5zZWxlY3Rpb25D
b250cm9sbGVyKCktPnNlbGVjdGlvbigpLnRvUmFuZ2UoKTsKKyAgICBpZiAocmFuZ2UpIHsKKyAg
ICAgICAgRXhjZXB0aW9uQ29kZSBleGNlcHRpb25Db2RlID0gMDsKKyAgICAgICAgaWYgKHN0YXJ0
KQorICAgICAgICAgICAgKnN0YXJ0ID0gcmFuZ2UtPnN0YXJ0T2Zmc2V0KGV4Y2VwdGlvbkNvZGUp
OworICAgICAgICBpZiAoZW5kKQorICAgICAgICAgICAgKmVuZCA9IHJhbmdlLT5lbmRPZmZzZXQo
ZXhjZXB0aW9uQ29kZSk7CisgICAgICAgIHJldHVybiBUUlVFOworICAgIH0KKyAgICByZXR1cm4g
RkFMU0U7Cit9CisKKy8qKgogICogd2Via2l0X3BhZ2VfZ2V0X2VkaXRhYmxlOgogICogQHBhZ2U6
IGEgI1dlYktpdFBhZ2UKICAqCkluZGV4OiBXZWJLaXQvZ3RrL0FwaS93ZWJraXRndGtwYWdlLmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gV2ViS2l0L2d0ay9BcGkvd2Via2l0Z3RrcGFnZS5oCShSZXZpc2lvbiAy
ODA0MikKKysrIFdlYktpdC9ndGsvQXBpL3dlYmtpdGd0a3BhZ2UuaAkoQXJiZWl0c2tvcGllKQpA
QCAtMSw1ICsxLDYgQEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDcgSG9sZ2VyIEhhbnMgUGV0
ZXIgRnJleXRoZXIKKyAqIENvcHlyaWdodCAoQykgMjAwNyBDaHJpc3RpYW4gRHl3YW4gY2hyaXN0
aWFuQHR3b3RvYXN0cy5kZQogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0xMjQs
NiArMTI1LDQ1IEBACiB3ZWJraXRfcGFnZV9leGVjdXRlX3NjcmlwdCAoV2ViS2l0UGFnZSogcGFn
ZSwgY29uc3QgZ2NoYXIqIHNjcmlwdCk7CiAKIFdFQktJVF9BUEkgZ2Jvb2xlYW4KK3dlYmtpdF9w
YWdlX2Nhbl9jdXRfY2xpcGJvYXJkIChXZWJLaXRQYWdlKiBwYWdlKTsKKworV0VCS0lUX0FQSSBn
Ym9vbGVhbgord2Via2l0X3BhZ2VfY2FuX2N1dF9jbGlwYm9hcmQgKFdlYktpdFBhZ2UqIHBhZ2Up
OworCitXRUJLSVRfQVBJIGdib29sZWFuCit3ZWJraXRfcGFnZV9jYW5fY29weV9jbGlwYm9hcmQg
KFdlYktpdFBhZ2UqIHBhZ2UpOworCitXRUJLSVRfQVBJIGdib29sZWFuCit3ZWJraXRfcGFnZV9j
YW5fcGFzdGVfY2xpcGJvYXJkIChXZWJLaXRQYWdlKiBwYWdlKTsKKworV0VCS0lUX0FQSSB2b2lk
Cit3ZWJraXRfcGFnZV9jdXRfY2xpcGJvYXJkIChXZWJLaXRQYWdlKiBwYWdlKTsKKworV0VCS0lU
X0FQSSB2b2lkCit3ZWJraXRfcGFnZV9jb3B5X2NsaXBib2FyZCAoV2ViS2l0UGFnZSogcGFnZSk7
CisKK1dFQktJVF9BUEkgdm9pZAord2Via2l0X3BhZ2VfcGFzdGVfY2xpcGJvYXJkKFdlYktpdFBh
Z2UqIHBhZ2UpOworCitXRUJLSVRfQVBJIHZvaWQKK3dlYmtpdF9wYWdlX2RlbGV0ZV9zZWxlY3Rp
b24gKFdlYktpdFBhZ2UqIHBhZ2UpOworCitXRUJLSVRfQVBJIGdjaGFyKgord2Via2l0X3BhZ2Vf
Z2V0X3NlbGVjdGVkX3RleHQgKFdlYktpdFBhZ2UqIHBhZ2UpOworCitXRUJLSVRfQVBJIHZvaWQK
K3dlYmtpdF9wYWdlX2dldF9zZWxlY3RfYWxsIChXZWJLaXRQYWdlKiBwYWdlKTsKKworV0VCS0lU
X0FQSSB2b2lkCit3ZWJraXRfcGFnZV9zZWxlY3RfcmVnaW9uIChXZWJLaXRQYWdlKiBwYWdlLCBn
aW50IHN0YXJ0LCBnaW50IGVuZCk7CisKK1dFQktJVF9BUEkgZ2NoYXIqCit3ZWJraXRfcGFnZV9n
ZXRfY2hhcnMgKFdlYktpdFBhZ2UqIHBhZ2UsIGdpbnQgc3RhcnQsIGdpbnQgZW5kKTsKKworV0VC
S0lUX0FQSSBnYm9vbGVhbgord2Via2l0X3BhZ2VfZ2V0X3NlbGVjdGlvbl9ib3VuZHMgKFdlYktp
dFBhZ2UqIHBhZ2UsIGdpbnQqIHN0YXJ0LCBnaW50KiBlbmQpOworCitXRUJLSVRfQVBJIGdib29s
ZWFuCiB3ZWJraXRfcGFnZV9nZXRfZWRpdGFibGUgKFdlYktpdFBhZ2UqIHBhZ2UpOwogCiBXRUJL
SVRfQVBJIHZvaWQK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>17743</attachid>
            <date>2007-12-06 00:50:13 -0800</date>
            <delta_ts>2007-12-17 06:22:49 -0800</delta_ts>
            <desc>Update api, use new action signals</desc>
            <filename>clipboard.diff</filename>
            <type>text/plain</type>
            <size>5629</size>
            <attacher name="Christian Dywan">christian</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdC9ndGsvV2ViVmlldy93ZWJraXR3ZWJ2aWV3LmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJLaXQvZ3RrL1dlYlZpZXcvd2Via2l0d2Vidmlldy5jcHAJKFJldmlzaW9uIDI4NDM4KQor
KysgV2ViS2l0L2d0ay9XZWJWaWV3L3dlYmtpdHdlYnZpZXcuY3BwCShBcmJlaXRza29waWUpCkBA
IC0zOCw2ICszOCw3IEBACiAjaW5jbHVkZSAiTm90SW1wbGVtZW50ZWQuaCIKICNpbmNsdWRlICJD
aHJvbWVDbGllbnRHdGsuaCIKICNpbmNsdWRlICJDb250ZXh0TWVudUNsaWVudEd0ay5oIgorI2lu
Y2x1ZGUgIkNTdHJpbmcuaCIKICNpbmNsdWRlICJEcmFnQ2xpZW50R3RrLmgiCiAjaW5jbHVkZSAi
RWRpdG9yQ2xpZW50R3RrLmgiCiAjaW5jbHVkZSAiRXZlbnRIYW5kbGVyLmgiCkBAIC05MjcsNyAr
OTI4LDExOSBAQAogICAgICAgICBsb2FkZXItPmV4ZWN1dGVTY3JpcHQoU3RyaW5nOjpmcm9tVVRG
OChzY3JpcHQpLCB0cnVlKTsKIH0KIAorZ2Jvb2xlYW4gd2Via2l0X3dlYl92aWV3X2Nhbl9jdXRf
Y2xpcGJvYXJkKFdlYktpdFdlYlZpZXcqIHdlYlZpZXcpCit7CisgICAgZ19yZXR1cm5fdmFsX2lm
X2ZhaWwoV0VCS0lUX0lTX1dFQl9WSUVXKHdlYlZpZXcpLCBGQUxTRSk7CisKKyAgICBXZWJLaXRX
ZWJWaWV3UHJpdmF0ZSogd2ViVmlld0RhdGEgPSBXRUJLSVRfV0VCX1ZJRVdfR0VUX1BSSVZBVEUo
d2ViVmlldyk7CisgICAgV2ViS2l0V2ViRnJhbWVQcml2YXRlKiBmcmFtZURhdGEgPSBXRUJLSVRf
V0VCX0ZSQU1FX0dFVF9QUklWQVRFKHdlYlZpZXdEYXRhLT5tYWluRnJhbWUpOworICAgIGlmIChm
cmFtZURhdGEtPmZyYW1lKQorICAgICAgICByZXR1cm4gZnJhbWVEYXRhLT5mcmFtZS0+ZWRpdG9y
KCktPmNhbkN1dCgpIHx8IGZyYW1lRGF0YS0+ZnJhbWUtPmVkaXRvcigpLT5jYW5ESFRNTEN1dCgp
OworICAgIHJldHVybiBGQUxTRTsKK30KKworZ2Jvb2xlYW4gd2Via2l0X3dlYl92aWV3X2Nhbl9j
b3B5X2NsaXBib2FyZChXZWJLaXRXZWJWaWV3KiB3ZWJWaWV3KQoreworICAgIGdfcmV0dXJuX3Zh
bF9pZl9mYWlsKFdFQktJVF9JU19XRUJfVklFVyh3ZWJWaWV3KSwgRkFMU0UpOworCisgICAgV2Vi
S2l0V2ViVmlld1ByaXZhdGUqIHdlYlZpZXdEYXRhID0gV0VCS0lUX1dFQl9WSUVXX0dFVF9QUklW
QVRFKHdlYlZpZXcpOworICAgIFdlYktpdFdlYkZyYW1lUHJpdmF0ZSogZnJhbWVEYXRhID0gV0VC
S0lUX1dFQl9GUkFNRV9HRVRfUFJJVkFURSh3ZWJWaWV3RGF0YS0+bWFpbkZyYW1lKTsKKyAgICBp
ZiAoZnJhbWVEYXRhLT5mcmFtZSkKKyAgICAgICAgcmV0dXJuIGZyYW1lRGF0YS0+ZnJhbWUtPmVk
aXRvcigpLT5jYW5Db3B5KCkgfHwgZnJhbWVEYXRhLT5mcmFtZS0+ZWRpdG9yKCktPmNhbkNvcHko
KTsKKyAgICByZXR1cm4gRkFMU0U7Cit9CisKK2dib29sZWFuIHdlYmtpdF93ZWJfdmlld19jYW5f
cGFzdGVfY2xpcGJvYXJkKFdlYktpdFdlYlZpZXcqIHdlYlZpZXcpCit7CisgICAgZ19yZXR1cm5f
dmFsX2lmX2ZhaWwoV0VCS0lUX0lTX1dFQl9WSUVXKHdlYlZpZXcpLCBGQUxTRSk7CisKKyAgICBX
ZWJLaXRXZWJWaWV3UHJpdmF0ZSogd2ViVmlld0RhdGEgPSBXRUJLSVRfV0VCX1ZJRVdfR0VUX1BS
SVZBVEUod2ViVmlldyk7CisgICAgV2ViS2l0V2ViRnJhbWVQcml2YXRlKiBmcmFtZURhdGEgPSBX
RUJLSVRfV0VCX0ZSQU1FX0dFVF9QUklWQVRFKHdlYlZpZXdEYXRhLT5tYWluRnJhbWUpOworICAg
IGlmIChmcmFtZURhdGEtPmZyYW1lKQorICAgICAgICByZXR1cm4gZnJhbWVEYXRhLT5mcmFtZS0+
ZWRpdG9yKCktPmNhblBhc3RlKCkgfHwgZnJhbWVEYXRhLT5mcmFtZS0+ZWRpdG9yKCktPmNhbkRI
VE1MUGFzdGUoKTsKKyAgICByZXR1cm4gRkFMU0U7Cit9CisKK3ZvaWQgd2Via2l0X3dlYl92aWV3
X2N1dF9jbGlwYm9hcmQoV2ViS2l0V2ViVmlldyogd2ViVmlldykKK3sKKyAgICBnX3JldHVybl9p
Zl9mYWlsKFdFQktJVF9JU19XRUJfVklFVyh3ZWJWaWV3KSk7CisKKyAgICBpZiAod2Via2l0X3dl
Yl92aWV3X2Nhbl9jdXRfY2xpcGJvYXJkKHdlYlZpZXcpKQorICAgICAgICBnX3NpZ25hbF9lbWl0
X2J5X25hbWUod2ViVmlldywgImN1dC1jbGlwYm9hcmQiKTsKK30KKwordm9pZCB3ZWJraXRfd2Vi
X3ZpZXdfY29weV9jbGlwYm9hcmQoV2ViS2l0V2ViVmlldyogd2ViVmlldykKK3sKKyAgICBnX3Jl
dHVybl9pZl9mYWlsKFdFQktJVF9JU19XRUJfVklFVyh3ZWJWaWV3KSk7CisKKyAgICBpZiAod2Vi
a2l0X3dlYl92aWV3X2Nhbl9jb3B5X2NsaXBib2FyZCh3ZWJWaWV3KSkKKyAgICAgICAgZ19zaWdu
YWxfZW1pdF9ieV9uYW1lKHdlYlZpZXcsICJjb3B5LWNsaXBib2FyZCIpOworfQorCit2b2lkIHdl
YmtpdF93ZWJfdmlld19wYXN0ZV9jbGlwYm9hcmQoV2ViS2l0V2ViVmlldyogd2ViVmlldykKK3sK
KyAgICBnX3JldHVybl9pZl9mYWlsKFdFQktJVF9JU19XRUJfVklFVyh3ZWJWaWV3KSk7CisKKyAg
ICBpZiAod2Via2l0X3dlYl92aWV3X2Nhbl9wYXN0ZV9jbGlwYm9hcmQod2ViVmlldykpCisgICAg
ICAgIGdfc2lnbmFsX2VtaXRfYnlfbmFtZSh3ZWJWaWV3LCAicGFzdGUtY2xpcGJvYXJkIik7Cit9
CisKK3ZvaWQgd2Via2l0X3dlYl92aWV3X2RlbGV0ZV9zZWxlY3Rpb24oV2ViS2l0V2ViVmlldyog
d2ViVmlldykKK3sKKyAgICBnX3JldHVybl9pZl9mYWlsKFdFQktJVF9JU19XRUJfVklFVyh3ZWJW
aWV3KSk7CisKKyAgICBXZWJLaXRXZWJWaWV3UHJpdmF0ZSogd2ViVmlld0RhdGEgPSBXRUJLSVRf
V0VCX1ZJRVdfR0VUX1BSSVZBVEUod2ViVmlldyk7CisgICAgV2ViS2l0V2ViRnJhbWVQcml2YXRl
KiBmcmFtZURhdGEgPSBXRUJLSVRfV0VCX0ZSQU1FX0dFVF9QUklWQVRFKHdlYlZpZXdEYXRhLT5t
YWluRnJhbWUpOworICAgIGZyYW1lRGF0YS0+ZnJhbWUtPmVkaXRvcigpLT5jbGVhcigpOworfQor
CisgLyoqCisgKiB3ZWJraXRfd2ViX3ZpZXdfaGFzX3NlbGVjdGlvbjoKKyAqIEB3ZWJfdmlldzog
YSAjV2ViS2l0V2ViVmlldworICoKKyAqIERldGVybWluZXMgd2V0aGVyIHRleHQgd2FzIHNlbGVj
dGVkLgorICoKKyAqIFJldHVybiB2YWx1ZTogJVRSVUUgaWYgdGhlcmUgaXMgc2VsZWN0ZWQgdGV4
dCwgJUZBTFNFIGlmIG5vdAorICovCitnYm9vbGVhbiB3ZWJraXRfd2ViX3ZpZXdfaGFzX3NlbGVj
dGlvbihXZWJLaXRXZWJWaWV3KiB3ZWJWaWV3KQoreworICAgIGdfcmV0dXJuX3ZhbF9pZl9mYWls
KFdFQktJVF9JU19XRUJfVklFVyh3ZWJWaWV3KSwgRkFMU0UpOworCisgICAgV2ViS2l0V2ViVmll
d1ByaXZhdGUqIHdlYlZpZXdEYXRhID0gV0VCS0lUX1dFQl9WSUVXX0dFVF9QUklWQVRFKHdlYlZp
ZXcpOworICAgIHJldHVybiB3ZWJWaWV3RGF0YS0+Y29yZVBhZ2UtPnNlbGVjdGlvbigpLmlzTm9u
ZSgpID8gVFJVRSA6IEZBTFNFOworfQorCisgLyoqCisgKiB3ZWJraXRfd2ViX3ZpZXdfZ2V0X3Nl
bGVjdGVkX3RleHQ6CisgKiBAd2ViX3ZpZXc6IGEgI1dlYktpdFdlYlZpZXcKKyAqCisgKiBSZXRy
aWV2ZXMgdGhlIHNlbGVjdGVkIHRleHQgaWYgYW55LgorICoKKyAqIFJldHVybiB2YWx1ZTogYSBu
ZXdseSBhbGxvY2F0ZWQgc3RyaW5nIHdpdGggdGhlIHNlbGVjdGlvbiBvciAlTlVMTAorICovCitn
Y2hhciogd2Via2l0X3dlYl92aWV3X2dldF9zZWxlY3RlZF90ZXh0KFdlYktpdFdlYlZpZXcqIHdl
YlZpZXcpCit7CisgICAgZ19yZXR1cm5fdmFsX2lmX2ZhaWwoV0VCS0lUX0lTX1dFQl9WSUVXKHdl
YlZpZXcpLCAwKTsKKworICAgIFdlYktpdFdlYlZpZXdQcml2YXRlKiB3ZWJWaWV3RGF0YSA9IFdF
QktJVF9XRUJfVklFV19HRVRfUFJJVkFURSh3ZWJWaWV3KTsKKyAgICBXZWJLaXRXZWJGcmFtZVBy
aXZhdGUqIGZyYW1lRGF0YSA9IFdFQktJVF9XRUJfRlJBTUVfR0VUX1BSSVZBVEUod2ViVmlld0Rh
dGEtPm1haW5GcmFtZSk7CisgICAgcmV0dXJuIGdfc3RyZHVwKGZyYW1lRGF0YS0+ZnJhbWUtPnNl
bGVjdGVkVGV4dCgpLnV0ZjgoKS5kYXRhKCkpOworfQorCiAvKioKKyAqIHdlYmtpdF93ZWJfdmll
d19zZWxlY3RfYWxsOgorICogQHdlYl92aWV3OiBhICNXZWJLaXRQYWdlCisgKgorICogQXR0ZW1w
dHMgdG8gc2VsZWN0IGV2ZXJ5dGhpbmcgaW5zaWRlIHRoZSBAd2ViX3ZpZXcuCisgKi8KK3ZvaWQg
d2Via2l0X3dlYl92aWV3X3NlbGVjdF9hbGwoV2ViS2l0V2ViVmlldyogd2ViVmlldykKK3sKKyAg
ICBnX3JldHVybl9pZl9mYWlsKFdFQktJVF9JU19XRUJfVklFVyh3ZWJWaWV3KSk7CisKKyAgICBn
X3NpZ25hbF9lbWl0X2J5X25hbWUod2ViVmlldywgInNlbGVjdC1hbGwiKTsKK30KKworLyoqCiAg
KiB3ZWJraXRfd2ViX3ZpZXdfZ2V0X2VkaXRhYmxlOgogICogQHdlYl92aWV3OiBhICNXZWJLaXRX
ZWJWaWV3CiAgKgpJbmRleDogV2ViS2l0L2d0ay9XZWJWaWV3L3dlYmtpdHdlYnZpZXcuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBXZWJLaXQvZ3RrL1dlYlZpZXcvd2Via2l0d2Vidmlldy5oCShSZXZpc2lvbiAy
ODQzOCkKKysrIFdlYktpdC9ndGsvV2ViVmlldy93ZWJraXR3ZWJ2aWV3LmgJKEFyYmVpdHNrb3Bp
ZSkKQEAgLTEyOSw2ICsxMjksMzYgQEAKIHdlYmtpdF93ZWJfdmlld19leGVjdXRlX3NjcmlwdCAo
V2ViS2l0V2ViVmlldyogd2ViX3ZpZXcsIGNvbnN0IGdjaGFyKiBzY3JpcHQpOwogCiBXRUJLSVRf
QVBJIGdib29sZWFuCit3ZWJraXRfd2ViX3ZpZXdfY2FuX2N1dF9jbGlwYm9hcmQgKFdlYktpdFdl
YlZpZXcqIHdlYl92aWV3KTsKKworV0VCS0lUX0FQSSBnYm9vbGVhbgord2Via2l0X3dlYl92aWV3
X2Nhbl9jb3B5X2NsaXBib2FyZCAoV2ViS2l0V2ViVmlldyogd2ViX3ZpZXcpOworCitXRUJLSVRf
QVBJIGdib29sZWFuCit3ZWJraXRfd2ViX3ZpZXdfY2FuX3Bhc3RlX2NsaXBib2FyZCAoV2ViS2l0
V2ViVmlldyogd2ViX3ZpZXcpOworCitXRUJLSVRfQVBJIHZvaWQKK3dlYmtpdF93ZWJfdmlld19j
dXRfY2xpcGJvYXJkIChXZWJLaXRXZWJWaWV3KiB3ZWJfdmlldyk7CisKK1dFQktJVF9BUEkgdm9p
ZAord2Via2l0X3dlYl92aWV3X2NvcHlfY2xpcGJvYXJkIChXZWJLaXRXZWJWaWV3KiB3ZWJfdmll
dyk7CisKK1dFQktJVF9BUEkgdm9pZAord2Via2l0X3dlYl92aWV3X3Bhc3RlX2NsaXBib2FyZChX
ZWJLaXRXZWJWaWV3KiB3ZWJfdmlldyk7CisKK1dFQktJVF9BUEkgdm9pZAord2Via2l0X3dlYl92
aWV3X2RlbGV0ZV9zZWxlY3Rpb24gKFdlYktpdFdlYlZpZXcqIHdlYl92aWV3KTsKKworV0VCS0lU
X0FQSSBnYm9vbGVhbgord2Via2l0X3dlYl92aWV3X2hhc19zZWxlY3Rpb24gKFdlYktpdFdlYlZp
ZXcqIHdlYl92aWV3KTsKKworV0VCS0lUX0FQSSBnY2hhcioKK3dlYmtpdF93ZWJfdmlld19nZXRf
c2VsZWN0ZWRfdGV4dCAoV2ViS2l0V2ViVmlldyogd2ViX3ZpZXcpOworCitXRUJLSVRfQVBJIHZv
aWQKK3dlYmtpdF93ZWJfdmlld19zZWxlY3RfYWxsIChXZWJLaXRXZWJWaWV3KiB3ZWJfdmlldyk7
CisKK1dFQktJVF9BUEkgZ2Jvb2xlYW4KIHdlYmtpdF93ZWJfdmlld19nZXRfZWRpdGFibGUgKFdl
YktpdFdlYlZpZXcqIHdlYl92aWV3KTsKIAogV0VCS0lUX0FQSSB2b2lkCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>17961</attachid>
            <date>2007-12-17 06:22:49 -0800</date>
            <delta_ts>2007-12-20 08:21:52 -0800</delta_ts>
            <desc>Updated accprding to comments</desc>
            <filename>clipboard.diff</filename>
            <type>text/plain</type>
            <size>6667</size>
            <attacher name="Christian Dywan">christian</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdC9ndGsvV2ViVmlldy93ZWJraXR3ZWJ2aWV3LmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJLaXQvZ3RrL1dlYlZpZXcvd2Via2l0d2Vidmlldy5jcHAJKFJldmlzaW9uIDI4ODA1KQor
KysgV2ViS2l0L2d0ay9XZWJWaWV3L3dlYmtpdHdlYnZpZXcuY3BwCShBcmJlaXRza29waWUpCkBA
IC0yOCw2ICsyOCw3IEBACiAjaW5jbHVkZSAiTm90SW1wbGVtZW50ZWQuaCIKICNpbmNsdWRlICJD
aHJvbWVDbGllbnRHdGsuaCIKICNpbmNsdWRlICJDb250ZXh0TWVudUNsaWVudEd0ay5oIgorI2lu
Y2x1ZGUgIkNTdHJpbmcuaCIKICNpbmNsdWRlICJEcmFnQ2xpZW50R3RrLmgiCiAjaW5jbHVkZSAi
RWRpdG9yLmgiCiAjaW5jbHVkZSAiRWRpdG9yQ2xpZW50R3RrLmgiCkBAIC05MzUsNiArOTM2LDE2
MCBAQAogfQogCiAvKioKKyAqIHdlYmtpdF93ZWJfdmlld19jdXRfY2xpcGJvYXJkOgorICogQHdl
Yl92aWV3OiBhICNXZWJLaXRQYWdlCisgKgorICogRGV0ZXJtaW5lcyB3ZXRoZXIgb3Igbm90IGl0
IGlzIGN1cnJlbnRseSBwb3NzaWJsZSB0byBjdXQgdG8gdGhlIGNsaXBib2FyZC4KKyAqCisgKiBS
ZXR1cm4gdmFsdWU6ICVUUlVFIGlmIGEgc2VsZWN0aW9uIGNhbiBiZSBjdXQsICVGQUxTRSBpZiBu
b3QKKyAqLworZ2Jvb2xlYW4gd2Via2l0X3dlYl92aWV3X2Nhbl9jdXRfY2xpcGJvYXJkKFdlYktp
dFdlYlZpZXcqIHdlYlZpZXcpCit7CisgICAgZ19yZXR1cm5fdmFsX2lmX2ZhaWwoV0VCS0lUX0lT
X1dFQl9WSUVXKHdlYlZpZXcpLCBGQUxTRSk7CisKKyAgICBXZWJLaXRXZWJWaWV3UHJpdmF0ZSog
d2ViVmlld0RhdGEgPSBXRUJLSVRfV0VCX1ZJRVdfR0VUX1BSSVZBVEUod2ViVmlldyk7CisgICAg
V2ViS2l0V2ViRnJhbWVQcml2YXRlKiBmcmFtZURhdGEgPSBXRUJLSVRfV0VCX0ZSQU1FX0dFVF9Q
UklWQVRFKHdlYlZpZXdEYXRhLT5tYWluRnJhbWUpOworICAgIHJldHVybiBmcmFtZURhdGEtPmZy
YW1lLT5lZGl0b3IoKS0+Y2FuQ3V0KCkgfHwgZnJhbWVEYXRhLT5mcmFtZS0+ZWRpdG9yKCktPmNh
bkRIVE1MQ3V0KCk7Cit9CisKKy8qKgorICogd2Via2l0X3dlYl92aWV3X2NvcHlfY2xpcGJvYXJk
OgorICogQHdlYl92aWV3OiBhICNXZWJLaXRQYWdlCisgKgorICogRGV0ZXJtaW5lcyB3ZXRoZXIg
b3Igbm90IGl0IGlzIGN1cnJlbnRseSBwb3NzaWJsZSB0byBjb3B5IHRvIHRoZSBjbGlwYm9hcmQu
CisgKgorICogUmV0dXJuIHZhbHVlOiAlVFJVRSBpZiBhIHNlbGVjdGlvbiBjYW4gYmUgY29waWVk
LCAlRkFMU0UgaWYgbm90CisgKi8KK2dib29sZWFuIHdlYmtpdF93ZWJfdmlld19jYW5fY29weV9j
bGlwYm9hcmQoV2ViS2l0V2ViVmlldyogd2ViVmlldykKK3sKKyAgICBnX3JldHVybl92YWxfaWZf
ZmFpbChXRUJLSVRfSVNfV0VCX1ZJRVcod2ViVmlldyksIEZBTFNFKTsKKworICAgIFdlYktpdFdl
YlZpZXdQcml2YXRlKiB3ZWJWaWV3RGF0YSA9IFdFQktJVF9XRUJfVklFV19HRVRfUFJJVkFURSh3
ZWJWaWV3KTsKKyAgICBXZWJLaXRXZWJGcmFtZVByaXZhdGUqIGZyYW1lRGF0YSA9IFdFQktJVF9X
RUJfRlJBTUVfR0VUX1BSSVZBVEUod2ViVmlld0RhdGEtPm1haW5GcmFtZSk7CisgICAgcmV0dXJu
IGZyYW1lRGF0YS0+ZnJhbWUtPmVkaXRvcigpLT5jYW5Db3B5KCkgfHwgZnJhbWVEYXRhLT5mcmFt
ZS0+ZWRpdG9yKCktPmNhbkRIVE1MQ29weSgpOworfQorCisvKioKKyAqIHdlYmtpdF93ZWJfdmll
d19wYXN0ZV9jbGlwYm9hcmQ6CisgKiBAd2ViX3ZpZXc6IGEgI1dlYktpdFBhZ2UKKyAqCisgKiBE
ZXRlcm1pbmVzIHdldGhlciBvciBub3QgaXQgaXMgY3VycmVudGx5IHBvc3NpYmxlIHRvIHBhc3Rl
IGZyb20gdGhlIGNsaXBib2FyZC4KKyAqCisgKiBSZXR1cm4gdmFsdWU6ICVUUlVFIGlmIGEgc2Vs
ZWN0aW9uIGNhbiBiZSBwYXN0ZWQsICVGQUxTRSBpZiBub3QKKyAqLworZ2Jvb2xlYW4gd2Via2l0
X3dlYl92aWV3X2Nhbl9wYXN0ZV9jbGlwYm9hcmQoV2ViS2l0V2ViVmlldyogd2ViVmlldykKK3sK
KyAgICBnX3JldHVybl92YWxfaWZfZmFpbChXRUJLSVRfSVNfV0VCX1ZJRVcod2ViVmlldyksIEZB
TFNFKTsKKworICAgIFdlYktpdFdlYlZpZXdQcml2YXRlKiB3ZWJWaWV3RGF0YSA9IFdFQktJVF9X
RUJfVklFV19HRVRfUFJJVkFURSh3ZWJWaWV3KTsKKyAgICBXZWJLaXRXZWJGcmFtZVByaXZhdGUq
IGZyYW1lRGF0YSA9IFdFQktJVF9XRUJfRlJBTUVfR0VUX1BSSVZBVEUod2ViVmlld0RhdGEtPm1h
aW5GcmFtZSk7CisgICAgcmV0dXJuIGZyYW1lRGF0YS0+ZnJhbWUtPmVkaXRvcigpLT5jYW5QYXN0
ZSgpIHx8IGZyYW1lRGF0YS0+ZnJhbWUtPmVkaXRvcigpLT5jYW5ESFRNTFBhc3RlKCk7Cit9CisK
Ky8qKgorICogd2Via2l0X3dlYl92aWV3X2N1dF9jbGlwYm9hcmQ6CisgKiBAd2ViX3ZpZXc6IGEg
I1dlYktpdFBhZ2UKKyAqCisgKiBDdXRzIHRoZSBjdXJyZW50IHNlbGVjdGlvbiBpbnNpZGUgdGhl
IEB3ZWJfdmlldyB0byB0aGUgY2xpcGJvYXJkLgorICovCit2b2lkIHdlYmtpdF93ZWJfdmlld19j
dXRfY2xpcGJvYXJkKFdlYktpdFdlYlZpZXcqIHdlYlZpZXcpCit7CisgICAgZ19yZXR1cm5faWZf
ZmFpbChXRUJLSVRfSVNfV0VCX1ZJRVcod2ViVmlldykpOworCisgICAgaWYgKHdlYmtpdF93ZWJf
dmlld19jYW5fY3V0X2NsaXBib2FyZCh3ZWJWaWV3KSkKKyAgICAgICAgZ19zaWduYWxfZW1pdCh3
ZWJWaWV3LCBDVVRfQ0xJUEJPQVJELCAwKTsKK30KKworLyoqCisgKiB3ZWJraXRfd2ViX3ZpZXdf
Y29weV9jbGlwYm9hcmQ6CisgKiBAd2ViX3ZpZXc6IGEgI1dlYktpdFBhZ2UKKyAqCisgKiBDb3Bp
ZXMgdGhlIGN1cnJlbnQgc2VsZWN0aW9uIGluc2lkZSB0aGUgQHdlYl92aWV3IHRvIHRoZSBjbGlw
Ym9hcmQuCisgKi8KK3ZvaWQgd2Via2l0X3dlYl92aWV3X2NvcHlfY2xpcGJvYXJkKFdlYktpdFdl
YlZpZXcqIHdlYlZpZXcpCit7CisgICAgZ19yZXR1cm5faWZfZmFpbChXRUJLSVRfSVNfV0VCX1ZJ
RVcod2ViVmlldykpOworCisgICAgaWYgKHdlYmtpdF93ZWJfdmlld19jYW5fY29weV9jbGlwYm9h
cmQod2ViVmlldykpCisgICAgICAgIGdfc2lnbmFsX2VtaXQod2ViVmlldywgQ09QWV9DTElQQk9B
UkQsIDApOworfQorCisvKioKKyAqIHdlYmtpdF93ZWJfdmlld19wYXN0ZV9jbGlwYm9hcmQ6Cisg
KiBAd2ViX3ZpZXc6IGEgI1dlYktpdFBhZ2UKKyAqCisgKiBQYXN0ZXMgdGhlIGN1cnJlbnQgY29u
dGVudHMgb2YgdGhlIGNsaXBib2FyZCB0byB0aGUgQHdlYl92aWV3LgorICovCit2b2lkIHdlYmtp
dF93ZWJfdmlld19wYXN0ZV9jbGlwYm9hcmQoV2ViS2l0V2ViVmlldyogd2ViVmlldykKK3sKKyAg
ICBnX3JldHVybl9pZl9mYWlsKFdFQktJVF9JU19XRUJfVklFVyh3ZWJWaWV3KSk7CisKKyAgICBp
ZiAod2Via2l0X3dlYl92aWV3X2Nhbl9wYXN0ZV9jbGlwYm9hcmQod2ViVmlldykpCisgICAgICAg
IGdfc2lnbmFsX2VtaXQod2ViVmlldywgUEFTVEVfQ0xJUEJPQVJELCAwKTsKK30KKworLyoqCisg
KiB3ZWJraXRfd2ViX3ZpZXdfZGVsZXRlX3NlbGVjdGlvbjoKKyAqIEB3ZWJfdmlldzogYSAjV2Vi
S2l0UGFnZQorICoKKyAqIERlbGV0ZXMgdGhlIGN1cnJlbnQgc2VsZWN0aW9uIGluc2lkZSB0aGUg
QHdlYl92aWV3LgorICovCit2b2lkIHdlYmtpdF93ZWJfdmlld19kZWxldGVfc2VsZWN0aW9uKFdl
YktpdFdlYlZpZXcqIHdlYlZpZXcpCit7CisgICAgZ19yZXR1cm5faWZfZmFpbChXRUJLSVRfSVNf
V0VCX1ZJRVcod2ViVmlldykpOworCisgICAgV2ViS2l0V2ViVmlld1ByaXZhdGUqIHdlYlZpZXdE
YXRhID0gV0VCS0lUX1dFQl9WSUVXX0dFVF9QUklWQVRFKHdlYlZpZXcpOworICAgIFdlYktpdFdl
YkZyYW1lUHJpdmF0ZSogZnJhbWVEYXRhID0gV0VCS0lUX1dFQl9GUkFNRV9HRVRfUFJJVkFURSh3
ZWJWaWV3RGF0YS0+bWFpbkZyYW1lKTsKKyAgICBmcmFtZURhdGEtPmZyYW1lLT5lZGl0b3IoKS0+
cGVyZm9ybURlbGV0ZSgpOworfQorCisvKioKKyAqIHdlYmtpdF93ZWJfdmlld19oYXNfc2VsZWN0
aW9uOgorICogQHdlYl92aWV3OiBhICNXZWJLaXRXZWJWaWV3CisgKgorICogRGV0ZXJtaW5lcyB3
ZXRoZXIgdGV4dCB3YXMgc2VsZWN0ZWQuCisgKgorICogUmV0dXJuIHZhbHVlOiAlVFJVRSBpZiB0
aGVyZSBpcyBzZWxlY3RlZCB0ZXh0LCAlRkFMU0UgaWYgbm90CisgKi8KK2dib29sZWFuIHdlYmtp
dF93ZWJfdmlld19oYXNfc2VsZWN0aW9uKFdlYktpdFdlYlZpZXcqIHdlYlZpZXcpCit7CisgICAg
Z19yZXR1cm5fdmFsX2lmX2ZhaWwoV0VCS0lUX0lTX1dFQl9WSUVXKHdlYlZpZXcpLCBGQUxTRSk7
CisKKyAgICBXZWJLaXRXZWJWaWV3UHJpdmF0ZSogd2ViVmlld0RhdGEgPSBXRUJLSVRfV0VCX1ZJ
RVdfR0VUX1BSSVZBVEUod2ViVmlldyk7CisgICAgcmV0dXJuIHdlYlZpZXdEYXRhLT5jb3JlUGFn
ZS0+c2VsZWN0aW9uKCkuaXNOb25lKCkgPyBUUlVFIDogRkFMU0U7Cit9CisKKy8qKgorICogd2Vi
a2l0X3dlYl92aWV3X2dldF9zZWxlY3RlZF90ZXh0OgorICogQHdlYl92aWV3OiBhICNXZWJLaXRX
ZWJWaWV3CisgKgorICogUmV0cmlldmVzIHRoZSBzZWxlY3RlZCB0ZXh0IGlmIGFueS4KKyAqCisg
KiBSZXR1cm4gdmFsdWU6IGEgbmV3bHkgYWxsb2NhdGVkIHN0cmluZyB3aXRoIHRoZSBzZWxlY3Rp
b24gb3IgJU5VTEwKKyAqLworZ2NoYXIqIHdlYmtpdF93ZWJfdmlld19nZXRfc2VsZWN0ZWRfdGV4
dChXZWJLaXRXZWJWaWV3KiB3ZWJWaWV3KQoreworICAgIGdfcmV0dXJuX3ZhbF9pZl9mYWlsKFdF
QktJVF9JU19XRUJfVklFVyh3ZWJWaWV3KSwgMCk7CisKKyAgICBXZWJLaXRXZWJWaWV3UHJpdmF0
ZSogd2ViVmlld0RhdGEgPSBXRUJLSVRfV0VCX1ZJRVdfR0VUX1BSSVZBVEUod2ViVmlldyk7Cisg
ICAgV2ViS2l0V2ViRnJhbWVQcml2YXRlKiBmcmFtZURhdGEgPSBXRUJLSVRfV0VCX0ZSQU1FX0dF
VF9QUklWQVRFKHdlYlZpZXdEYXRhLT5tYWluRnJhbWUpOworICAgIHJldHVybiBnX3N0cmR1cChm
cmFtZURhdGEtPmZyYW1lLT5zZWxlY3RlZFRleHQoKS51dGY4KCkuZGF0YSgpKTsKK30KKworLyoq
CisgKiB3ZWJraXRfd2ViX3ZpZXdfc2VsZWN0X2FsbDoKKyAqIEB3ZWJfdmlldzogYSAjV2ViS2l0
UGFnZQorICoKKyAqIEF0dGVtcHRzIHRvIHNlbGVjdCBldmVyeXRoaW5nIGluc2lkZSB0aGUgQHdl
Yl92aWV3LgorICovCit2b2lkIHdlYmtpdF93ZWJfdmlld19zZWxlY3RfYWxsKFdlYktpdFdlYlZp
ZXcqIHdlYlZpZXcpCit7CisgICAgZ19yZXR1cm5faWZfZmFpbChXRUJLSVRfSVNfV0VCX1ZJRVco
d2ViVmlldykpOworCisgICAgZ19zaWduYWxfZW1pdCh3ZWJWaWV3LCBTRUxFQ1RfQUxMLCAwKTsK
K30KKworLyoqCiAgKiB3ZWJraXRfd2ViX3ZpZXdfZ2V0X2VkaXRhYmxlOgogICogQHdlYl92aWV3
OiBhICNXZWJLaXRXZWJWaWV3CiAgKgpJbmRleDogV2ViS2l0L2d0ay9XZWJWaWV3L3dlYmtpdHdl
YnZpZXcuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQvZ3RrL1dlYlZpZXcvd2Via2l0d2Vidmlldy5o
CShSZXZpc2lvbiAyODgwNSkKKysrIFdlYktpdC9ndGsvV2ViVmlldy93ZWJraXR3ZWJ2aWV3LmgJ
KEFyYmVpdHNrb3BpZSkKQEAgLTEyMCw2ICsxMjAsMzYgQEAKIHdlYmtpdF93ZWJfdmlld19leGVj
dXRlX3NjcmlwdCAoV2ViS2l0V2ViVmlldyogd2ViX3ZpZXcsIGNvbnN0IGdjaGFyKiBzY3JpcHQp
OwogCiBXRUJLSVRfQVBJIGdib29sZWFuCit3ZWJraXRfd2ViX3ZpZXdfY2FuX2N1dF9jbGlwYm9h
cmQgKFdlYktpdFdlYlZpZXcqIHdlYl92aWV3KTsKKworV0VCS0lUX0FQSSBnYm9vbGVhbgord2Vi
a2l0X3dlYl92aWV3X2Nhbl9jb3B5X2NsaXBib2FyZCAoV2ViS2l0V2ViVmlldyogd2ViX3ZpZXcp
OworCitXRUJLSVRfQVBJIGdib29sZWFuCit3ZWJraXRfd2ViX3ZpZXdfY2FuX3Bhc3RlX2NsaXBi
b2FyZCAoV2ViS2l0V2ViVmlldyogd2ViX3ZpZXcpOworCitXRUJLSVRfQVBJIHZvaWQKK3dlYmtp
dF93ZWJfdmlld19jdXRfY2xpcGJvYXJkIChXZWJLaXRXZWJWaWV3KiB3ZWJfdmlldyk7CisKK1dF
QktJVF9BUEkgdm9pZAord2Via2l0X3dlYl92aWV3X2NvcHlfY2xpcGJvYXJkIChXZWJLaXRXZWJW
aWV3KiB3ZWJfdmlldyk7CisKK1dFQktJVF9BUEkgdm9pZAord2Via2l0X3dlYl92aWV3X3Bhc3Rl
X2NsaXBib2FyZChXZWJLaXRXZWJWaWV3KiB3ZWJfdmlldyk7CisKK1dFQktJVF9BUEkgdm9pZAor
d2Via2l0X3dlYl92aWV3X2RlbGV0ZV9zZWxlY3Rpb24gKFdlYktpdFdlYlZpZXcqIHdlYl92aWV3
KTsKKworV0VCS0lUX0FQSSBnYm9vbGVhbgord2Via2l0X3dlYl92aWV3X2hhc19zZWxlY3Rpb24g
KFdlYktpdFdlYlZpZXcqIHdlYl92aWV3KTsKKworV0VCS0lUX0FQSSBnY2hhcioKK3dlYmtpdF93
ZWJfdmlld19nZXRfc2VsZWN0ZWRfdGV4dCAoV2ViS2l0V2ViVmlldyogd2ViX3ZpZXcpOworCitX
RUJLSVRfQVBJIHZvaWQKK3dlYmtpdF93ZWJfdmlld19zZWxlY3RfYWxsIChXZWJLaXRXZWJWaWV3
KiB3ZWJfdmlldyk7CisKK1dFQktJVF9BUEkgZ2Jvb2xlYW4KIHdlYmtpdF93ZWJfdmlld19nZXRf
ZWRpdGFibGUgKFdlYktpdFdlYlZpZXcqIHdlYl92aWV3KTsKIAogV0VCS0lUX0FQSSB2b2lkCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>18006</attachid>
            <date>2007-12-20 08:21:52 -0800</date>
            <delta_ts>2007-12-21 16:28:38 -0800</delta_ts>
            <desc>Updated to use focusedOrMainFrame()</desc>
            <filename>clipboard.diff</filename>
            <type>text/plain</type>
            <size>6096</size>
            <attacher name="Christian Dywan">christian</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdC9ndGsvV2ViVmlldy93ZWJraXR3ZWJ2aWV3LmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJLaXQvZ3RrL1dlYlZpZXcvd2Via2l0d2Vidmlldy5jcHAJKFJldmlzaW9uIDI4ODgwKQor
KysgV2ViS2l0L2d0ay9XZWJWaWV3L3dlYmtpdHdlYnZpZXcuY3BwCShBcmJlaXRza29waWUpCkBA
IC0yOCw2ICsyOCw3IEBACiAjaW5jbHVkZSAiTm90SW1wbGVtZW50ZWQuaCIKICNpbmNsdWRlICJD
aHJvbWVDbGllbnRHdGsuaCIKICNpbmNsdWRlICJDb250ZXh0TWVudUNsaWVudEd0ay5oIgorI2lu
Y2x1ZGUgIkNTdHJpbmcuaCIKICNpbmNsdWRlICJEcmFnQ2xpZW50R3RrLmgiCiAjaW5jbHVkZSAi
RWRpdG9yLmgiCiAjaW5jbHVkZSAiRWRpdG9yQ2xpZW50R3RrLmgiCkBAIC0xMDQxLDYgKzEwNDIs
MTU1IEBACiB9CiAKIC8qKgorICogd2Via2l0X3dlYl92aWV3X2N1dF9jbGlwYm9hcmQ6CisgKiBA
d2ViX3ZpZXc6IGEgI1dlYktpdFBhZ2UKKyAqCisgKiBEZXRlcm1pbmVzIHdldGhlciBvciBub3Qg
aXQgaXMgY3VycmVudGx5IHBvc3NpYmxlIHRvIGN1dCB0byB0aGUgY2xpcGJvYXJkLgorICoKKyAq
IFJldHVybiB2YWx1ZTogJVRSVUUgaWYgYSBzZWxlY3Rpb24gY2FuIGJlIGN1dCwgJUZBTFNFIGlm
IG5vdAorICovCitnYm9vbGVhbiB3ZWJraXRfd2ViX3ZpZXdfY2FuX2N1dF9jbGlwYm9hcmQoV2Vi
S2l0V2ViVmlldyogd2ViVmlldykKK3sKKyAgICBnX3JldHVybl92YWxfaWZfZmFpbChXRUJLSVRf
SVNfV0VCX1ZJRVcod2ViVmlldyksIEZBTFNFKTsKKworICAgIEZyYW1lKiBmcmFtZSA9IGNvcmUo
d2ViVmlldyktPmZvY3VzQ29udHJvbGxlcigpLT5mb2N1c2VkT3JNYWluRnJhbWUoKTsKKyAgICBy
ZXR1cm4gZnJhbWUtPmVkaXRvcigpLT5jYW5DdXQoKSB8fCBmcmFtZS0+ZWRpdG9yKCktPmNhbkRI
VE1MQ3V0KCk7Cit9CisKKy8qKgorICogd2Via2l0X3dlYl92aWV3X2NvcHlfY2xpcGJvYXJkOgor
ICogQHdlYl92aWV3OiBhICNXZWJLaXRQYWdlCisgKgorICogRGV0ZXJtaW5lcyB3ZXRoZXIgb3Ig
bm90IGl0IGlzIGN1cnJlbnRseSBwb3NzaWJsZSB0byBjb3B5IHRvIHRoZSBjbGlwYm9hcmQuCisg
KgorICogUmV0dXJuIHZhbHVlOiAlVFJVRSBpZiBhIHNlbGVjdGlvbiBjYW4gYmUgY29waWVkLCAl
RkFMU0UgaWYgbm90CisgKi8KK2dib29sZWFuIHdlYmtpdF93ZWJfdmlld19jYW5fY29weV9jbGlw
Ym9hcmQoV2ViS2l0V2ViVmlldyogd2ViVmlldykKK3sKKyAgICBnX3JldHVybl92YWxfaWZfZmFp
bChXRUJLSVRfSVNfV0VCX1ZJRVcod2ViVmlldyksIEZBTFNFKTsKKworICAgIEZyYW1lKiBmcmFt
ZSA9IGNvcmUod2ViVmlldyktPmZvY3VzQ29udHJvbGxlcigpLT5mb2N1c2VkT3JNYWluRnJhbWUo
KTsKKyAgICByZXR1cm4gZnJhbWUtPmVkaXRvcigpLT5jYW5Db3B5KCkgfHwgZnJhbWUtPmVkaXRv
cigpLT5jYW5ESFRNTENvcHkoKTsKK30KKworLyoqCisgKiB3ZWJraXRfd2ViX3ZpZXdfcGFzdGVf
Y2xpcGJvYXJkOgorICogQHdlYl92aWV3OiBhICNXZWJLaXRQYWdlCisgKgorICogRGV0ZXJtaW5l
cyB3ZXRoZXIgb3Igbm90IGl0IGlzIGN1cnJlbnRseSBwb3NzaWJsZSB0byBwYXN0ZSBmcm9tIHRo
ZSBjbGlwYm9hcmQuCisgKgorICogUmV0dXJuIHZhbHVlOiAlVFJVRSBpZiBhIHNlbGVjdGlvbiBj
YW4gYmUgcGFzdGVkLCAlRkFMU0UgaWYgbm90CisgKi8KK2dib29sZWFuIHdlYmtpdF93ZWJfdmll
d19jYW5fcGFzdGVfY2xpcGJvYXJkKFdlYktpdFdlYlZpZXcqIHdlYlZpZXcpCit7CisgICAgZ19y
ZXR1cm5fdmFsX2lmX2ZhaWwoV0VCS0lUX0lTX1dFQl9WSUVXKHdlYlZpZXcpLCBGQUxTRSk7CisK
KyAgICBGcmFtZSogZnJhbWUgPSBjb3JlKHdlYlZpZXcpLT5mb2N1c0NvbnRyb2xsZXIoKS0+Zm9j
dXNlZE9yTWFpbkZyYW1lKCk7CisgICAgcmV0dXJuIGZyYW1lLT5lZGl0b3IoKS0+Y2FuUGFzdGUo
KSB8fCBmcmFtZS0+ZWRpdG9yKCktPmNhbkRIVE1MUGFzdGUoKTsKK30KKworLyoqCisgKiB3ZWJr
aXRfd2ViX3ZpZXdfY3V0X2NsaXBib2FyZDoKKyAqIEB3ZWJfdmlldzogYSAjV2ViS2l0UGFnZQor
ICoKKyAqIEN1dHMgdGhlIGN1cnJlbnQgc2VsZWN0aW9uIGluc2lkZSB0aGUgQHdlYl92aWV3IHRv
IHRoZSBjbGlwYm9hcmQuCisgKi8KK3ZvaWQgd2Via2l0X3dlYl92aWV3X2N1dF9jbGlwYm9hcmQo
V2ViS2l0V2ViVmlldyogd2ViVmlldykKK3sKKyAgICBnX3JldHVybl9pZl9mYWlsKFdFQktJVF9J
U19XRUJfVklFVyh3ZWJWaWV3KSk7CisKKyAgICBpZiAod2Via2l0X3dlYl92aWV3X2Nhbl9jdXRf
Y2xpcGJvYXJkKHdlYlZpZXcpKQorICAgICAgICBnX3NpZ25hbF9lbWl0KHdlYlZpZXcsIENVVF9D
TElQQk9BUkQsIDApOworfQorCisvKioKKyAqIHdlYmtpdF93ZWJfdmlld19jb3B5X2NsaXBib2Fy
ZDoKKyAqIEB3ZWJfdmlldzogYSAjV2ViS2l0UGFnZQorICoKKyAqIENvcGllcyB0aGUgY3VycmVu
dCBzZWxlY3Rpb24gaW5zaWRlIHRoZSBAd2ViX3ZpZXcgdG8gdGhlIGNsaXBib2FyZC4KKyAqLwor
dm9pZCB3ZWJraXRfd2ViX3ZpZXdfY29weV9jbGlwYm9hcmQoV2ViS2l0V2ViVmlldyogd2ViVmll
dykKK3sKKyAgICBnX3JldHVybl9pZl9mYWlsKFdFQktJVF9JU19XRUJfVklFVyh3ZWJWaWV3KSk7
CisKKyAgICBpZiAod2Via2l0X3dlYl92aWV3X2Nhbl9jb3B5X2NsaXBib2FyZCh3ZWJWaWV3KSkK
KyAgICAgICAgZ19zaWduYWxfZW1pdCh3ZWJWaWV3LCBDT1BZX0NMSVBCT0FSRCwgMCk7Cit9CisK
Ky8qKgorICogd2Via2l0X3dlYl92aWV3X3Bhc3RlX2NsaXBib2FyZDoKKyAqIEB3ZWJfdmlldzog
YSAjV2ViS2l0UGFnZQorICoKKyAqIFBhc3RlcyB0aGUgY3VycmVudCBjb250ZW50cyBvZiB0aGUg
Y2xpcGJvYXJkIHRvIHRoZSBAd2ViX3ZpZXcuCisgKi8KK3ZvaWQgd2Via2l0X3dlYl92aWV3X3Bh
c3RlX2NsaXBib2FyZChXZWJLaXRXZWJWaWV3KiB3ZWJWaWV3KQoreworICAgIGdfcmV0dXJuX2lm
X2ZhaWwoV0VCS0lUX0lTX1dFQl9WSUVXKHdlYlZpZXcpKTsKKworICAgIGlmICh3ZWJraXRfd2Vi
X3ZpZXdfY2FuX3Bhc3RlX2NsaXBib2FyZCh3ZWJWaWV3KSkKKyAgICAgICAgZ19zaWduYWxfZW1p
dCh3ZWJWaWV3LCBQQVNURV9DTElQQk9BUkQsIDApOworfQorCisvKioKKyAqIHdlYmtpdF93ZWJf
dmlld19kZWxldGVfc2VsZWN0aW9uOgorICogQHdlYl92aWV3OiBhICNXZWJLaXRQYWdlCisgKgor
ICogRGVsZXRlcyB0aGUgY3VycmVudCBzZWxlY3Rpb24gaW5zaWRlIHRoZSBAd2ViX3ZpZXcuCisg
Ki8KK3ZvaWQgd2Via2l0X3dlYl92aWV3X2RlbGV0ZV9zZWxlY3Rpb24oV2ViS2l0V2ViVmlldyog
d2ViVmlldykKK3sKKyAgICBnX3JldHVybl9pZl9mYWlsKFdFQktJVF9JU19XRUJfVklFVyh3ZWJW
aWV3KSk7CisKKyAgICBGcmFtZSogZnJhbWUgPSBjb3JlKHdlYlZpZXcpLT5mb2N1c0NvbnRyb2xs
ZXIoKS0+Zm9jdXNlZE9yTWFpbkZyYW1lKCk7CisgICAgZnJhbWUtPmVkaXRvcigpLT5wZXJmb3Jt
RGVsZXRlKCk7Cit9CisKKy8qKgorICogd2Via2l0X3dlYl92aWV3X2hhc19zZWxlY3Rpb246Cisg
KiBAd2ViX3ZpZXc6IGEgI1dlYktpdFdlYlZpZXcKKyAqCisgKiBEZXRlcm1pbmVzIHdldGhlciB0
ZXh0IHdhcyBzZWxlY3RlZC4KKyAqCisgKiBSZXR1cm4gdmFsdWU6ICVUUlVFIGlmIHRoZXJlIGlz
IHNlbGVjdGVkIHRleHQsICVGQUxTRSBpZiBub3QKKyAqLworZ2Jvb2xlYW4gd2Via2l0X3dlYl92
aWV3X2hhc19zZWxlY3Rpb24oV2ViS2l0V2ViVmlldyogd2ViVmlldykKK3sKKyAgICBnX3JldHVy
bl92YWxfaWZfZmFpbChXRUJLSVRfSVNfV0VCX1ZJRVcod2ViVmlldyksIEZBTFNFKTsKKworICAg
IFdlYktpdFdlYlZpZXdQcml2YXRlKiB3ZWJWaWV3RGF0YSA9IFdFQktJVF9XRUJfVklFV19HRVRf
UFJJVkFURSh3ZWJWaWV3KTsKKyAgICByZXR1cm4gd2ViVmlld0RhdGEtPmNvcmVQYWdlLT5zZWxl
Y3Rpb24oKS5pc05vbmUoKSA/IFRSVUUgOiBGQUxTRTsKK30KKworLyoqCisgKiB3ZWJraXRfd2Vi
X3ZpZXdfZ2V0X3NlbGVjdGVkX3RleHQ6CisgKiBAd2ViX3ZpZXc6IGEgI1dlYktpdFdlYlZpZXcK
KyAqCisgKiBSZXRyaWV2ZXMgdGhlIHNlbGVjdGVkIHRleHQgaWYgYW55LgorICoKKyAqIFJldHVy
biB2YWx1ZTogYSBuZXdseSBhbGxvY2F0ZWQgc3RyaW5nIHdpdGggdGhlIHNlbGVjdGlvbiBvciAl
TlVMTAorICovCitnY2hhciogd2Via2l0X3dlYl92aWV3X2dldF9zZWxlY3RlZF90ZXh0KFdlYktp
dFdlYlZpZXcqIHdlYlZpZXcpCit7CisgICAgZ19yZXR1cm5fdmFsX2lmX2ZhaWwoV0VCS0lUX0lT
X1dFQl9WSUVXKHdlYlZpZXcpLCAwKTsKKworICAgIEZyYW1lKiBmcmFtZSA9IGNvcmUod2ViVmll
dyktPmZvY3VzQ29udHJvbGxlcigpLT5mb2N1c2VkT3JNYWluRnJhbWUoKTsKKyAgICByZXR1cm4g
Z19zdHJkdXAoZnJhbWUtPnNlbGVjdGVkVGV4dCgpLnV0ZjgoKS5kYXRhKCkpOworfQorCisvKioK
KyAqIHdlYmtpdF93ZWJfdmlld19zZWxlY3RfYWxsOgorICogQHdlYl92aWV3OiBhICNXZWJLaXRQ
YWdlCisgKgorICogQXR0ZW1wdHMgdG8gc2VsZWN0IGV2ZXJ5dGhpbmcgaW5zaWRlIHRoZSBAd2Vi
X3ZpZXcuCisgKi8KK3ZvaWQgd2Via2l0X3dlYl92aWV3X3NlbGVjdF9hbGwoV2ViS2l0V2ViVmll
dyogd2ViVmlldykKK3sKKyAgICBnX3JldHVybl9pZl9mYWlsKFdFQktJVF9JU19XRUJfVklFVyh3
ZWJWaWV3KSk7CisKKyAgICBnX3NpZ25hbF9lbWl0KHdlYlZpZXcsIFNFTEVDVF9BTEwsIDApOwor
fQorCisvKioKICAqIHdlYmtpdF93ZWJfdmlld19nZXRfZWRpdGFibGU6CiAgKiBAd2ViX3ZpZXc6
IGEgI1dlYktpdFdlYlZpZXcKICAqCkluZGV4OiBXZWJLaXQvZ3RrL1dlYlZpZXcvd2Via2l0d2Vi
dmlldy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC9ndGsvV2ViVmlldy93ZWJraXR3ZWJ2aWV3LmgJ
KFJldmlzaW9uIDI4ODgwKQorKysgV2ViS2l0L2d0ay9XZWJWaWV3L3dlYmtpdHdlYnZpZXcuaAko
QXJiZWl0c2tvcGllKQpAQCAtMTMyLDYgKzEzMiwzNiBAQAogd2Via2l0X3dlYl92aWV3X2V4ZWN1
dGVfc2NyaXB0IChXZWJLaXRXZWJWaWV3KiB3ZWJfdmlldywgY29uc3QgZ2NoYXIqIHNjcmlwdCk7
CiAKIFdFQktJVF9BUEkgZ2Jvb2xlYW4KK3dlYmtpdF93ZWJfdmlld19jYW5fY3V0X2NsaXBib2Fy
ZCAoV2ViS2l0V2ViVmlldyogd2ViX3ZpZXcpOworCitXRUJLSVRfQVBJIGdib29sZWFuCit3ZWJr
aXRfd2ViX3ZpZXdfY2FuX2NvcHlfY2xpcGJvYXJkIChXZWJLaXRXZWJWaWV3KiB3ZWJfdmlldyk7
CisKK1dFQktJVF9BUEkgZ2Jvb2xlYW4KK3dlYmtpdF93ZWJfdmlld19jYW5fcGFzdGVfY2xpcGJv
YXJkIChXZWJLaXRXZWJWaWV3KiB3ZWJfdmlldyk7CisKK1dFQktJVF9BUEkgdm9pZAord2Via2l0
X3dlYl92aWV3X2N1dF9jbGlwYm9hcmQgKFdlYktpdFdlYlZpZXcqIHdlYl92aWV3KTsKKworV0VC
S0lUX0FQSSB2b2lkCit3ZWJraXRfd2ViX3ZpZXdfY29weV9jbGlwYm9hcmQgKFdlYktpdFdlYlZp
ZXcqIHdlYl92aWV3KTsKKworV0VCS0lUX0FQSSB2b2lkCit3ZWJraXRfd2ViX3ZpZXdfcGFzdGVf
Y2xpcGJvYXJkKFdlYktpdFdlYlZpZXcqIHdlYl92aWV3KTsKKworV0VCS0lUX0FQSSB2b2lkCit3
ZWJraXRfd2ViX3ZpZXdfZGVsZXRlX3NlbGVjdGlvbiAoV2ViS2l0V2ViVmlldyogd2ViX3ZpZXcp
OworCitXRUJLSVRfQVBJIGdib29sZWFuCit3ZWJraXRfd2ViX3ZpZXdfaGFzX3NlbGVjdGlvbiAo
V2ViS2l0V2ViVmlldyogd2ViX3ZpZXcpOworCitXRUJLSVRfQVBJIGdjaGFyKgord2Via2l0X3dl
Yl92aWV3X2dldF9zZWxlY3RlZF90ZXh0IChXZWJLaXRXZWJWaWV3KiB3ZWJfdmlldyk7CisKK1dF
QktJVF9BUEkgdm9pZAord2Via2l0X3dlYl92aWV3X3NlbGVjdF9hbGwgKFdlYktpdFdlYlZpZXcq
IHdlYl92aWV3KTsKKworV0VCS0lUX0FQSSBnYm9vbGVhbgogd2Via2l0X3dlYl92aWV3X2dldF9l
ZGl0YWJsZSAoV2ViS2l0V2ViVmlldyogd2ViX3ZpZXcpOwogCiBXRUJLSVRfQVBJIHZvaWQK
</data>
<flag name="review"
          id="7811"
          type_id="1"
          status="+"
          setter="alp"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>18056</attachid>
            <date>2007-12-21 18:26:01 -0800</date>
            <delta_ts>2007-12-22 08:32:55 -0800</delta_ts>
            <desc>0001-Fix-signal-ids-in-g_signal_emit-for-clipboard-functi.patch</desc>
            <filename>0001-Fix-signal-ids-in-g_signal_emit-for-clipboard-functi.patch</filename>
            <type>text/plain</type>
            <size>2369</size>
            <attacher name="Xan Lopez">xan.lopez</attacher>
            
              <data encoding="base64">RnJvbSBjYmZjNzRkZTUyNjYwMTI1YWZiMGE2YmMwOGMxODU1Y2M2Yjc0MjBkIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBYYW4gTG9wZXogPHhhbkBnbm9tZS5vcmc+CkRhdGU6IFNhdCwg
MjIgRGVjIDIwMDcgMDQ6MjU6MDMgKzAyMDAKU3ViamVjdDogW1BBVENIXSBGaXggc2lnbmFsIGlk
cyBpbiBnX3NpZ25hbF9lbWl0IGZvciBjbGlwYm9hcmQgZnVuY3Rpb25zLgoKLS0tCiBXZWJLaXQv
Z3RrL0NoYW5nZUxvZyAgICAgICAgICAgICAgICAgfCAgIDExICsrKysrKysrKysrCiBXZWJLaXQv
Z3RrL1dlYlZpZXcvd2Via2l0d2Vidmlldy5jcHAgfCAgICA4ICsrKystLS0tCiAyIGZpbGVzIGNo
YW5nZWQsIDE1IGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvV2Vi
S2l0L2d0ay9DaGFuZ2VMb2cgYi9XZWJLaXQvZ3RrL0NoYW5nZUxvZwppbmRleCAxYmFkNGU1Li4z
ZDAwYWQzIDEwMDY0NAotLS0gYS9XZWJLaXQvZ3RrL0NoYW5nZUxvZworKysgYi9XZWJLaXQvZ3Rr
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDA3LTEyLTIxICBYYW4gTG9wZXogIDx4YW5A
Z25vbWUub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgICogV2ViVmlldy93ZWJraXR3ZWJ2aWV3LmNwcDoKKworICAgICAgICBGaXggc2lnbmFsIGlk
IGFyZ3VtZW50cyBmb3IgZ19zaWduYWxfZW1pdCBpbgorICAgICAgICBjbGlwYm9hcmQgZnVuY3Rp
b25zLgorCisgICAgICAgIEZvbGxvdyB1cCB0byBodHRwOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xNjE0NAorCiAyMDA3LTEyLTIxICBDaHJpc3RpYW4gRHl3YW4gIDxjaHJpc3Rp
YW5AdHdvdG9hc3RzLmRlPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEFscCBUb2tlci4KZGlmZiAt
LWdpdCBhL1dlYktpdC9ndGsvV2ViVmlldy93ZWJraXR3ZWJ2aWV3LmNwcCBiL1dlYktpdC9ndGsv
V2ViVmlldy93ZWJraXR3ZWJ2aWV3LmNwcAppbmRleCAxZjY5NjUzLi42NDdlNzAxIDEwMDY0NAot
LS0gYS9XZWJLaXQvZ3RrL1dlYlZpZXcvd2Via2l0d2Vidmlldy5jcHAKKysrIGIvV2ViS2l0L2d0
ay9XZWJWaWV3L3dlYmtpdHdlYnZpZXcuY3BwCkBAIC0xMTAwLDcgKzExMDAsNyBAQCB2b2lkIHdl
YmtpdF93ZWJfdmlld19jdXRfY2xpcGJvYXJkKFdlYktpdFdlYlZpZXcqIHdlYlZpZXcpCiAgICAg
Z19yZXR1cm5faWZfZmFpbChXRUJLSVRfSVNfV0VCX1ZJRVcod2ViVmlldykpOwogCiAgICAgaWYg
KHdlYmtpdF93ZWJfdmlld19jYW5fY3V0X2NsaXBib2FyZCh3ZWJWaWV3KSkKLSAgICAgICAgZ19z
aWduYWxfZW1pdCh3ZWJWaWV3LCBDVVRfQ0xJUEJPQVJELCAwKTsKKyAgICAgICAgZ19zaWduYWxf
ZW1pdCh3ZWJWaWV3LCB3ZWJraXRfd2ViX3ZpZXdfc2lnbmFsc1tDVVRfQ0xJUEJPQVJEXSwgMCk7
CiB9CiAKIC8qKgpAQCAtMTExNCw3ICsxMTE0LDcgQEAgdm9pZCB3ZWJraXRfd2ViX3ZpZXdfY29w
eV9jbGlwYm9hcmQoV2ViS2l0V2ViVmlldyogd2ViVmlldykKICAgICBnX3JldHVybl9pZl9mYWls
KFdFQktJVF9JU19XRUJfVklFVyh3ZWJWaWV3KSk7CiAKICAgICBpZiAod2Via2l0X3dlYl92aWV3
X2Nhbl9jb3B5X2NsaXBib2FyZCh3ZWJWaWV3KSkKLSAgICAgICAgZ19zaWduYWxfZW1pdCh3ZWJW
aWV3LCBDT1BZX0NMSVBCT0FSRCwgMCk7CisgICAgICAgIGdfc2lnbmFsX2VtaXQod2ViVmlldywg
d2Via2l0X3dlYl92aWV3X3NpZ25hbHNbQ09QWV9DTElQQk9BUkRdLCAwKTsKIH0KIAogLyoqCkBA
IC0xMTI4LDcgKzExMjgsNyBAQCB2b2lkIHdlYmtpdF93ZWJfdmlld19wYXN0ZV9jbGlwYm9hcmQo
V2ViS2l0V2ViVmlldyogd2ViVmlldykKICAgICBnX3JldHVybl9pZl9mYWlsKFdFQktJVF9JU19X
RUJfVklFVyh3ZWJWaWV3KSk7CiAKICAgICBpZiAod2Via2l0X3dlYl92aWV3X2Nhbl9wYXN0ZV9j
bGlwYm9hcmQod2ViVmlldykpCi0gICAgICAgIGdfc2lnbmFsX2VtaXQod2ViVmlldywgUEFTVEVf
Q0xJUEJPQVJELCAwKTsKKyAgICAgICAgZ19zaWduYWxfZW1pdCh3ZWJWaWV3LCB3ZWJraXRfd2Vi
X3ZpZXdfc2lnbmFsc1tQQVNURV9DTElQQk9BUkRdLCAwKTsKIH0KIAogLyoqCkBAIC0xMTg3LDcg
KzExODcsNyBAQCB2b2lkIHdlYmtpdF93ZWJfdmlld19zZWxlY3RfYWxsKFdlYktpdFdlYlZpZXcq
IHdlYlZpZXcpCiB7CiAgICAgZ19yZXR1cm5faWZfZmFpbChXRUJLSVRfSVNfV0VCX1ZJRVcod2Vi
VmlldykpOwogCi0gICAgZ19zaWduYWxfZW1pdCh3ZWJWaWV3LCBTRUxFQ1RfQUxMLCAwKTsKKyAg
ICBnX3NpZ25hbF9lbWl0KHdlYlZpZXcsIHdlYmtpdF93ZWJfdmlld19zaWduYWxzW1NFTEVDVF9B
TExdLCAwKTsKIH0KIAogLyoqCi0tIAoxLjUuMy40Cgo=
</data>
<flag name="review"
          id="7833"
          type_id="1"
          status="+"
          setter="alp"
    />
          </attachment>
      

    </bug>

</bugzilla>