<?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>25609</bug_id>
          
          <creation_ts>2009-05-06 23:41:46 -0700</creation_ts>
          <short_desc>[GTK] Implement support for get_selection and get_n_selections</short_desc>
          <delta_ts>2009-07-27 14:28:45 -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>Accessibility</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>VERIFIED</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>
          
          <blocked>25531</blocked>
          <everconfirmed>0</everconfirmed>
          <reporter name="Joanmarie Diggs">jdiggs</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>apinheiro</cc>
    
    <cc>walker.willie</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>120233</commentid>
    <comment_count>0</comment_count>
    <who name="Joanmarie Diggs">jdiggs</who>
    <bug_when>2009-05-06 23:41:46 -0700</bug_when>
    <thetext>The accessible text interface includes a method to get a specified selection. For more information please see http://library.gnome.org/devel/atk/unstable/AtkText.html#atk-text-get-selection.

Usage/need example: ATs are now aware that text has been selected/unselected thanks to the newly-implemented text-selection-changed events. A screen reader such as Orca should in turn present the text that just became selected/unselected. In order to do that, it needs to know the start and end offset of the selected text (which it can get via get_selection).

(Note that the other selection-related methods of the accessible text interface should be implemented too. However, get_selection is the most critical of the bunch because without it, we cannot do anything in response to a text-selection-changed event.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>120570</commentid>
    <comment_count>1</comment_count>
    <who name="Joanmarie Diggs">jdiggs</who>
    <bug_when>2009-05-10 12:27:41 -0700</bug_when>
    <thetext>I&apos;m going to add my request for support for get_n_selections to this bug (see http://library.gnome.org/devel/atk/unstable/AtkText.html#atk-text-get-n-selections for more info).

Rationale:

1. It&apos;s more closely related to this bug than the bug I&apos;m going to open up for the remaining selection-related methods which need to be implemented.

2. I&apos;m assuming it won&apos;t take much (more) work to implement, so why open a separate bug for it? :-)

If I&apos;m wrong w.r.t. #2 or you would prefer a separate bug be opened for this, please let me know. 

Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>125146</commentid>
    <comment_count>2</comment_count>
      <attachid>31132</attachid>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2009-06-10 10:00:43 -0700</bug_when>
    <thetext>Created attachment 31132
getselection.patch

Implement get_selection.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>125155</commentid>
    <comment_count>3</comment_count>
      <attachid>31132</attachid>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2009-06-10 10:13:09 -0700</bug_when>
    <thetext>Comment on attachment 31132
getselection.patch

Ok, makes sense.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>125163</commentid>
    <comment_count>4</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2009-06-10 10:34:49 -0700</bug_when>
    <thetext>Landed in @r44567.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>125165</commentid>
    <comment_count>5</comment_count>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2009-06-10 10:38:56 -0700</bug_when>
    <thetext>We are still missing the get_n_selections part to close this bug, reopening.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>125166</commentid>
    <comment_count>6</comment_count>
      <attachid>31132</attachid>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2009-06-10 10:39:17 -0700</bug_when>
    <thetext>Comment on attachment 31132
getselection.patch

Clearing review flag.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>125206</commentid>
    <comment_count>7</comment_count>
      <attachid>31140</attachid>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2009-06-10 13:50:36 -0700</bug_when>
    <thetext>Created attachment 31140
getnselections.patch

And get_n_selections.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>125207</commentid>
    <comment_count>8</comment_count>
      <attachid>31140</attachid>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2009-06-10 13:52:30 -0700</bug_when>
    <thetext>Comment on attachment 31140
getnselections.patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>125210</commentid>
    <comment_count>9</comment_count>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2009-06-10 13:57:42 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; (From update of attachment 31140 [review])
&gt; r=me
&gt; 

Landed as r44592, thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>125228</commentid>
    <comment_count>10</comment_count>
    <who name="Joanmarie Diggs">jdiggs</who>
    <bug_when>2009-06-10 16:12:29 -0700</bug_when>
    <thetext>I&apos;m afraid I&apos;m reopening this one. In testing I&apos;m seeing the following unexpected/undesirable behavior:

* get_n_selections returns 1 even when no text is selected.

* get_selection returns the offsets of the selected text on the page; NOT the selected text from the current accessible.

For instance:

1. View the page for this bug.

2. Select &quot;Kit&quot; in &quot;WebKit Bugzilla&quot;

3. In Accerciser, select the accessible text object associated with, WebKit Bugzilla. In the iPython console, try:

acc.queryText().getNSelections()
  result: 1 (as expected)
acc.queryText().getSelection(0)
  result: (3, 6) (as expected)

4. In Accerciser, choose any other text object (e.g. « Prev) and repeat the above commands.

The expected result is that getNSelections would return 0 because *in the newly-chosen accessible*, no text is selected. Similarly, getSelection(0) should not indicate that text is selected.

The actual result is 1 and (3, 6) respectively.

5. Deselect the text in WebKit Bugzilla, leaving the caret between the &quot;b&quot; and the &quot;K&quot;. Choose any text object and repeat the above commands.

Expected results: getNSelections would return 0 because no text is selected.

Actual results: getNSelections continues to return 1.

In addition, the offsets returned by getSelection(0) indicate the current caret position (3, 3) even if the accessible being examined doesn&apos;t have the caret.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>125276</commentid>
    <comment_count>11</comment_count>
      <attachid>31153</attachid>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2009-06-11 00:07:36 -0700</bug_when>
    <thetext>Created attachment 31153
getselectionfix.patch

You are totally right! The API managed to confuse me, because object-&gt;selection() actually return the global selection, wherever it is, not the selection for the object you are using. This workaround seems to fix things.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>125362</commentid>
    <comment_count>12</comment_count>
    <who name="Joanmarie Diggs">jdiggs</who>
    <bug_when>2009-06-11 12:15:45 -0700</bug_when>
    <thetext>(In reply to comment #11)

&gt; This workaround seems to fix
&gt; things.

Confirmed. Thanks! 

</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>125418</commentid>
    <comment_count>13</comment_count>
      <attachid>31153</attachid>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2009-06-11 17:45:24 -0700</bug_when>
    <thetext>Comment on attachment 31153
getselectionfix.patch

&gt;         This is pretty hacky-ish, but I can&apos;t seem to find a direct API to
&gt;         get the VisibleSelection for a given object, only the global one.

This should go as a comment in the code (as well?), IMO.
&gt; +
&gt; +    if (selection_num != 0 || !selectionBelongsToObject(coreObject, selection)) {
&gt;          // WebCore does not support multiple selection, so anything but 0 does not make sense for now.

Probably here, extending this comment. I&apos;d also move this comment to before the if, so that it is clear that you are talking about the whole conditional.

Other than that, despite being hacky, this looks good.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>125441</commentid>
    <comment_count>14</comment_count>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2009-06-11 23:47:07 -0700</bug_when>
    <thetext>Thanks, landed with the modifications suggested as r44622. Closing as FIXED.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>135020</commentid>
    <comment_count>15</comment_count>
    <who name="Joanmarie Diggs">jdiggs</who>
    <bug_when>2009-07-27 14:28:45 -0700</bug_when>
    <thetext>Verifying. Thanks!</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>31132</attachid>
            <date>2009-06-10 10:00:43 -0700</date>
            <delta_ts>2009-06-10 10:39:17 -0700</delta_ts>
            <desc>getselection.patch</desc>
            <filename>getselection.patch</filename>
            <type>text/plain</type>
            <size>2595</size>
            <attacher name="Xan Lopez">xan.lopez</attacher>
            
              <data encoding="base64">RnJvbSBmZGJiZDYxNmZmMzQxZDViM2E4MjI3ZDY1OTg2MmZmNzQyM2Q4M2Y2IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBYYW4gTG9wZXogPHhsb3BlekBpZ2FsaWEuY29tPgpEYXRlOiBX
ZWQsIDEwIEp1biAyMDA5IDE5OjU3OjA3ICswMzAwClN1YmplY3Q6IFtQQVRDSF0gMjAwOS0wNi0x
MCAgWGFuIExvcGV6ICA8eGxvcGV6QGlnYWxpYS5jb20+CgogICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgoKICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjU2MDkKICAgICAgICBbR1RLXSBJbXBsZW1lbnQgc3VwcG9ydCBmb3IgZ2V0X3NlbGVj
dGlvbiBhbmQgZ2V0X25fc2VsZWN0aW9ucwoKICAgICAgICBJbXBsZW1lbnQgYXRrX3RleHRfZ2V0
X3NlbGVjdGlvbi4KCiAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L2d0ay9BY2Nlc3NpYmlsaXR5T2Jq
ZWN0V3JhcHBlckF0ay5jcHA6CiAgICAgICAgKHdlYmtpdF9hY2Nlc3NpYmxlX3RleHRfZ2V0X3Nl
bGVjdGlvbik6Ci0tLQogV2ViQ29yZS9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgfCAgIDEyICsrKysrKysrKysrKwogLi4uL2d0ay9BY2Nlc3NpYmlsaXR5T2JqZWN0
V3JhcHBlckF0ay5jcHAgICAgICAgICAgfCAgIDE0ICsrKysrKysrKysrKy0tCiAyIGZpbGVzIGNo
YW5nZWQsIDI0IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9DaGFuZ2VMb2cgYi9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBlMWUwYmJjLi4zOWEzODgx
IDEwMDY0NAotLS0gYS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9XZWJDb3JlL0NoYW5nZUxvZwpA
QCAtMiw2ICsyLDE4IEBACiAKICAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCiAK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI1NjA5Cisg
ICAgICAgIFtHVEtdIEltcGxlbWVudCBzdXBwb3J0IGZvciBnZXRfc2VsZWN0aW9uIGFuZCBnZXRf
bl9zZWxlY3Rpb25zCisKKyAgICAgICAgSW1wbGVtZW50IGF0a190ZXh0X2dldF9zZWxlY3Rpb24u
CisKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L2d0ay9BY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBl
ckF0ay5jcHA6CisgICAgICAgICh3ZWJraXRfYWNjZXNzaWJsZV90ZXh0X2dldF9zZWxlY3Rpb24p
OgorCisyMDA5LTA2LTEwICBYYW4gTG9wZXogIDx4bG9wZXpAaWdhbGlhLmNvbT4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwogICAgICAgICBEbyBub3QgY2hlY2sgaWYg
b3VyIHBhcmVudCBjbGFzcyBoYXMgdGhlIGZpbmFsaXplIG1ldGhvZCwgaXQncwogICAgICAgICBn
dWFyYW50ZWVkIHRvIGJlIHRoZXJlLgogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2FjY2Vzc2liaWxp
dHkvZ3RrL0FjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyQXRrLmNwcCBiL1dlYkNvcmUvYWNjZXNz
aWJpbGl0eS9ndGsvQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJBdGsuY3BwCmluZGV4IGJlNzg2
MzYuLmFhYWYwZjMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9ndGsvQWNjZXNz
aWJpbGl0eU9iamVjdFdyYXBwZXJBdGsuY3BwCisrKyBiL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9n
dGsvQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJBdGsuY3BwCkBAIC02MTgsOCArNjE4LDE4IEBA
IHN0YXRpYyBnaW50IHdlYmtpdF9hY2Nlc3NpYmxlX3RleHRfZ2V0X25fc2VsZWN0aW9ucyhBdGtU
ZXh0KiB0ZXh0KQogCiBzdGF0aWMgZ2NoYXIqIHdlYmtpdF9hY2Nlc3NpYmxlX3RleHRfZ2V0X3Nl
bGVjdGlvbihBdGtUZXh0KiB0ZXh0LCBnaW50IHNlbGVjdGlvbl9udW0sIGdpbnQqIHN0YXJ0X29m
ZnNldCwgZ2ludCogZW5kX29mZnNldCkKIHsKLSAgICBub3RJbXBsZW1lbnRlZCgpOwotICAgIHJl
dHVybiBOVUxMOworICAgIGlmIChzZWxlY3Rpb25fbnVtICE9IDApIHsKKyAgICAgICAgLy8gV2Vi
Q29yZSBkb2VzIG5vdCBzdXBwb3J0IG11bHRpcGxlIHNlbGVjdGlvbiwgc28gYW55dGhpbmcgYnV0
IDAgZG9lcyBub3QgbWFrZSBzZW5zZSBmb3Igbm93LgorICAgICAgICAqc3RhcnRfb2Zmc2V0ID0g
KmVuZF9vZmZzZXQgPSAwOworICAgICAgICByZXR1cm4gTlVMTDsKKyAgICB9CisKKyAgICBBY2Nl
c3NpYmlsaXR5T2JqZWN0KiBjb3JlT2JqZWN0ID0gY29yZSh0ZXh0KTsKKyAgICBWaXNpYmxlU2Vs
ZWN0aW9uIHNlbGVjdGlvbiA9IGNvcmVPYmplY3QtPnNlbGVjdGlvbigpOworICAgICpzdGFydF9v
ZmZzZXQgPSBzZWxlY3Rpb24uc3RhcnQoKS5vZmZzZXRJbkNvbnRhaW5lck5vZGUoKTsKKyAgICAq
ZW5kX29mZnNldCA9IHNlbGVjdGlvbi5lbmQoKS5vZmZzZXRJbkNvbnRhaW5lck5vZGUoKTsKKwor
ICAgIHJldHVybiB3ZWJraXRfYWNjZXNzaWJsZV90ZXh0X2dldF90ZXh0KHRleHQsICpzdGFydF9v
ZmZzZXQsICplbmRfb2Zmc2V0KTsKIH0KIAogc3RhdGljIGdib29sZWFuIHdlYmtpdF9hY2Nlc3Np
YmxlX3RleHRfYWRkX3NlbGVjdGlvbihBdGtUZXh0KiB0ZXh0LCBnaW50IHN0YXJ0X29mZnNldCwg
Z2ludCBlbmRfb2Zmc2V0KQotLSAKMS42LjMuMQoK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>31140</attachid>
            <date>2009-06-10 13:50:36 -0700</date>
            <delta_ts>2009-06-10 13:52:30 -0700</delta_ts>
            <desc>getnselections.patch</desc>
            <filename>getnselections.patch</filename>
            <type>text/plain</type>
            <size>2242</size>
            <attacher name="Xan Lopez">xan.lopez</attacher>
            
              <data encoding="base64">RnJvbSAwODY3NGJhMWQzM2RjOGQwOTE2MjVkYTlkOTQ5ZjljYjFkNzE1OTFhIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBYYW4gTG9wZXogPHhsb3BlekBpZ2FsaWEuY29tPgpEYXRlOiBX
ZWQsIDEwIEp1biAyMDA5IDIzOjQ4OjEzICswMzAwClN1YmplY3Q6IFtQQVRDSF0gMjAwOS0wNi0x
MCAgWGFuIExvcGV6ICA8eGxvcGV6QGlnYWxpYS5jb20+CgogICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgoKICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjU2MDkKICAgICAgICBbR1RLXSBJbXBsZW1lbnQgc3VwcG9ydCBmb3IgZ2V0X3NlbGVj
dGlvbiBhbmQgZ2V0X25fc2VsZWN0aW9ucwoKICAgICAgICBJbXBsZW1lbnQgYXRrX3RleHRfZ2V0
X25fc2VsZWN0aW9ucy4KCiAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L2d0ay9BY2Nlc3NpYmlsaXR5
T2JqZWN0V3JhcHBlckF0ay5jcHA6CiAgICAgICAgKHdlYmtpdF9hY2Nlc3NpYmxlX3RleHRfZ2V0
X25fc2VsZWN0aW9ucyk6Ci0tLQogV2ViQ29yZS9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgfCAgIDEyICsrKysrKysrKysrKwogLi4uL2d0ay9BY2Nlc3NpYmlsaXR5
T2JqZWN0V3JhcHBlckF0ay5jcHAgICAgICAgICAgfCAgICA4ICsrKysrKy0tCiAyIGZpbGVzIGNo
YW5nZWQsIDE4IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9DaGFuZ2VMb2cgYi9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBiOWUyNDFhLi41MWFiOWVl
IDEwMDY0NAotLS0gYS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9XZWJDb3JlL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDE1IEBACisyMDA5LTA2LTEwICBYYW4gTG9wZXogIDx4bG9wZXpAaWdhbGlhLmNv
bT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjU2MDkKKyAgICAgICAgW0dUS10g
SW1wbGVtZW50IHN1cHBvcnQgZm9yIGdldF9zZWxlY3Rpb24gYW5kIGdldF9uX3NlbGVjdGlvbnMK
KworICAgICAgICBJbXBsZW1lbnQgYXRrX3RleHRfZ2V0X25fc2VsZWN0aW9ucy4KKworICAgICAg
ICAqIGFjY2Vzc2liaWxpdHkvZ3RrL0FjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyQXRrLmNwcDoK
KyAgICAgICAgKHdlYmtpdF9hY2Nlc3NpYmxlX3RleHRfZ2V0X25fc2VsZWN0aW9ucyk6CisKIDIw
MDktMDYtMTAgIFRha2VzaGkgWW9zaGlubyAgPHR5b3NoaW5vQGdvb2dsZS5jb20+CiAKICAgICAg
ICAgUmV2aWV3ZWQgYnkgSnVzdGluIEdhcmNpYS4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvYWNjZXNz
aWJpbGl0eS9ndGsvQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJBdGsuY3BwIGIvV2ViQ29yZS9h
Y2Nlc3NpYmlsaXR5L2d0ay9BY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlckF0ay5jcHAKaW5kZXgg
ZjY1NjgxOS4uZDA2YzY4OSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2d0ay9B
Y2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlckF0ay5jcHAKKysrIGIvV2ViQ29yZS9hY2Nlc3NpYmls
aXR5L2d0ay9BY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlckF0ay5jcHAKQEAgLTYxMiw4ICs2MTIs
MTIgQEAgc3RhdGljIGdpbnQgd2Via2l0X2FjY2Vzc2libGVfdGV4dF9nZXRfb2Zmc2V0X2F0X3Bv
aW50KEF0a1RleHQqIHRleHQsIGdpbnQgeCwgZ2kKIAogc3RhdGljIGdpbnQgd2Via2l0X2FjY2Vz
c2libGVfdGV4dF9nZXRfbl9zZWxlY3Rpb25zKEF0a1RleHQqIHRleHQpCiB7Ci0gICAgbm90SW1w
bGVtZW50ZWQoKTsKLSAgICByZXR1cm4gMDsKKyAgICBBY2Nlc3NpYmlsaXR5T2JqZWN0KiBjb3Jl
T2JqZWN0ID0gY29yZSh0ZXh0KTsKKyAgICBWaXNpYmxlU2VsZWN0aW9uIHNlbGVjdGlvbiA9IGNv
cmVPYmplY3QtPnNlbGVjdGlvbigpOworCisgICAgLy8gV2UgZG9uJ3Qgc3VwcG9ydCBtdWx0aXBs
ZSBzZWxlY3Rpb25zIGZvciBub3csIHNvIHRoZXJlJ3Mgb25seQorICAgIC8vIHR3byBwb3NzaWJp
bGl0aWVzCisgICAgcmV0dXJuIHNlbGVjdGlvbi5pc05vbmUoKSA/IDAgOiAxOwogfQogCiBzdGF0
aWMgZ2NoYXIqIHdlYmtpdF9hY2Nlc3NpYmxlX3RleHRfZ2V0X3NlbGVjdGlvbihBdGtUZXh0KiB0
ZXh0LCBnaW50IHNlbGVjdGlvbl9udW0sIGdpbnQqIHN0YXJ0X29mZnNldCwgZ2ludCogZW5kX29m
ZnNldCkKLS0gCjEuNi4zLjEKCg==
</data>
<flag name="review"
          id="15871"
          type_id="1"
          status="+"
          setter="gustavo"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>31153</attachid>
            <date>2009-06-11 00:07:36 -0700</date>
            <delta_ts>2009-06-11 17:45:24 -0700</delta_ts>
            <desc>getselectionfix.patch</desc>
            <filename>getselectionfix.patch</filename>
            <type>text/plain</type>
            <size>3931</size>
            <attacher name="Xan Lopez">xan.lopez</attacher>
            
              <data encoding="base64">RnJvbSAxNWNmNDE2NDE5MWZiYjU4NGQzODRlZWM4YWY0N2RmMTFmZTAyNmRlIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBYYW4gTG9wZXogPHhsb3BlekBpZ2FsaWEuY29tPgpEYXRlOiBU
aHUsIDExIEp1biAyMDA5IDEwOjA1OjQwICswMzAwClN1YmplY3Q6IFtQQVRDSF0gMjAwOS0wNi0x
MSAgWGFuIExvcGV6ICA8eGxvcGV6QGlnYWxpYS5jb20+CgogICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgoKICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjU2MDkKICAgICAgICBbR1RLXSBJbXBsZW1lbnQgc3VwcG9ydCBmb3IgZ2V0X3NlbGVj
dGlvbiBhbmQgZ2V0X25fc2VsZWN0aW9ucwoKICAgICAgICBPbmx5IHVzZSB0aGUgVmlzaWJsZVNl
bGVjdGlvbiBvYmplY3QgaWYgaXQgYWN0dWFsbHkgYmVsb25ncyB0byB0aGUKICAgICAgICBvYmpl
Y3Qgd2UgYXJlIHVzaW5nLgoKICAgICAgICBUaGlzIGlzIHByZXR0eSBoYWNreS1pc2gsIGJ1dCBJ
IGNhbid0IHNlZW0gdG8gZmluZCBhIGRpcmVjdCBBUEkgdG8KICAgICAgICBnZXQgdGhlIFZpc2li
bGVTZWxlY3Rpb24gZm9yIGEgZ2l2ZW4gb2JqZWN0LCBvbmx5IHRoZSBnbG9iYWwgb25lLgoKICAg
ICAgICAqIGFjY2Vzc2liaWxpdHkvZ3RrL0FjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyQXRrLmNw
cDoKICAgICAgICAoc2VsZWN0aW9uQmVsb25nc1RvT2JqZWN0KToKICAgICAgICAod2Via2l0X2Fj
Y2Vzc2libGVfdGV4dF9nZXRfbl9zZWxlY3Rpb25zKToKICAgICAgICAod2Via2l0X2FjY2Vzc2li
bGVfdGV4dF9nZXRfc2VsZWN0aW9uKToKLS0tCiBXZWJDb3JlL0NoYW5nZUxvZyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB8ICAgMTggKysrKysrKysrKysrKysrKysrCiAuLi4vZ3Rr
L0FjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyQXRrLmNwcCAgICAgICAgICB8ICAgMTggKysrKysr
KysrKysrKystLS0tCiAyIGZpbGVzIGNoYW5nZWQsIDMyIGluc2VydGlvbnMoKyksIDQgZGVsZXRp
b25zKC0pCgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9DaGFuZ2VMb2cgYi9XZWJDb3JlL0NoYW5nZUxv
ZwppbmRleCBkODYwNWViLi5hZmFiNTE4IDEwMDY0NAotLS0gYS9XZWJDb3JlL0NoYW5nZUxvZwor
KysgYi9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDA5LTA2LTExICBYYW4g
TG9wZXogIDx4bG9wZXpAaWdhbGlhLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MjU2MDkKKyAgICAgICAgW0dUS10gSW1wbGVtZW50IHN1cHBvcnQgZm9yIGdldF9zZWxlY3Rp
b24gYW5kIGdldF9uX3NlbGVjdGlvbnMKKworICAgICAgICBPbmx5IHVzZSB0aGUgVmlzaWJsZVNl
bGVjdGlvbiBvYmplY3QgaWYgaXQgYWN0dWFsbHkgYmVsb25ncyB0byB0aGUKKyAgICAgICAgb2Jq
ZWN0IHdlIGFyZSB1c2luZy4KKworICAgICAgICBUaGlzIGlzIHByZXR0eSBoYWNreS1pc2gsIGJ1
dCBJIGNhbid0IHNlZW0gdG8gZmluZCBhIGRpcmVjdCBBUEkgdG8KKyAgICAgICAgZ2V0IHRoZSBW
aXNpYmxlU2VsZWN0aW9uIGZvciBhIGdpdmVuIG9iamVjdCwgb25seSB0aGUgZ2xvYmFsIG9uZS4K
KworICAgICAgICAqIGFjY2Vzc2liaWxpdHkvZ3RrL0FjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVy
QXRrLmNwcDoKKyAgICAgICAgKHNlbGVjdGlvbkJlbG9uZ3NUb09iamVjdCk6CisgICAgICAgICh3
ZWJraXRfYWNjZXNzaWJsZV90ZXh0X2dldF9uX3NlbGVjdGlvbnMpOgorICAgICAgICAod2Via2l0
X2FjY2Vzc2libGVfdGV4dF9nZXRfc2VsZWN0aW9uKToKKwogMjAwOS0wNi0xMCAgUGV0ZXIgS2Fz
dGluZyAgPHBrYXN0aW5nQGdvb2dsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRXJpYyBT
ZWlkZWwuCmRpZmYgLS1naXQgYS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvZ3RrL0FjY2Vzc2liaWxp
dHlPYmplY3RXcmFwcGVyQXRrLmNwcCBiL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9ndGsvQWNjZXNz
aWJpbGl0eU9iamVjdFdyYXBwZXJBdGsuY3BwCmluZGV4IGQwNmM2ODkuLjExZDBkY2QgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9ndGsvQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBw
ZXJBdGsuY3BwCisrKyBiL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9ndGsvQWNjZXNzaWJpbGl0eU9i
amVjdFdyYXBwZXJBdGsuY3BwCkBAIC02MTAsNiArNjEwLDE1IEBAIHN0YXRpYyBnaW50IHdlYmtp
dF9hY2Nlc3NpYmxlX3RleHRfZ2V0X29mZnNldF9hdF9wb2ludChBdGtUZXh0KiB0ZXh0LCBnaW50
IHgsIGdpCiAgICAgcmV0dXJuIHJhbmdlLnN0YXJ0OwogfQogCitzdGF0aWMgYm9vbCBzZWxlY3Rp
b25CZWxvbmdzVG9PYmplY3QoQWNjZXNzaWJpbGl0eU9iamVjdCAqY29yZU9iamVjdCwgVmlzaWJs
ZVNlbGVjdGlvbiYgc2VsZWN0aW9uKQoreworICAgIGlmICghY29yZU9iamVjdC0+aXNBY2Nlc3Np
YmlsaXR5UmVuZGVyT2JqZWN0KCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIE5vZGUq
IG5vZGUgPSBzdGF0aWNfY2FzdDxBY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0Kj4oY29yZU9iamVj
dCktPnJlbmRlcmVyKCktPm5vZGUoKTsKKyAgICByZXR1cm4gbm9kZSA9PSBzZWxlY3Rpb24uYmFz
ZSgpLmNvbnRhaW5lck5vZGUoKTsKK30KKwogc3RhdGljIGdpbnQgd2Via2l0X2FjY2Vzc2libGVf
dGV4dF9nZXRfbl9zZWxlY3Rpb25zKEF0a1RleHQqIHRleHQpCiB7CiAgICAgQWNjZXNzaWJpbGl0
eU9iamVjdCogY29yZU9iamVjdCA9IGNvcmUodGV4dCk7CkBAIC02MTcsMTkgKzYyNiwyMCBAQCBz
dGF0aWMgZ2ludCB3ZWJraXRfYWNjZXNzaWJsZV90ZXh0X2dldF9uX3NlbGVjdGlvbnMoQXRrVGV4
dCogdGV4dCkKIAogICAgIC8vIFdlIGRvbid0IHN1cHBvcnQgbXVsdGlwbGUgc2VsZWN0aW9ucyBm
b3Igbm93LCBzbyB0aGVyZSdzIG9ubHkKICAgICAvLyB0d28gcG9zc2liaWxpdGllcwotICAgIHJl
dHVybiBzZWxlY3Rpb24uaXNOb25lKCkgPyAwIDogMTsKKyAgICByZXR1cm4gIXNlbGVjdGlvbkJl
bG9uZ3NUb09iamVjdChjb3JlT2JqZWN0LCBzZWxlY3Rpb24pIHx8IHNlbGVjdGlvbi5pc05vbmUo
KSA/IDAgOiAxOwogfQogCiBzdGF0aWMgZ2NoYXIqIHdlYmtpdF9hY2Nlc3NpYmxlX3RleHRfZ2V0
X3NlbGVjdGlvbihBdGtUZXh0KiB0ZXh0LCBnaW50IHNlbGVjdGlvbl9udW0sIGdpbnQqIHN0YXJ0
X29mZnNldCwgZ2ludCogZW5kX29mZnNldCkKIHsKLSAgICBpZiAoc2VsZWN0aW9uX251bSAhPSAw
KSB7CisgICAgQWNjZXNzaWJpbGl0eU9iamVjdCogY29yZU9iamVjdCA9IGNvcmUodGV4dCk7Cisg
ICAgVmlzaWJsZVNlbGVjdGlvbiBzZWxlY3Rpb24gPSBjb3JlT2JqZWN0LT5zZWxlY3Rpb24oKTsK
KworICAgIGlmIChzZWxlY3Rpb25fbnVtICE9IDAgfHwgIXNlbGVjdGlvbkJlbG9uZ3NUb09iamVj
dChjb3JlT2JqZWN0LCBzZWxlY3Rpb24pKSB7CiAgICAgICAgIC8vIFdlYkNvcmUgZG9lcyBub3Qg
c3VwcG9ydCBtdWx0aXBsZSBzZWxlY3Rpb24sIHNvIGFueXRoaW5nIGJ1dCAwIGRvZXMgbm90IG1h
a2Ugc2Vuc2UgZm9yIG5vdy4KICAgICAgICAgKnN0YXJ0X29mZnNldCA9ICplbmRfb2Zmc2V0ID0g
MDsKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQogCi0gICAgQWNjZXNzaWJpbGl0eU9iamVj
dCogY29yZU9iamVjdCA9IGNvcmUodGV4dCk7Ci0gICAgVmlzaWJsZVNlbGVjdGlvbiBzZWxlY3Rp
b24gPSBjb3JlT2JqZWN0LT5zZWxlY3Rpb24oKTsKICAgICAqc3RhcnRfb2Zmc2V0ID0gc2VsZWN0
aW9uLnN0YXJ0KCkub2Zmc2V0SW5Db250YWluZXJOb2RlKCk7CiAgICAgKmVuZF9vZmZzZXQgPSBz
ZWxlY3Rpb24uZW5kKCkub2Zmc2V0SW5Db250YWluZXJOb2RlKCk7CiAKLS0gCjEuNi4zLjEKCg==
</data>
<flag name="review"
          id="15880"
          type_id="1"
          status="+"
          setter="gustavo"
    />
          </attachment>
      

    </bug>

</bugzilla>