<?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>36177</bug_id>
          
          <creation_ts>2010-03-16 11:26:54 -0700</creation_ts>
          <short_desc>Multiselect Popup - Listbox click simulation</short_desc>
          <delta_ts>2010-03-25 03:05:23 -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>WebCore Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>CLOSED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>36006</blocked>
    
    <blocked>36178</blocked>
          <everconfirmed>0</everconfirmed>
          <reporter name="Luiz Agostini">luiz</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>dglazkov</cc>
    
    <cc>gustavo</cc>
    
    <cc>hausmann</cc>
    
    <cc>kenneth</cc>
    
    <cc>koivisto</cc>
    
    <cc>laszlo.gombos</cc>
    
    <cc>tonikitoo</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>200322</commentid>
    <comment_count>0</comment_count>
    <who name="Luiz Agostini">luiz</who>
    <bug_when>2010-03-16 11:26:54 -0700</bug_when>
    <thetext>The objective is to create in HTMLSelectElement a method that simulates a click on a listbox.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>200416</commentid>
    <comment_count>1</comment_count>
      <attachid>50832</attachid>
    <who name="Luiz Agostini">luiz</who>
    <bug_when>2010-03-16 14:00:47 -0700</bug_when>
    <thetext>Created attachment 50832
patch 1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>200435</commentid>
    <comment_count>2</comment_count>
      <attachid>50832</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2010-03-16 14:23:46 -0700</bug_when>
    <thetext>Comment on attachment 50832
patch 1

&gt; +    void listBoxPopupClick(int listIndex, bool multi, bool shift, bool fireEvents = true);

What about something like updateListBoxItem</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>200438</commentid>
    <comment_count>3</comment_count>
      <attachid>50832</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2010-03-16 14:25:50 -0700</bug_when>
    <thetext>Comment on attachment 50832
patch 1


&gt; +void HTMLSelectElement::listBoxPopupClick(int listIndex, bool multi, bool shift, bool fireEvents)
&gt; +{
&gt; +    if (!multiple())
&gt; +        setSelectedIndexByUser(listIndex, true, fireEvents);
&gt; +    else {
&gt; +        updateSelectedState(m_data, this, listIndex, multi, shift);
&gt; +        if (fireEvents)
&gt; +            listBoxOnChange();
&gt; +    }
&gt; +}

I don&apos;t really know this code so I might be wrong, but the true in setSelectedIndexByUser is for deselect, so I would guess that updateSelectedState might be calling this method.

Maybe it makes more sense to modify updateSelectedState to do the (!multiple()) check?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>200443</commentid>
    <comment_count>4</comment_count>
    <who name="Antonio Gomes">tonikitoo</who>
    <bug_when>2010-03-16 14:32:57 -0700</bug_when>
    <thetext> 
+void HTMLSelectElement::listBoxPopupClick(int listIndex, bool multi, bool shift, bool fireEvents)
+{
+    if (!multiple())
+        setSelectedIndexByUser(listIndex, true, fireEvents);
+    else {
+        updateSelectedState(m_data, this, listIndex, multi, shift);
+        if (fireEvents)
+            listBoxOnChange();
+    }
+}

Luiz, yet in this method, what is the difference between |multi| and the calling |multiple()| ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>200444</commentid>
    <comment_count>5</comment_count>
    <who name="Luiz Agostini">luiz</who>
    <bug_when>2010-03-16 14:34:21 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 50832 [details])
&gt; &gt; +    void listBoxPopupClick(int listIndex, bool multi, bool shift, bool fireEvents = true);
&gt; 
&gt; What about something like updateListBoxItem

What about updateListboxSelection ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>200449</commentid>
    <comment_count>6</comment_count>
    <who name="Luiz Agostini">luiz</who>
    <bug_when>2010-03-16 14:39:18 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; +void HTMLSelectElement::listBoxPopupClick(int listIndex, bool multi, bool
&gt; shift, bool fireEvents)
&gt; +{
&gt; +    if (!multiple())
&gt; +        setSelectedIndexByUser(listIndex, true, fireEvents);
&gt; +    else {
&gt; +        updateSelectedState(m_data, this, listIndex, multi, shift);
&gt; +        if (fireEvents)
&gt; +            listBoxOnChange();
&gt; +    }
&gt; +}
&gt; 
&gt; Luiz, yet in this method, what is the difference between |multi| and the
&gt; calling |multiple()| ?

multi is a selection of the user.
you can compare multi and shift with pressing keys ctrl and shift for linux listboxes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>200452</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-03-16 14:47:40 -0700</bug_when>
    <thetext>Attachment 50832 did not build on chromium:
Build output: http://webkit-commit-queue.appspot.com/results/924008</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>200455</commentid>
    <comment_count>8</comment_count>
    <who name="Luiz Agostini">luiz</who>
    <bug_when>2010-03-16 14:59:17 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; Attachment 50832 [details] did not build on chromium:
&gt; Build output: http://webkit-commit-queue.appspot.com/results/924008

The problem is that the bot still don&apos; t have previous patches (36124).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>200463</commentid>
    <comment_count>9</comment_count>
    <who name="Luiz Agostini">luiz</who>
    <bug_when>2010-03-16 15:18:12 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 50832 [details])
&gt; 
&gt; &gt; +void HTMLSelectElement::listBoxPopupClick(int listIndex, bool multi, bool shift, bool fireEvents)
&gt; &gt; +{
&gt; &gt; +    if (!multiple())
&gt; &gt; +        setSelectedIndexByUser(listIndex, true, fireEvents);
&gt; &gt; +    else {
&gt; &gt; +        updateSelectedState(m_data, this, listIndex, multi, shift);
&gt; &gt; +        if (fireEvents)
&gt; &gt; +            listBoxOnChange();
&gt; &gt; +    }
&gt; &gt; +}
&gt; 
&gt; I don&apos;t really know this code so I might be wrong, but the true in
&gt; setSelectedIndexByUser is for deselect, so I would guess that
&gt; updateSelectedState might be calling this method.
&gt; 
&gt; Maybe it makes more sense to modify updateSelectedState to do the (!multiple())
&gt; check?

updateSelectedState is used by listBoxDefaultEventHandler so I would like to make no changes on it.

setSelectedIndexByUser checks the index (optionIndex == selectedIndex()) and may leave without considering other parameters.

Considering the objective of creating a click simulation (see bug description) I created a new method that handles all the relevant parameters.

With the bug description in mind I would suggest:

void HTMLSelectElement::listBoxPopupClick(int listIndex, bool multi, bool shift, bool fireEvents)
{
    updateSelectedState(m_data, this, listIndex, multiple() &amp;&amp; multi, shift);
    if (fireEvents)
        listBoxOnChange();
}</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>200495</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-03-16 16:18:34 -0700</bug_when>
    <thetext>Attachment 50832 did not build on gtk:
Build output: http://webkit-commit-queue.appspot.com/results/869036</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>200558</commentid>
    <comment_count>11</comment_count>
    <who name="Luiz Agostini">luiz</who>
    <bug_when>2010-03-16 18:39:02 -0700</bug_when>
    <thetext>(In reply to comment #9)
&gt; (In reply to comment #3)
&gt; &gt; (From update of attachment 50832 [details] [details])
&gt; &gt; 
&gt; &gt; &gt; +void HTMLSelectElement::listBoxPopupClick(int listIndex, bool multi, bool shift, bool fireEvents)
&gt; &gt; &gt; +{
&gt; &gt; &gt; +    if (!multiple())
&gt; &gt; &gt; +        setSelectedIndexByUser(listIndex, true, fireEvents);
&gt; &gt; &gt; +    else {
&gt; &gt; &gt; +        updateSelectedState(m_data, this, listIndex, multi, shift);
&gt; &gt; &gt; +        if (fireEvents)
&gt; &gt; &gt; +            listBoxOnChange();
&gt; &gt; &gt; +    }
&gt; &gt; &gt; +}
&gt; &gt; 
&gt; &gt; I don&apos;t really know this code so I might be wrong, but the true in
&gt; &gt; setSelectedIndexByUser is for deselect, so I would guess that
&gt; &gt; updateSelectedState might be calling this method.
&gt; &gt; 
&gt; &gt; Maybe it makes more sense to modify updateSelectedState to do the (!multiple())
&gt; &gt; check?
&gt; 
&gt; updateSelectedState is used by listBoxDefaultEventHandler so I would like to
&gt; make no changes on it.
&gt; 
&gt; setSelectedIndexByUser checks the index (optionIndex == selectedIndex()) and
&gt; may leave without considering other parameters.
&gt; 
&gt; Considering the objective of creating a click simulation (see bug description)
&gt; I created a new method that handles all the relevant parameters.
&gt; 
&gt; With the bug description in mind I would suggest:
&gt; 
&gt; void HTMLSelectElement::listBoxPopupClick(int listIndex, bool multi, bool
&gt; shift, bool fireEvents)
&gt; {
&gt;     updateSelectedState(m_data, this, listIndex, multiple() &amp;&amp; multi, shift);
&gt;     if (fireEvents)
&gt;         listBoxOnChange();
&gt; }

after some tests I think that the first proposed implementation (the one in patch 1) is better. IMHO. :)

the idea is to use that same code used for handling listboxes clicks and that have been refactored in bug 36124 for multiple combos and to fallback to normal combo handling code for simple combos.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>200566</commentid>
    <comment_count>12</comment_count>
    <who name="Luiz Agostini">luiz</who>
    <bug_when>2010-03-16 18:58:28 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; (In reply to comment #2)
&gt; &gt; (From update of attachment 50832 [details] [details])
&gt; &gt; &gt; +    void listBoxPopupClick(int listIndex, bool multi, bool shift, bool fireEvents = true);
&gt; &gt; 
&gt; &gt; What about something like updateListBoxItem
&gt; 
&gt; What about updateListboxSelection ?

IMHO click may be meaningful. to call this method simulates clicking on a listbox having command pressed (multi) and/or shift pressed (shift).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>200567</commentid>
    <comment_count>13</comment_count>
    <who name="Luiz Agostini">luiz</who>
    <bug_when>2010-03-16 18:59:57 -0700</bug_when>
    <thetext>(In reply to comment #10)
&gt; Attachment 50832 [details] did not build on gtk:
&gt; Build output: http://webkit-commit-queue.appspot.com/results/869036

The problem is that the bot still don&apos; t have previous patches (36124).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>200853</commentid>
    <comment_count>14</comment_count>
      <attachid>50923</attachid>
    <who name="Luiz Agostini">luiz</who>
    <bug_when>2010-03-17 10:36:25 -0700</bug_when>
    <thetext>Created attachment 50923
patch 2

This patch is exactly equal to the previous one. Just to be sure that the bots will check it again now that needed code is landed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>200978</commentid>
    <comment_count>15</comment_count>
      <attachid>50923</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2010-03-17 14:59:31 -0700</bug_when>
    <thetext>Comment on attachment 50923
patch 2

The thing that I don&apos;t like here, is that you are making a method that simulates click regardless of it being a multiple selection or a normal one.

This seems a bit strange to me, as these are currently two different code paths. The question is if they should be that or if that could be refactored.

Also multi and shift are very mouse specific, and for what you are trying to accomplish, you will never need multi nor shift, thus maybe it makes more sense to refactor updateSelectedState into a 

updateIndex(..., int optionIndex, bool fireOnChangeNow, ...) similar to 
SelectElement::setSelectedIndex(SelectElementData, Element, optionIndex, deselect, fireOnChangeNow, userDrivenChange); 

and have updateSelectedState call that? 

I guess updateSelectedState does more than you need, like repaints the items, for instance in the case you &quot;select&quot; an item with a mouse without holding down the keyboard keys.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>201042</commentid>
    <comment_count>16</comment_count>
    <who name="Luiz Agostini">luiz</who>
    <bug_when>2010-03-17 16:54:32 -0700</bug_when>
    <thetext>(In reply to comment #15)
&gt; (From update of attachment 50923 [details])
&gt; The thing that I don&apos;t like here, is that you are making a method that
&gt; simulates click regardless of it being a multiple selection or a normal one.

I think now that the word &apos;simulation&apos; should be removed from the bug title. It came from the fact that the very same code used in mose handling is been shared here.

Anyway I think that the name of the method listBoxPopupClick make clear what this method does and what it is used for.

&gt; This seems a bit strange to me, as these are currently two different code
&gt; paths. The question is if they should be that or if that could be refactored.

The need of two separated paths is not obvious to me and I think that the same code could be used for all cases. But for now I would like to keep focus on multiselect. Anyway this patch keeps the two different paths

Please consider that nothing really new is been implemented. Part of the mouse handling code has been refactored and is now been reused here for &lt;select multiple&gt; popups. All the other cases will handled as they were before to be sure that no side effects will show up.

&gt; Also multi and shift are very mouse specific, and for what you are trying to
&gt; accomplish, you will never need multi nor shift,

As this implementation is not platform specific it could be used even with mouses and keyboards. It is not mouse specific because it provides all the needed features for touchable devices but it also does not exclude mouses.

Actually multi is exactly the needed parameter for &lt;select multiple&gt; popups. It indicates if the selection of the list should turn to the pointed option only (multi == false) or if just the select state of the pointed option should toggle (multi == true).
 
&gt; thus maybe it makes more sense to refactor updateSelectedState into a 
&gt; 
&gt; updateIndex(..., int optionIndex, bool fireOnChangeNow, ...) similar to 
&gt; SelectElement::setSelectedIndex(SelectElementData, Element, optionIndex,
&gt; deselect, fireOnChangeNow, userDrivenChange); 
&gt; 
&gt; and have updateSelectedState call that? 

I just think that it is not needed.

&gt; I guess updateSelectedState does more than you need, like repaints the items,
&gt; for instance in the case you &quot;select&quot; an item with a mouse without holding down the keyboard keys.

No repainting happens for menulists renders.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>201048</commentid>
    <comment_count>17</comment_count>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2010-03-17 16:59:17 -0700</bug_when>
    <thetext>Removing the [Qt] as this doesn&apos;t only touch Qt code. Actually it is not really Qt related at all.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>201059</commentid>
    <comment_count>18</comment_count>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2010-03-17 17:13:15 -0700</bug_when>
    <thetext>Ok, then I suggest renaming listBoxPopupClick to listBoxSelectItem.

I also got confused with multi, so if I understood you right, allowMultiplySelections might be a better name.

Looking at the header file it seems that there are other methods using &apos;bool fireOnChangeNow&apos;, so you might want to use that instead of &apos;bool fireEvents&apos;, if that is indeed the same.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>201328</commentid>
    <comment_count>19</comment_count>
      <attachid>51029</attachid>
    <who name="Luiz Agostini">luiz</who>
    <bug_when>2010-03-18 09:00:23 -0700</bug_when>
    <thetext>Created attachment 51029
patch 3

New patch considering Kenneth&apos;s suggestions.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>201333</commentid>
    <comment_count>20</comment_count>
      <attachid>51030</attachid>
    <who name="Luiz Agostini">luiz</who>
    <bug_when>2010-03-18 09:18:06 -0700</bug_when>
    <thetext>Created attachment 51030
patch 4</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>201338</commentid>
    <comment_count>21</comment_count>
      <attachid>51030</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2010-03-18 09:26:12 -0700</bug_when>
    <thetext>Comment on attachment 51030
patch 4

r- as your ChangeLog is not in sync with your patch. for instance the method is now called listBoxSelectItem, but the ChangeLog mentions listBoxPopupClick</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>201342</commentid>
    <comment_count>22</comment_count>
      <attachid>51034</attachid>
    <who name="Luiz Agostini">luiz</who>
    <bug_when>2010-03-18 09:30:36 -0700</bug_when>
    <thetext>Created attachment 51034
patch 5</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>201370</commentid>
    <comment_count>23</comment_count>
      <attachid>51034</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2010-03-18 10:19:44 -0700</bug_when>
    <thetext>Comment on attachment 51034
patch 5


&gt; +    virtual void listBoxSelectItem(int listIndex, bool allowMultiplySelections,
&gt; +                           bool shift, bool fireOnChangeNow = true) = 0;

Please make this one line.

&gt; +void HTMLSelectElement::listBoxSelectItem(int listIndex, bool allowMultiplySelections,
&gt; +                                          bool shift, bool fireOnChangeNow)

here as well.

&gt;  
&gt; +    void listBoxSelectItem(int listIndex, bool allowMultiplySelections,
&gt; +                           bool shift, bool fireOnChangeNow = true);

and here.

Apart from that LGTM.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>201382</commentid>
    <comment_count>24</comment_count>
      <attachid>51048</attachid>
    <who name="Luiz Agostini">luiz</who>
    <bug_when>2010-03-18 10:49:35 -0700</bug_when>
    <thetext>Created attachment 51048
patch 6</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>201468</commentid>
    <comment_count>25</comment_count>
      <attachid>51048</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-03-18 12:32:09 -0700</bug_when>
    <thetext>Comment on attachment 51048
patch 6

Clearing flags on attachment: 51048

Committed r56180: &lt;http://trac.webkit.org/changeset/56180&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>201469</commentid>
    <comment_count>26</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-03-18 12:32:16 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>50832</attachid>
            <date>2010-03-16 14:00:47 -0700</date>
            <delta_ts>2010-03-17 10:36:25 -0700</delta_ts>
            <desc>patch 1</desc>
            <filename>0001-Qt-Multiselect-Popup-Listbox-click-simulation.patch</filename>
            <type>text/plain</type>
            <size>6037</size>
            <attacher name="Luiz Agostini">luiz</attacher>
            
              <data encoding="base64">RnJvbSA1MWMzYWY2YjI2NTIyNTExZDU1MTk2OTEzODM1YmYwYjk3MDgzNTc1IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBMdWl6IEFnb3N0aW5pIDxsdWl6LmFnb3N0aW5pQG9wZW5ib3Nz
YS5vcmc+CkRhdGU6IFR1ZSwgMTYgTWFyIDIwMTAgMTU6MzM6NTAgLTAzMDAKU3ViamVjdDogW1BB
VENIXSBbUXRdIE11bHRpc2VsZWN0IFBvcHVwIC0gTGlzdGJveCBjbGljayBzaW11bGF0aW9uCiBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzYxNzcKClJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgoKTGlzdGJveCBwb3B1cHMgd2lsbCBuZWVkIHRvIG5vdGlmeSB0aGUg
Y29ycmVzcG9uZGluZyBzZWxlY3QgZWxlbWVudHMgdGhhdCBhCnNlbGVjdGlvbiBjaGFuZ2UgaGFw
cGVuZWQuIFRoZSBjdXJyZW50IEhUTUxTZWxlY3RFbGVtZW50IGludGVyZmFjZSBkb2VzIG5vdAph
bGxvdyBtdWx0aXBsZSBzZWxlY3Rpb25zLgoKVGhlIG5ldyBtZXRob2QgbGlzdEJveFBvcHVwQ2xp
Y2sgc2ltdWxhdGVzIGEgbGlzdGJveCBjbGljaywgaW5jbHVkaW5nIFVJIHVwZGF0ZSBhbmQKZXZl
bnRzIGZpcmluZy4KCiogZG9tL1NlbGVjdEVsZW1lbnQuY3BwOgooV2ViQ29yZTo6U2VsZWN0RWxl
bWVudDo6dXBkYXRlTGlzdEJveFNlbGVjdGlvbik6CihXZWJDb3JlOjpTZWxlY3RFbGVtZW50Ojps
aXN0Qm94T25DaGFuZ2UpOgoqIGRvbS9TZWxlY3RFbGVtZW50Lmg6CiogaHRtbC9IVE1MU2VsZWN0
RWxlbWVudC5jcHA6CihXZWJDb3JlOjpIVE1MU2VsZWN0RWxlbWVudDo6bGlzdEJveFBvcHVwQ2xp
Y2spOgoqIGh0bWwvSFRNTFNlbGVjdEVsZW1lbnQuaDoKLS0tCiBXZWJDb3JlL0NoYW5nZUxvZyAg
ICAgICAgICAgICAgICAgIHwgICAyMiArKysrKysrKysrKysrKysrKysrKysrCiBXZWJDb3JlL2Rv
bS9TZWxlY3RFbGVtZW50LmNwcCAgICAgIHwgICAgNCArKy0tCiBXZWJDb3JlL2RvbS9TZWxlY3RF
bGVtZW50LmggICAgICAgIHwgICAgMyArKysKIFdlYkNvcmUvaHRtbC9IVE1MU2VsZWN0RWxlbWVu
dC5jcHAgfCAgIDEyICsrKysrKysrKysrKwogV2ViQ29yZS9odG1sL0hUTUxTZWxlY3RFbGVtZW50
LmggICB8ICAgIDMgKysrCiA1IGZpbGVzIGNoYW5nZWQsIDQyIGluc2VydGlvbnMoKyksIDIgZGVs
ZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9DaGFuZ2VMb2cgYi9XZWJDb3JlL0NoYW5n
ZUxvZwppbmRleCAzYjI4YTZmLi5mNjYwZmQ1IDEwMDY0NAotLS0gYS9XZWJDb3JlL0NoYW5nZUxv
ZworKysgYi9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMiw2ICsyLDI4IEBACiAKICAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCiAKKyAgICAgICAgW1F0XSBNdWx0aXNlbGVjdCBQb3B1
cCAtIExpc3Rib3ggY2xpY2sgc2ltdWxhdGlvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzYxNzcKKworICAgICAgICBMaXN0Ym94IHBvcHVwcyB3aWxs
IG5lZWQgdG8gbm90aWZ5IHRoZSBjb3JyZXNwb25kaW5nIHNlbGVjdCBlbGVtZW50cyB0aGF0IGEK
KyAgICAgICAgc2VsZWN0aW9uIGNoYW5nZSBoYXBwZW5lZC4gVGhlIGN1cnJlbnQgSFRNTFNlbGVj
dEVsZW1lbnQgaW50ZXJmYWNlIGRvZXMgbm90CisgICAgICAgIGFsbG93IG11bHRpcGxlIHNlbGVj
dGlvbnMuCisKKyAgICAgICAgVGhlIG5ldyBtZXRob2QgbGlzdEJveFBvcHVwQ2xpY2sgc2ltdWxh
dGVzIGEgbGlzdGJveCBjbGljaywgaW5jbHVkaW5nIFVJIHVwZGF0ZSBhbmQKKyAgICAgICAgZXZl
bnRzIGZpcmluZy4KKworICAgICAgICAqIGRvbS9TZWxlY3RFbGVtZW50LmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlNlbGVjdEVsZW1lbnQ6OnVwZGF0ZUxpc3RCb3hTZWxlY3Rpb24pOgorICAgICAg
ICAoV2ViQ29yZTo6U2VsZWN0RWxlbWVudDo6bGlzdEJveE9uQ2hhbmdlKToKKyAgICAgICAgKiBk
b20vU2VsZWN0RWxlbWVudC5oOgorICAgICAgICAqIGh0bWwvSFRNTFNlbGVjdEVsZW1lbnQuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6SFRNTFNlbGVjdEVsZW1lbnQ6Omxpc3RCb3hQb3B1cENsaWNr
KToKKyAgICAgICAgKiBodG1sL0hUTUxTZWxlY3RFbGVtZW50Lmg6CisKKzIwMTAtMDMtMTYgIEx1
aXogQWdvc3RpbmkgIDxsdWl6LmFnb3N0aW5pQG9wZW5ib3NzYS5vcmc+CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKICAgICAgICAgW1F0XSBNdWx0aXNlbGVjdCBQb3B1
cCAtIFNlbGVjdEVsZW1lbnQgcmVmYWN0b3JpbmcuCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zNjEyNAogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9T
ZWxlY3RFbGVtZW50LmNwcCBiL1dlYkNvcmUvZG9tL1NlbGVjdEVsZW1lbnQuY3BwCmluZGV4IDRh
NTRiZmUuLmEwM2UyOGYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL1NlbGVjdEVsZW1lbnQuY3Bw
CisrKyBiL1dlYkNvcmUvZG9tL1NlbGVjdEVsZW1lbnQuY3BwCkBAIC0xNTAsNyArMTUwLDcgQEAg
dm9pZCBTZWxlY3RFbGVtZW50OjpzZXRBY3RpdmVTZWxlY3Rpb25FbmRJbmRleChTZWxlY3RFbGVt
ZW50RGF0YSYgZGF0YSwgaW50IGluZGUKIAogdm9pZCBTZWxlY3RFbGVtZW50Ojp1cGRhdGVMaXN0
Qm94U2VsZWN0aW9uKFNlbGVjdEVsZW1lbnREYXRhJiBkYXRhLCBFbGVtZW50KiBlbGVtZW50LCBi
b29sIGRlc2VsZWN0T3RoZXJPcHRpb25zKQogewotICAgIEFTU0VSVChlbGVtZW50LT5yZW5kZXJl
cigpICYmIGVsZW1lbnQtPnJlbmRlcmVyKCktPmlzTGlzdEJveCgpKTsKKyAgICBBU1NFUlQoZWxl
bWVudC0+cmVuZGVyZXIoKSAmJiAoZWxlbWVudC0+cmVuZGVyZXIoKS0+aXNMaXN0Qm94KCkgfHwg
ZGF0YS5tdWx0aXBsZSgpKSk7CiAgICAgQVNTRVJUKGRhdGEuYWN0aXZlU2VsZWN0aW9uQW5jaG9y
SW5kZXgoKSA+PSAwKTsKIAogICAgIHVuc2lnbmVkIHN0YXJ0ID0gbWluKGRhdGEuYWN0aXZlU2Vs
ZWN0aW9uQW5jaG9ySW5kZXgoKSwgZGF0YS5hY3RpdmVTZWxlY3Rpb25FbmRJbmRleCgpKTsKQEAg
LTE3Niw3ICsxNzYsNyBAQCB2b2lkIFNlbGVjdEVsZW1lbnQ6OnVwZGF0ZUxpc3RCb3hTZWxlY3Rp
b24oU2VsZWN0RWxlbWVudERhdGEmIGRhdGEsIEVsZW1lbnQqIGVsZQogCiB2b2lkIFNlbGVjdEVs
ZW1lbnQ6Omxpc3RCb3hPbkNoYW5nZShTZWxlY3RFbGVtZW50RGF0YSYgZGF0YSwgRWxlbWVudCog
ZWxlbWVudCkKIHsKLSAgICBBU1NFUlQoIWRhdGEudXNlc01lbnVMaXN0KCkpOworICAgIEFTU0VS
VCghZGF0YS51c2VzTWVudUxpc3QoKSB8fCBkYXRhLm11bHRpcGxlKCkpOwogCiAgICAgVmVjdG9y
PGJvb2w+JiBsYXN0T25DaGFuZ2VTZWxlY3Rpb24gPSBkYXRhLmxhc3RPbkNoYW5nZVNlbGVjdGlv
bigpOyAKICAgICBjb25zdCBWZWN0b3I8RWxlbWVudCo+JiBpdGVtcyA9IGRhdGEubGlzdEl0ZW1z
KGVsZW1lbnQpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vU2VsZWN0RWxlbWVudC5oIGIvV2Vi
Q29yZS9kb20vU2VsZWN0RWxlbWVudC5oCmluZGV4IDhjMTYwZjQuLmNiMDQ3MTAgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvZG9tL1NlbGVjdEVsZW1lbnQuaAorKysgYi9XZWJDb3JlL2RvbS9TZWxlY3RF
bGVtZW50LmgKQEAgLTEsNCArMSw1IEBACiAvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIE5va2lh
IENvcnBvcmF0aW9uIGFuZC9vciBpdHMgc3Vic2lkaWFyeSgtaWVzKS4KICAqIENvcHlyaWdodCAo
QykgMjAwOSBUb3JjaCBNb2JpbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLiAoaHR0cC8vd3d3
LnRvcmNobW9iaWxlLmNvbS8pCiAgKgogICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7
IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgpAQCAtNjAsNiArNjEsOCBAQCBwdWJsaWM6
CiAgICAgdmlydHVhbCB2b2lkIHNldFNlbGVjdGVkSW5kZXgoaW50IGluZGV4LCBib29sIGRlc2Vs
ZWN0ID0gdHJ1ZSkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBzZXRTZWxlY3RlZEluZGV4QnlVc2Vy
KGludCBpbmRleCwgYm9vbCBkZXNlbGVjdCA9IHRydWUsIGJvb2wgZmlyZU9uQ2hhbmdlTm93ID0g
ZmFsc2UpID0gMDsKIAorICAgIHZpcnR1YWwgdm9pZCBsaXN0Qm94UG9wdXBDbGljayhpbnQgbGlz
dEluZGV4LCBib29sIG11bHRpLCBib29sIHNoaWZ0LCBib29sIGZpcmVFdmVudHMgPSB0cnVlKSA9
IDA7CisKIHByb3RlY3RlZDoKICAgICB2aXJ0dWFsIH5TZWxlY3RFbGVtZW50KCkgeyB9CiAKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9IVE1MU2VsZWN0RWxlbWVudC5jcHAgYi9XZWJDb3JlL2h0
bWwvSFRNTFNlbGVjdEVsZW1lbnQuY3BwCmluZGV4IGYxMTc1NWYuLmJiMWExMGYgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvaHRtbC9IVE1MU2VsZWN0RWxlbWVudC5jcHAKKysrIGIvV2ViQ29yZS9odG1s
L0hUTUxTZWxlY3RFbGVtZW50LmNwcApAQCAtMSw0ICsxLDUgQEAKIC8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTAgTm9raWEgQ29ycG9yYXRpb24gYW5kL29yIGl0cyBzdWJzaWRpYXJ5KC1pZXMpLgog
ICogQ29weXJpZ2h0IChDKSAxOTk5IExhcnMgS25vbGwgKGtub2xsQGtkZS5vcmcpCiAgKiAgICAg
ICAgICAgKEMpIDE5OTkgQW50dGkgS29pdmlzdG8gKGtvaXZpc3RvQGtkZS5vcmcpCiAgKiAgICAg
ICAgICAgKEMpIDIwMDEgRGlyayBNdWVsbGVyIChtdWVsbGVyQGtkZS5vcmcpCkBAIC05Nyw2ICs5
OCwxNyBAQCB2b2lkIEhUTUxTZWxlY3RFbGVtZW50OjpzZXRTZWxlY3RlZEluZGV4QnlVc2VyKGlu
dCBvcHRpb25JbmRleCwgYm9vbCBkZXNlbGVjdCwgYgogICAgIFNlbGVjdEVsZW1lbnQ6OnNldFNl
bGVjdGVkSW5kZXgobV9kYXRhLCB0aGlzLCBvcHRpb25JbmRleCwgZGVzZWxlY3QsIGZpcmVPbkNo
YW5nZU5vdywgdHJ1ZSk7CiB9CiAKK3ZvaWQgSFRNTFNlbGVjdEVsZW1lbnQ6Omxpc3RCb3hQb3B1
cENsaWNrKGludCBsaXN0SW5kZXgsIGJvb2wgbXVsdGksIGJvb2wgc2hpZnQsIGJvb2wgZmlyZUV2
ZW50cykKK3sKKyAgICBpZiAoIW11bHRpcGxlKCkpCisgICAgICAgIHNldFNlbGVjdGVkSW5kZXhC
eVVzZXIobGlzdEluZGV4LCB0cnVlLCBmaXJlRXZlbnRzKTsKKyAgICBlbHNlIHsKKyAgICAgICAg
dXBkYXRlU2VsZWN0ZWRTdGF0ZShtX2RhdGEsIHRoaXMsIGxpc3RJbmRleCwgbXVsdGksIHNoaWZ0
KTsKKyAgICAgICAgaWYgKGZpcmVFdmVudHMpCisgICAgICAgICAgICBsaXN0Qm94T25DaGFuZ2Uo
KTsKKyAgICB9Cit9CisKIGludCBIVE1MU2VsZWN0RWxlbWVudDo6YWN0aXZlU2VsZWN0aW9uU3Rh
cnRMaXN0SW5kZXgoKSBjb25zdAogewogICAgIGlmIChtX2RhdGEuYWN0aXZlU2VsZWN0aW9uQW5j
aG9ySW5kZXgoKSA+PSAwKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL0hUTUxTZWxlY3RFbGVt
ZW50LmggYi9XZWJDb3JlL2h0bWwvSFRNTFNlbGVjdEVsZW1lbnQuaAppbmRleCAwYTIwNTBlLi5m
ZWMxOTM1IDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvSFRNTFNlbGVjdEVsZW1lbnQuaAorKysg
Yi9XZWJDb3JlL2h0bWwvSFRNTFNlbGVjdEVsZW1lbnQuaApAQCAtMSw0ICsxLDUgQEAKIC8qCisg
KiBDb3B5cmlnaHQgKEMpIDIwMTAgTm9raWEgQ29ycG9yYXRpb24gYW5kL29yIGl0cyBzdWJzaWRp
YXJ5KC1pZXMpLgogICogQ29weXJpZ2h0IChDKSAxOTk5IExhcnMgS25vbGwgKGtub2xsQGtkZS5v
cmcpCiAgKiAgICAgICAgICAgKEMpIDE5OTkgQW50dGkgS29pdmlzdG8gKGtvaXZpc3RvQGtkZS5v
cmcpCiAgKiAgICAgICAgICAgKEMpIDIwMDAgRGlyayBNdWVsbGVyIChtdWVsbGVyQGtkZS5vcmcp
CkBAIC04MCw2ICs4MSw4IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgc2Nyb2xsVG9TZWxlY3Rpb24o
KTsKIAorICAgIHZvaWQgbGlzdEJveFBvcHVwQ2xpY2soaW50IGxpc3RJbmRleCwgYm9vbCBtdWx0
aSwgYm9vbCBzaGlmdCwgYm9vbCBmaXJlRXZlbnRzID0gdHJ1ZSk7CisKIHByaXZhdGU6CiAgICAg
dmlydHVhbCBpbnQgdGFnUHJpb3JpdHkoKSBjb25zdCB7IHJldHVybiA2OyB9CiAgICAgdmlydHVh
bCBib29sIGNoZWNrRFREKGNvbnN0IE5vZGUqIG5ld0NoaWxkKTsKLS0gCjEuNi4zLjMKCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>50923</attachid>
            <date>2010-03-17 10:36:25 -0700</date>
            <delta_ts>2010-03-18 09:00:23 -0700</delta_ts>
            <desc>patch 2</desc>
            <filename>0001-Qt-Multiselect-Popup-Listbox-click-simulation (1).patch</filename>
            <type>text/plain</type>
            <size>6037</size>
            <attacher name="Luiz Agostini">luiz</attacher>
            
              <data encoding="base64">RnJvbSA1MWMzYWY2YjI2NTIyNTExZDU1MTk2OTEzODM1YmYwYjk3MDgzNTc1IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBMdWl6IEFnb3N0aW5pIDxsdWl6LmFnb3N0aW5pQG9wZW5ib3Nz
YS5vcmc+CkRhdGU6IFR1ZSwgMTYgTWFyIDIwMTAgMTU6MzM6NTAgLTAzMDAKU3ViamVjdDogW1BB
VENIXSBbUXRdIE11bHRpc2VsZWN0IFBvcHVwIC0gTGlzdGJveCBjbGljayBzaW11bGF0aW9uCiBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzYxNzcKClJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgoKTGlzdGJveCBwb3B1cHMgd2lsbCBuZWVkIHRvIG5vdGlmeSB0aGUg
Y29ycmVzcG9uZGluZyBzZWxlY3QgZWxlbWVudHMgdGhhdCBhCnNlbGVjdGlvbiBjaGFuZ2UgaGFw
cGVuZWQuIFRoZSBjdXJyZW50IEhUTUxTZWxlY3RFbGVtZW50IGludGVyZmFjZSBkb2VzIG5vdAph
bGxvdyBtdWx0aXBsZSBzZWxlY3Rpb25zLgoKVGhlIG5ldyBtZXRob2QgbGlzdEJveFBvcHVwQ2xp
Y2sgc2ltdWxhdGVzIGEgbGlzdGJveCBjbGljaywgaW5jbHVkaW5nIFVJIHVwZGF0ZSBhbmQKZXZl
bnRzIGZpcmluZy4KCiogZG9tL1NlbGVjdEVsZW1lbnQuY3BwOgooV2ViQ29yZTo6U2VsZWN0RWxl
bWVudDo6dXBkYXRlTGlzdEJveFNlbGVjdGlvbik6CihXZWJDb3JlOjpTZWxlY3RFbGVtZW50Ojps
aXN0Qm94T25DaGFuZ2UpOgoqIGRvbS9TZWxlY3RFbGVtZW50Lmg6CiogaHRtbC9IVE1MU2VsZWN0
RWxlbWVudC5jcHA6CihXZWJDb3JlOjpIVE1MU2VsZWN0RWxlbWVudDo6bGlzdEJveFBvcHVwQ2xp
Y2spOgoqIGh0bWwvSFRNTFNlbGVjdEVsZW1lbnQuaDoKLS0tCiBXZWJDb3JlL0NoYW5nZUxvZyAg
ICAgICAgICAgICAgICAgIHwgICAyMiArKysrKysrKysrKysrKysrKysrKysrCiBXZWJDb3JlL2Rv
bS9TZWxlY3RFbGVtZW50LmNwcCAgICAgIHwgICAgNCArKy0tCiBXZWJDb3JlL2RvbS9TZWxlY3RF
bGVtZW50LmggICAgICAgIHwgICAgMyArKysKIFdlYkNvcmUvaHRtbC9IVE1MU2VsZWN0RWxlbWVu
dC5jcHAgfCAgIDEyICsrKysrKysrKysrKwogV2ViQ29yZS9odG1sL0hUTUxTZWxlY3RFbGVtZW50
LmggICB8ICAgIDMgKysrCiA1IGZpbGVzIGNoYW5nZWQsIDQyIGluc2VydGlvbnMoKyksIDIgZGVs
ZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9DaGFuZ2VMb2cgYi9XZWJDb3JlL0NoYW5n
ZUxvZwppbmRleCAzYjI4YTZmLi5mNjYwZmQ1IDEwMDY0NAotLS0gYS9XZWJDb3JlL0NoYW5nZUxv
ZworKysgYi9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMiw2ICsyLDI4IEBACiAKICAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCiAKKyAgICAgICAgW1F0XSBNdWx0aXNlbGVjdCBQb3B1
cCAtIExpc3Rib3ggY2xpY2sgc2ltdWxhdGlvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzYxNzcKKworICAgICAgICBMaXN0Ym94IHBvcHVwcyB3aWxs
IG5lZWQgdG8gbm90aWZ5IHRoZSBjb3JyZXNwb25kaW5nIHNlbGVjdCBlbGVtZW50cyB0aGF0IGEK
KyAgICAgICAgc2VsZWN0aW9uIGNoYW5nZSBoYXBwZW5lZC4gVGhlIGN1cnJlbnQgSFRNTFNlbGVj
dEVsZW1lbnQgaW50ZXJmYWNlIGRvZXMgbm90CisgICAgICAgIGFsbG93IG11bHRpcGxlIHNlbGVj
dGlvbnMuCisKKyAgICAgICAgVGhlIG5ldyBtZXRob2QgbGlzdEJveFBvcHVwQ2xpY2sgc2ltdWxh
dGVzIGEgbGlzdGJveCBjbGljaywgaW5jbHVkaW5nIFVJIHVwZGF0ZSBhbmQKKyAgICAgICAgZXZl
bnRzIGZpcmluZy4KKworICAgICAgICAqIGRvbS9TZWxlY3RFbGVtZW50LmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlNlbGVjdEVsZW1lbnQ6OnVwZGF0ZUxpc3RCb3hTZWxlY3Rpb24pOgorICAgICAg
ICAoV2ViQ29yZTo6U2VsZWN0RWxlbWVudDo6bGlzdEJveE9uQ2hhbmdlKToKKyAgICAgICAgKiBk
b20vU2VsZWN0RWxlbWVudC5oOgorICAgICAgICAqIGh0bWwvSFRNTFNlbGVjdEVsZW1lbnQuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6SFRNTFNlbGVjdEVsZW1lbnQ6Omxpc3RCb3hQb3B1cENsaWNr
KToKKyAgICAgICAgKiBodG1sL0hUTUxTZWxlY3RFbGVtZW50Lmg6CisKKzIwMTAtMDMtMTYgIEx1
aXogQWdvc3RpbmkgIDxsdWl6LmFnb3N0aW5pQG9wZW5ib3NzYS5vcmc+CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKICAgICAgICAgW1F0XSBNdWx0aXNlbGVjdCBQb3B1
cCAtIFNlbGVjdEVsZW1lbnQgcmVmYWN0b3JpbmcuCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zNjEyNAogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9T
ZWxlY3RFbGVtZW50LmNwcCBiL1dlYkNvcmUvZG9tL1NlbGVjdEVsZW1lbnQuY3BwCmluZGV4IDRh
NTRiZmUuLmEwM2UyOGYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL1NlbGVjdEVsZW1lbnQuY3Bw
CisrKyBiL1dlYkNvcmUvZG9tL1NlbGVjdEVsZW1lbnQuY3BwCkBAIC0xNTAsNyArMTUwLDcgQEAg
dm9pZCBTZWxlY3RFbGVtZW50OjpzZXRBY3RpdmVTZWxlY3Rpb25FbmRJbmRleChTZWxlY3RFbGVt
ZW50RGF0YSYgZGF0YSwgaW50IGluZGUKIAogdm9pZCBTZWxlY3RFbGVtZW50Ojp1cGRhdGVMaXN0
Qm94U2VsZWN0aW9uKFNlbGVjdEVsZW1lbnREYXRhJiBkYXRhLCBFbGVtZW50KiBlbGVtZW50LCBi
b29sIGRlc2VsZWN0T3RoZXJPcHRpb25zKQogewotICAgIEFTU0VSVChlbGVtZW50LT5yZW5kZXJl
cigpICYmIGVsZW1lbnQtPnJlbmRlcmVyKCktPmlzTGlzdEJveCgpKTsKKyAgICBBU1NFUlQoZWxl
bWVudC0+cmVuZGVyZXIoKSAmJiAoZWxlbWVudC0+cmVuZGVyZXIoKS0+aXNMaXN0Qm94KCkgfHwg
ZGF0YS5tdWx0aXBsZSgpKSk7CiAgICAgQVNTRVJUKGRhdGEuYWN0aXZlU2VsZWN0aW9uQW5jaG9y
SW5kZXgoKSA+PSAwKTsKIAogICAgIHVuc2lnbmVkIHN0YXJ0ID0gbWluKGRhdGEuYWN0aXZlU2Vs
ZWN0aW9uQW5jaG9ySW5kZXgoKSwgZGF0YS5hY3RpdmVTZWxlY3Rpb25FbmRJbmRleCgpKTsKQEAg
LTE3Niw3ICsxNzYsNyBAQCB2b2lkIFNlbGVjdEVsZW1lbnQ6OnVwZGF0ZUxpc3RCb3hTZWxlY3Rp
b24oU2VsZWN0RWxlbWVudERhdGEmIGRhdGEsIEVsZW1lbnQqIGVsZQogCiB2b2lkIFNlbGVjdEVs
ZW1lbnQ6Omxpc3RCb3hPbkNoYW5nZShTZWxlY3RFbGVtZW50RGF0YSYgZGF0YSwgRWxlbWVudCog
ZWxlbWVudCkKIHsKLSAgICBBU1NFUlQoIWRhdGEudXNlc01lbnVMaXN0KCkpOworICAgIEFTU0VS
VCghZGF0YS51c2VzTWVudUxpc3QoKSB8fCBkYXRhLm11bHRpcGxlKCkpOwogCiAgICAgVmVjdG9y
PGJvb2w+JiBsYXN0T25DaGFuZ2VTZWxlY3Rpb24gPSBkYXRhLmxhc3RPbkNoYW5nZVNlbGVjdGlv
bigpOyAKICAgICBjb25zdCBWZWN0b3I8RWxlbWVudCo+JiBpdGVtcyA9IGRhdGEubGlzdEl0ZW1z
KGVsZW1lbnQpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vU2VsZWN0RWxlbWVudC5oIGIvV2Vi
Q29yZS9kb20vU2VsZWN0RWxlbWVudC5oCmluZGV4IDhjMTYwZjQuLmNiMDQ3MTAgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvZG9tL1NlbGVjdEVsZW1lbnQuaAorKysgYi9XZWJDb3JlL2RvbS9TZWxlY3RF
bGVtZW50LmgKQEAgLTEsNCArMSw1IEBACiAvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIE5va2lh
IENvcnBvcmF0aW9uIGFuZC9vciBpdHMgc3Vic2lkaWFyeSgtaWVzKS4KICAqIENvcHlyaWdodCAo
QykgMjAwOSBUb3JjaCBNb2JpbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLiAoaHR0cC8vd3d3
LnRvcmNobW9iaWxlLmNvbS8pCiAgKgogICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7
IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgpAQCAtNjAsNiArNjEsOCBAQCBwdWJsaWM6
CiAgICAgdmlydHVhbCB2b2lkIHNldFNlbGVjdGVkSW5kZXgoaW50IGluZGV4LCBib29sIGRlc2Vs
ZWN0ID0gdHJ1ZSkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBzZXRTZWxlY3RlZEluZGV4QnlVc2Vy
KGludCBpbmRleCwgYm9vbCBkZXNlbGVjdCA9IHRydWUsIGJvb2wgZmlyZU9uQ2hhbmdlTm93ID0g
ZmFsc2UpID0gMDsKIAorICAgIHZpcnR1YWwgdm9pZCBsaXN0Qm94UG9wdXBDbGljayhpbnQgbGlz
dEluZGV4LCBib29sIG11bHRpLCBib29sIHNoaWZ0LCBib29sIGZpcmVFdmVudHMgPSB0cnVlKSA9
IDA7CisKIHByb3RlY3RlZDoKICAgICB2aXJ0dWFsIH5TZWxlY3RFbGVtZW50KCkgeyB9CiAKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9IVE1MU2VsZWN0RWxlbWVudC5jcHAgYi9XZWJDb3JlL2h0
bWwvSFRNTFNlbGVjdEVsZW1lbnQuY3BwCmluZGV4IGYxMTc1NWYuLmJiMWExMGYgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvaHRtbC9IVE1MU2VsZWN0RWxlbWVudC5jcHAKKysrIGIvV2ViQ29yZS9odG1s
L0hUTUxTZWxlY3RFbGVtZW50LmNwcApAQCAtMSw0ICsxLDUgQEAKIC8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTAgTm9raWEgQ29ycG9yYXRpb24gYW5kL29yIGl0cyBzdWJzaWRpYXJ5KC1pZXMpLgog
ICogQ29weXJpZ2h0IChDKSAxOTk5IExhcnMgS25vbGwgKGtub2xsQGtkZS5vcmcpCiAgKiAgICAg
ICAgICAgKEMpIDE5OTkgQW50dGkgS29pdmlzdG8gKGtvaXZpc3RvQGtkZS5vcmcpCiAgKiAgICAg
ICAgICAgKEMpIDIwMDEgRGlyayBNdWVsbGVyIChtdWVsbGVyQGtkZS5vcmcpCkBAIC05Nyw2ICs5
OCwxNyBAQCB2b2lkIEhUTUxTZWxlY3RFbGVtZW50OjpzZXRTZWxlY3RlZEluZGV4QnlVc2VyKGlu
dCBvcHRpb25JbmRleCwgYm9vbCBkZXNlbGVjdCwgYgogICAgIFNlbGVjdEVsZW1lbnQ6OnNldFNl
bGVjdGVkSW5kZXgobV9kYXRhLCB0aGlzLCBvcHRpb25JbmRleCwgZGVzZWxlY3QsIGZpcmVPbkNo
YW5nZU5vdywgdHJ1ZSk7CiB9CiAKK3ZvaWQgSFRNTFNlbGVjdEVsZW1lbnQ6Omxpc3RCb3hQb3B1
cENsaWNrKGludCBsaXN0SW5kZXgsIGJvb2wgbXVsdGksIGJvb2wgc2hpZnQsIGJvb2wgZmlyZUV2
ZW50cykKK3sKKyAgICBpZiAoIW11bHRpcGxlKCkpCisgICAgICAgIHNldFNlbGVjdGVkSW5kZXhC
eVVzZXIobGlzdEluZGV4LCB0cnVlLCBmaXJlRXZlbnRzKTsKKyAgICBlbHNlIHsKKyAgICAgICAg
dXBkYXRlU2VsZWN0ZWRTdGF0ZShtX2RhdGEsIHRoaXMsIGxpc3RJbmRleCwgbXVsdGksIHNoaWZ0
KTsKKyAgICAgICAgaWYgKGZpcmVFdmVudHMpCisgICAgICAgICAgICBsaXN0Qm94T25DaGFuZ2Uo
KTsKKyAgICB9Cit9CisKIGludCBIVE1MU2VsZWN0RWxlbWVudDo6YWN0aXZlU2VsZWN0aW9uU3Rh
cnRMaXN0SW5kZXgoKSBjb25zdAogewogICAgIGlmIChtX2RhdGEuYWN0aXZlU2VsZWN0aW9uQW5j
aG9ySW5kZXgoKSA+PSAwKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL0hUTUxTZWxlY3RFbGVt
ZW50LmggYi9XZWJDb3JlL2h0bWwvSFRNTFNlbGVjdEVsZW1lbnQuaAppbmRleCAwYTIwNTBlLi5m
ZWMxOTM1IDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvSFRNTFNlbGVjdEVsZW1lbnQuaAorKysg
Yi9XZWJDb3JlL2h0bWwvSFRNTFNlbGVjdEVsZW1lbnQuaApAQCAtMSw0ICsxLDUgQEAKIC8qCisg
KiBDb3B5cmlnaHQgKEMpIDIwMTAgTm9raWEgQ29ycG9yYXRpb24gYW5kL29yIGl0cyBzdWJzaWRp
YXJ5KC1pZXMpLgogICogQ29weXJpZ2h0IChDKSAxOTk5IExhcnMgS25vbGwgKGtub2xsQGtkZS5v
cmcpCiAgKiAgICAgICAgICAgKEMpIDE5OTkgQW50dGkgS29pdmlzdG8gKGtvaXZpc3RvQGtkZS5v
cmcpCiAgKiAgICAgICAgICAgKEMpIDIwMDAgRGlyayBNdWVsbGVyIChtdWVsbGVyQGtkZS5vcmcp
CkBAIC04MCw2ICs4MSw4IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgc2Nyb2xsVG9TZWxlY3Rpb24o
KTsKIAorICAgIHZvaWQgbGlzdEJveFBvcHVwQ2xpY2soaW50IGxpc3RJbmRleCwgYm9vbCBtdWx0
aSwgYm9vbCBzaGlmdCwgYm9vbCBmaXJlRXZlbnRzID0gdHJ1ZSk7CisKIHByaXZhdGU6CiAgICAg
dmlydHVhbCBpbnQgdGFnUHJpb3JpdHkoKSBjb25zdCB7IHJldHVybiA2OyB9CiAgICAgdmlydHVh
bCBib29sIGNoZWNrRFREKGNvbnN0IE5vZGUqIG5ld0NoaWxkKTsKLS0gCjEuNi4zLjMKCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>51029</attachid>
            <date>2010-03-18 09:00:23 -0700</date>
            <delta_ts>2010-03-18 09:18:06 -0700</delta_ts>
            <desc>patch 3</desc>
            <filename>0001-Multiselect-Popup-Listbox-click-simulation.patch</filename>
            <type>text/plain</type>
            <size>6558</size>
            <attacher name="Luiz Agostini">luiz</attacher>
            
              <data encoding="base64">RnJvbSA1MTNmMTc5MzE1ODRjMDc1ZWM2YzUwOGJkN2ZmMjFkZDgzNTMxNmQyIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBMdWl6IEFnb3N0aW5pIDxsdWl6LmFnb3N0aW5pQG9wZW5ib3Nz
YS5vcmc+CkRhdGU6IFRodSwgMTggTWFyIDIwMTAgMTI6NTc6MDkgLTAzMDAKU3ViamVjdDogW1BB
VENIXSBNdWx0aXNlbGVjdCBQb3B1cCAtIExpc3Rib3ggY2xpY2sgc2ltdWxhdGlvbgogaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM2MTc3CgpSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KCkxpc3Rib3ggcG9wdXBzIHdpbGwgbmVlZCB0byBub3RpZnkgdGhlIGNvcnJl
c3BvbmRpbmcgc2VsZWN0IGVsZW1lbnRzIHRoYXQgYQpzZWxlY3Rpb24gY2hhbmdlIGhhcHBlbmVk
LiBUaGUgY3VycmVudCBIVE1MU2VsZWN0RWxlbWVudCBpbnRlcmZhY2UgZG9lcyBub3QKYWxsb3cg
bXVsdGlwbGUgc2VsZWN0aW9ucy4KClRoZSBuZXcgbWV0aG9kIGxpc3RCb3hQb3B1cENsaWNrIHdp
bGwgYmUgdXNlZCBmb3IgdGhhdC4gSSBoYXZlIHJlZmFjdG9yZWQgcGFydApvZiB0aGUgbW91c2Ug
aGFuZGxpbmcgY29kZSBpbiBidWcgMzYxMjQgYW5kIEkgYW0gbm93IHJldXNpbmcgaXQgaGVyZSBm
b3IKPHNlbGVjdCBtdWx0aXBsZT4gcG9wdXBzLiBBbGwgdGhlIG90aGVyIGNhc2VzIHdpbGwgaGFu
ZGxlZCBhcyB0aGV5IHdlcmUgYmVmb3JlIHRvIGJlCnN1cmUgdGhhdCBubyBzaWRlIGVmZmVjdHMg
d2lsbCBzaG93IHVwLgoKKiBkb20vU2VsZWN0RWxlbWVudC5jcHA6CihXZWJDb3JlOjpTZWxlY3RF
bGVtZW50Ojp1cGRhdGVMaXN0Qm94U2VsZWN0aW9uKToKKFdlYkNvcmU6OlNlbGVjdEVsZW1lbnQ6
Omxpc3RCb3hPbkNoYW5nZSk6CiogZG9tL1NlbGVjdEVsZW1lbnQuaDoKKiBodG1sL0hUTUxTZWxl
Y3RFbGVtZW50LmNwcDoKKFdlYkNvcmU6OkhUTUxTZWxlY3RFbGVtZW50OjpsaXN0Qm94UG9wdXBD
bGljayk6CiogaHRtbC9IVE1MU2VsZWN0RWxlbWVudC5oOgotLS0KIFdlYkNvcmUvQ2hhbmdlTG9n
ICAgICAgICAgICAgICAgICAgfCAgIDI0ICsrKysrKysrKysrKysrKysrKysrKysrKwogV2ViQ29y
ZS9kb20vU2VsZWN0RWxlbWVudC5jcHAgICAgICB8ICAgIDQgKystLQogV2ViQ29yZS9kb20vU2Vs
ZWN0RWxlbWVudC5oICAgICAgICB8ICAgIDQgKysrKwogV2ViQ29yZS9odG1sL0hUTUxTZWxlY3RF
bGVtZW50LmNwcCB8ICAgMTMgKysrKysrKysrKysrKwogV2ViQ29yZS9odG1sL0hUTUxTZWxlY3RF
bGVtZW50LmggICB8ICAgIDQgKysrKwogNSBmaWxlcyBjaGFuZ2VkLCA0NyBpbnNlcnRpb25zKCsp
LCAyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29y
ZS9DaGFuZ2VMb2cKaW5kZXggMGM0Y2QwZi4uMjE4ZWM2OSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9D
aGFuZ2VMb2cKKysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNyBAQAorMjAxMC0w
My0xOCAgTHVpeiBBZ29zdGluaSAgPGx1aXouYWdvc3RpbmlAb3BlbmJvc3NhLm9yZz4KKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBNdWx0aXNlbGVjdCBQ
b3B1cCAtIExpc3Rib3ggY2xpY2sgc2ltdWxhdGlvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzYxNzcKKworICAgICAgICBMaXN0Ym94IHBvcHVwcyB3
aWxsIG5lZWQgdG8gbm90aWZ5IHRoZSBjb3JyZXNwb25kaW5nIHNlbGVjdCBlbGVtZW50cyB0aGF0
IGEKKyAgICAgICAgc2VsZWN0aW9uIGNoYW5nZSBoYXBwZW5lZC4gVGhlIGN1cnJlbnQgSFRNTFNl
bGVjdEVsZW1lbnQgaW50ZXJmYWNlIGRvZXMgbm90CisgICAgICAgIGFsbG93IG11bHRpcGxlIHNl
bGVjdGlvbnMuCisKKyAgICAgICAgVGhlIG5ldyBtZXRob2QgbGlzdEJveFBvcHVwQ2xpY2sgd2ls
bCBiZSB1c2VkIGZvciB0aGF0LiBJIGhhdmUgcmVmYWN0b3JlZCBwYXJ0CisgICAgICAgIG9mIHRo
ZSBtb3VzZSBoYW5kbGluZyBjb2RlIGluIGJ1ZyAzNjEyNCBhbmQgSSBhbSBub3cgcmV1c2luZyBp
dCBoZXJlIGZvcgorICAgICAgICA8c2VsZWN0IG11bHRpcGxlPiBwb3B1cHMuIEFsbCB0aGUgb3Ro
ZXIgY2FzZXMgd2lsbCBoYW5kbGVkIGFzIHRoZXkgd2VyZSBiZWZvcmUgdG8gYmUKKyAgICAgICAg
c3VyZSB0aGF0IG5vIHNpZGUgZWZmZWN0cyB3aWxsIHNob3cgdXAuCisKKyAgICAgICAgKiBkb20v
U2VsZWN0RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTZWxlY3RFbGVtZW50Ojp1cGRh
dGVMaXN0Qm94U2VsZWN0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OlNlbGVjdEVsZW1lbnQ6Omxp
c3RCb3hPbkNoYW5nZSk6CisgICAgICAgICogZG9tL1NlbGVjdEVsZW1lbnQuaDoKKyAgICAgICAg
KiBodG1sL0hUTUxTZWxlY3RFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxTZWxl
Y3RFbGVtZW50OjpsaXN0Qm94UG9wdXBDbGljayk6CisgICAgICAgICogaHRtbC9IVE1MU2VsZWN0
RWxlbWVudC5oOgorCiAyMDEwLTAzLTE3ICBBbnRvbmlvIEdvbWVzICA8dG9uaWtpdG9vQHdlYmtp
dC5vcmc+CiAKICAgICAgICAgTWFjIEJ1aWxkZml4OiBVc2luZyBBU1NFUlRfVU5VU0VEIGluc3Rl
YWQgb2YgQVNTRVJULgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vU2VsZWN0RWxlbWVudC5jcHAg
Yi9XZWJDb3JlL2RvbS9TZWxlY3RFbGVtZW50LmNwcAppbmRleCA0YTBlNGI2Li5lOTAwMjQ1IDEw
MDY0NAotLS0gYS9XZWJDb3JlL2RvbS9TZWxlY3RFbGVtZW50LmNwcAorKysgYi9XZWJDb3JlL2Rv
bS9TZWxlY3RFbGVtZW50LmNwcApAQCAtMTUwLDcgKzE1MCw3IEBAIHZvaWQgU2VsZWN0RWxlbWVu
dDo6c2V0QWN0aXZlU2VsZWN0aW9uRW5kSW5kZXgoU2VsZWN0RWxlbWVudERhdGEmIGRhdGEsIGlu
dCBpbmRlCiAKIHZvaWQgU2VsZWN0RWxlbWVudDo6dXBkYXRlTGlzdEJveFNlbGVjdGlvbihTZWxl
Y3RFbGVtZW50RGF0YSYgZGF0YSwgRWxlbWVudCogZWxlbWVudCwgYm9vbCBkZXNlbGVjdE90aGVy
T3B0aW9ucykKIHsKLSAgICBBU1NFUlQoZWxlbWVudC0+cmVuZGVyZXIoKSAmJiBlbGVtZW50LT5y
ZW5kZXJlcigpLT5pc0xpc3RCb3goKSk7CisgICAgQVNTRVJUKGVsZW1lbnQtPnJlbmRlcmVyKCkg
JiYgKGVsZW1lbnQtPnJlbmRlcmVyKCktPmlzTGlzdEJveCgpIHx8IGRhdGEubXVsdGlwbGUoKSkp
OwogICAgIEFTU0VSVChkYXRhLmFjdGl2ZVNlbGVjdGlvbkFuY2hvckluZGV4KCkgPj0gMCk7CiAK
ICAgICB1bnNpZ25lZCBzdGFydCA9IG1pbihkYXRhLmFjdGl2ZVNlbGVjdGlvbkFuY2hvckluZGV4
KCksIGRhdGEuYWN0aXZlU2VsZWN0aW9uRW5kSW5kZXgoKSk7CkBAIC0xNzYsNyArMTc2LDcgQEAg
dm9pZCBTZWxlY3RFbGVtZW50Ojp1cGRhdGVMaXN0Qm94U2VsZWN0aW9uKFNlbGVjdEVsZW1lbnRE
YXRhJiBkYXRhLCBFbGVtZW50KiBlbGUKIAogdm9pZCBTZWxlY3RFbGVtZW50OjpsaXN0Qm94T25D
aGFuZ2UoU2VsZWN0RWxlbWVudERhdGEmIGRhdGEsIEVsZW1lbnQqIGVsZW1lbnQpCiB7Ci0gICAg
QVNTRVJUKCFkYXRhLnVzZXNNZW51TGlzdCgpKTsKKyAgICBBU1NFUlQoIWRhdGEudXNlc01lbnVM
aXN0KCkgfHwgZGF0YS5tdWx0aXBsZSgpKTsKIAogICAgIFZlY3Rvcjxib29sPiYgbGFzdE9uQ2hh
bmdlU2VsZWN0aW9uID0gZGF0YS5sYXN0T25DaGFuZ2VTZWxlY3Rpb24oKTsgCiAgICAgY29uc3Qg
VmVjdG9yPEVsZW1lbnQqPiYgaXRlbXMgPSBkYXRhLmxpc3RJdGVtcyhlbGVtZW50KTsKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvZG9tL1NlbGVjdEVsZW1lbnQuaCBiL1dlYkNvcmUvZG9tL1NlbGVjdEVs
ZW1lbnQuaAppbmRleCA4YzE2MGY0Li5kMGQ4ZTkyIDEwMDY0NAotLS0gYS9XZWJDb3JlL2RvbS9T
ZWxlY3RFbGVtZW50LmgKKysrIGIvV2ViQ29yZS9kb20vU2VsZWN0RWxlbWVudC5oCkBAIC0xLDQg
KzEsNSBAQAogLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBOb2tpYSBDb3Jwb3JhdGlvbiBhbmQv
b3IgaXRzIHN1YnNpZGlhcnkoLWllcykuCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDkgVG9yY2ggTW9i
aWxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4gKGh0dHAvL3d3dy50b3JjaG1vYmlsZS5jb20v
KQogICoKICAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJp
YnV0ZSBpdCBhbmQvb3IKQEAgLTYwLDYgKzYxLDkgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9p
ZCBzZXRTZWxlY3RlZEluZGV4KGludCBpbmRleCwgYm9vbCBkZXNlbGVjdCA9IHRydWUpID0gMDsK
ICAgICB2aXJ0dWFsIHZvaWQgc2V0U2VsZWN0ZWRJbmRleEJ5VXNlcihpbnQgaW5kZXgsIGJvb2wg
ZGVzZWxlY3QgPSB0cnVlLCBib29sIGZpcmVPbkNoYW5nZU5vdyA9IGZhbHNlKSA9IDA7CiAKKyAg
ICB2aXJ0dWFsIHZvaWQgbGlzdEJveFBvcHVwQ2xpY2soaW50IGxpc3RJbmRleCwgYm9vbCBhbGxv
d011bHRpcGx5U2VsZWN0aW9ucywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvb2wgc2hp
ZnQsIGJvb2wgZmlyZU9uQ2hhbmdlTm93ID0gdHJ1ZSkgPSAwOworCiBwcm90ZWN0ZWQ6CiAgICAg
dmlydHVhbCB+U2VsZWN0RWxlbWVudCgpIHsgfQogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwv
SFRNTFNlbGVjdEVsZW1lbnQuY3BwIGIvV2ViQ29yZS9odG1sL0hUTUxTZWxlY3RFbGVtZW50LmNw
cAppbmRleCBmMTE3NTVmLi45OGNjYWI0IDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvSFRNTFNl
bGVjdEVsZW1lbnQuY3BwCisrKyBiL1dlYkNvcmUvaHRtbC9IVE1MU2VsZWN0RWxlbWVudC5jcHAK
QEAgLTEsNCArMSw1IEBACiAvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIE5va2lhIENvcnBvcmF0
aW9uIGFuZC9vciBpdHMgc3Vic2lkaWFyeSgtaWVzKS4KICAqIENvcHlyaWdodCAoQykgMTk5OSBM
YXJzIEtub2xsIChrbm9sbEBrZGUub3JnKQogICogICAgICAgICAgIChDKSAxOTk5IEFudHRpIEtv
aXZpc3RvIChrb2l2aXN0b0BrZGUub3JnKQogICogICAgICAgICAgIChDKSAyMDAxIERpcmsgTXVl
bGxlciAobXVlbGxlckBrZGUub3JnKQpAQCAtOTcsNiArOTgsMTggQEAgdm9pZCBIVE1MU2VsZWN0
RWxlbWVudDo6c2V0U2VsZWN0ZWRJbmRleEJ5VXNlcihpbnQgb3B0aW9uSW5kZXgsIGJvb2wgZGVz
ZWxlY3QsIGIKICAgICBTZWxlY3RFbGVtZW50OjpzZXRTZWxlY3RlZEluZGV4KG1fZGF0YSwgdGhp
cywgb3B0aW9uSW5kZXgsIGRlc2VsZWN0LCBmaXJlT25DaGFuZ2VOb3csIHRydWUpOwogfQogCit2
b2lkIEhUTUxTZWxlY3RFbGVtZW50OjpsaXN0Qm94UG9wdXBDbGljayhpbnQgbGlzdEluZGV4LCBi
b29sIGFsbG93TXVsdGlwbHlTZWxlY3Rpb25zLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgYm9vbCBzaGlmdCwgYm9vbCBmaXJlT25DaGFuZ2VOb3cpCit7CisgICAg
aWYgKCFtdWx0aXBsZSgpKQorICAgICAgICBzZXRTZWxlY3RlZEluZGV4QnlVc2VyKGxpc3RJbmRl
eCwgdHJ1ZSwgZmlyZU9uQ2hhbmdlTm93KTsKKyAgICBlbHNlIHsKKyAgICAgICAgdXBkYXRlU2Vs
ZWN0ZWRTdGF0ZShtX2RhdGEsIHRoaXMsIGxpc3RJbmRleCwgYWxsb3dNdWx0aXBseVNlbGVjdGlv
bnMsIHNoaWZ0KTsKKyAgICAgICAgaWYgKGZpcmVPbkNoYW5nZU5vdykKKyAgICAgICAgICAgIGxp
c3RCb3hPbkNoYW5nZSgpOworICAgIH0KK30KKwogaW50IEhUTUxTZWxlY3RFbGVtZW50OjphY3Rp
dmVTZWxlY3Rpb25TdGFydExpc3RJbmRleCgpIGNvbnN0CiB7CiAgICAgaWYgKG1fZGF0YS5hY3Rp
dmVTZWxlY3Rpb25BbmNob3JJbmRleCgpID49IDApCmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwv
SFRNTFNlbGVjdEVsZW1lbnQuaCBiL1dlYkNvcmUvaHRtbC9IVE1MU2VsZWN0RWxlbWVudC5oCmlu
ZGV4IDBhMjA1MGUuLmE1NjljOWEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9IVE1MU2VsZWN0
RWxlbWVudC5oCisrKyBiL1dlYkNvcmUvaHRtbC9IVE1MU2VsZWN0RWxlbWVudC5oCkBAIC0xLDQg
KzEsNSBAQAogLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBOb2tpYSBDb3Jwb3JhdGlvbiBhbmQv
b3IgaXRzIHN1YnNpZGlhcnkoLWllcykuCiAgKiBDb3B5cmlnaHQgKEMpIDE5OTkgTGFycyBLbm9s
bCAoa25vbGxAa2RlLm9yZykKICAqICAgICAgICAgICAoQykgMTk5OSBBbnR0aSBLb2l2aXN0byAo
a29pdmlzdG9Aa2RlLm9yZykKICAqICAgICAgICAgICAoQykgMjAwMCBEaXJrIE11ZWxsZXIgKG11
ZWxsZXJAa2RlLm9yZykKQEAgLTgwLDYgKzgxLDkgQEAgcHVibGljOgogCiAgICAgdm9pZCBzY3Jv
bGxUb1NlbGVjdGlvbigpOwogCisgICAgdm9pZCBsaXN0Qm94UG9wdXBDbGljayhpbnQgbGlzdElu
ZGV4LCBib29sIGFsbG93TXVsdGlwbHlTZWxlY3Rpb25zLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgYm9vbCBzaGlmdCwgYm9vbCBmaXJlT25DaGFuZ2VOb3cgPSB0cnVlKTsKKwogcHJpdmF0
ZToKICAgICB2aXJ0dWFsIGludCB0YWdQcmlvcml0eSgpIGNvbnN0IHsgcmV0dXJuIDY7IH0KICAg
ICB2aXJ0dWFsIGJvb2wgY2hlY2tEVEQoY29uc3QgTm9kZSogbmV3Q2hpbGQpOwotLSAKMS42LjMu
MwoK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>51030</attachid>
            <date>2010-03-18 09:18:06 -0700</date>
            <delta_ts>2010-03-18 09:30:36 -0700</delta_ts>
            <desc>patch 4</desc>
            <filename>0001-Multiselect-Popup-Listbox-click-simulation.patch</filename>
            <type>text/plain</type>
            <size>6558</size>
            <attacher name="Luiz Agostini">luiz</attacher>
            
              <data encoding="base64">RnJvbSBiNzY3NjgwOGI1YzJkMzg2MDU1NDE4OTE4OGZiYTQ5MDBlYmZiYjNlIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBMdWl6IEFnb3N0aW5pIDxsdWl6LmFnb3N0aW5pQG9wZW5ib3Nz
YS5vcmc+CkRhdGU6IFRodSwgMTggTWFyIDIwMTAgMTM6MTQ6NTUgLTAzMDAKU3ViamVjdDogW1BB
VENIXSBNdWx0aXNlbGVjdCBQb3B1cCAtIExpc3Rib3ggY2xpY2sgc2ltdWxhdGlvbgogaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM2MTc3CgpSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KCkxpc3Rib3ggcG9wdXBzIHdpbGwgbmVlZCB0byBub3RpZnkgdGhlIGNvcnJl
c3BvbmRpbmcgc2VsZWN0IGVsZW1lbnRzIHRoYXQgYQpzZWxlY3Rpb24gY2hhbmdlIGhhcHBlbmVk
LiBUaGUgY3VycmVudCBIVE1MU2VsZWN0RWxlbWVudCBpbnRlcmZhY2UgZG9lcyBub3QKYWxsb3cg
bXVsdGlwbGUgc2VsZWN0aW9ucy4KClRoZSBuZXcgbWV0aG9kIGxpc3RCb3hQb3B1cENsaWNrIHdp
bGwgYmUgdXNlZCBmb3IgdGhhdC4gSSBoYXZlIHJlZmFjdG9yZWQgcGFydApvZiB0aGUgbW91c2Ug
aGFuZGxpbmcgY29kZSBpbiBidWcgMzYxMjQgYW5kIEkgYW0gbm93IHJldXNpbmcgaXQgaGVyZSBm
b3IKPHNlbGVjdCBtdWx0aXBsZT4gcG9wdXBzLiBBbGwgdGhlIG90aGVyIGNhc2VzIHdpbGwgaGFu
ZGxlZCBhcyB0aGV5IHdlcmUgYmVmb3JlIHRvIGJlCnN1cmUgdGhhdCBubyBzaWRlIGVmZmVjdHMg
d2lsbCBzaG93IHVwLgoKKiBkb20vU2VsZWN0RWxlbWVudC5jcHA6CihXZWJDb3JlOjpTZWxlY3RF
bGVtZW50Ojp1cGRhdGVMaXN0Qm94U2VsZWN0aW9uKToKKFdlYkNvcmU6OlNlbGVjdEVsZW1lbnQ6
Omxpc3RCb3hPbkNoYW5nZSk6CiogZG9tL1NlbGVjdEVsZW1lbnQuaDoKKiBodG1sL0hUTUxTZWxl
Y3RFbGVtZW50LmNwcDoKKFdlYkNvcmU6OkhUTUxTZWxlY3RFbGVtZW50OjpsaXN0Qm94UG9wdXBD
bGljayk6CiogaHRtbC9IVE1MU2VsZWN0RWxlbWVudC5oOgotLS0KIFdlYkNvcmUvQ2hhbmdlTG9n
ICAgICAgICAgICAgICAgICAgfCAgIDI0ICsrKysrKysrKysrKysrKysrKysrKysrKwogV2ViQ29y
ZS9kb20vU2VsZWN0RWxlbWVudC5jcHAgICAgICB8ICAgIDQgKystLQogV2ViQ29yZS9kb20vU2Vs
ZWN0RWxlbWVudC5oICAgICAgICB8ICAgIDQgKysrKwogV2ViQ29yZS9odG1sL0hUTUxTZWxlY3RF
bGVtZW50LmNwcCB8ICAgMTMgKysrKysrKysrKysrKwogV2ViQ29yZS9odG1sL0hUTUxTZWxlY3RF
bGVtZW50LmggICB8ICAgIDQgKysrKwogNSBmaWxlcyBjaGFuZ2VkLCA0NyBpbnNlcnRpb25zKCsp
LCAyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29y
ZS9DaGFuZ2VMb2cKaW5kZXggMGM0Y2QwZi4uMjE4ZWM2OSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9D
aGFuZ2VMb2cKKysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNyBAQAorMjAxMC0w
My0xOCAgTHVpeiBBZ29zdGluaSAgPGx1aXouYWdvc3RpbmlAb3BlbmJvc3NhLm9yZz4KKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBNdWx0aXNlbGVjdCBQ
b3B1cCAtIExpc3Rib3ggY2xpY2sgc2ltdWxhdGlvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzYxNzcKKworICAgICAgICBMaXN0Ym94IHBvcHVwcyB3
aWxsIG5lZWQgdG8gbm90aWZ5IHRoZSBjb3JyZXNwb25kaW5nIHNlbGVjdCBlbGVtZW50cyB0aGF0
IGEKKyAgICAgICAgc2VsZWN0aW9uIGNoYW5nZSBoYXBwZW5lZC4gVGhlIGN1cnJlbnQgSFRNTFNl
bGVjdEVsZW1lbnQgaW50ZXJmYWNlIGRvZXMgbm90CisgICAgICAgIGFsbG93IG11bHRpcGxlIHNl
bGVjdGlvbnMuCisKKyAgICAgICAgVGhlIG5ldyBtZXRob2QgbGlzdEJveFBvcHVwQ2xpY2sgd2ls
bCBiZSB1c2VkIGZvciB0aGF0LiBJIGhhdmUgcmVmYWN0b3JlZCBwYXJ0CisgICAgICAgIG9mIHRo
ZSBtb3VzZSBoYW5kbGluZyBjb2RlIGluIGJ1ZyAzNjEyNCBhbmQgSSBhbSBub3cgcmV1c2luZyBp
dCBoZXJlIGZvcgorICAgICAgICA8c2VsZWN0IG11bHRpcGxlPiBwb3B1cHMuIEFsbCB0aGUgb3Ro
ZXIgY2FzZXMgd2lsbCBoYW5kbGVkIGFzIHRoZXkgd2VyZSBiZWZvcmUgdG8gYmUKKyAgICAgICAg
c3VyZSB0aGF0IG5vIHNpZGUgZWZmZWN0cyB3aWxsIHNob3cgdXAuCisKKyAgICAgICAgKiBkb20v
U2VsZWN0RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTZWxlY3RFbGVtZW50Ojp1cGRh
dGVMaXN0Qm94U2VsZWN0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OlNlbGVjdEVsZW1lbnQ6Omxp
c3RCb3hPbkNoYW5nZSk6CisgICAgICAgICogZG9tL1NlbGVjdEVsZW1lbnQuaDoKKyAgICAgICAg
KiBodG1sL0hUTUxTZWxlY3RFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxTZWxl
Y3RFbGVtZW50OjpsaXN0Qm94UG9wdXBDbGljayk6CisgICAgICAgICogaHRtbC9IVE1MU2VsZWN0
RWxlbWVudC5oOgorCiAyMDEwLTAzLTE3ICBBbnRvbmlvIEdvbWVzICA8dG9uaWtpdG9vQHdlYmtp
dC5vcmc+CiAKICAgICAgICAgTWFjIEJ1aWxkZml4OiBVc2luZyBBU1NFUlRfVU5VU0VEIGluc3Rl
YWQgb2YgQVNTRVJULgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vU2VsZWN0RWxlbWVudC5jcHAg
Yi9XZWJDb3JlL2RvbS9TZWxlY3RFbGVtZW50LmNwcAppbmRleCA0YTBlNGI2Li5lOTAwMjQ1IDEw
MDY0NAotLS0gYS9XZWJDb3JlL2RvbS9TZWxlY3RFbGVtZW50LmNwcAorKysgYi9XZWJDb3JlL2Rv
bS9TZWxlY3RFbGVtZW50LmNwcApAQCAtMTUwLDcgKzE1MCw3IEBAIHZvaWQgU2VsZWN0RWxlbWVu
dDo6c2V0QWN0aXZlU2VsZWN0aW9uRW5kSW5kZXgoU2VsZWN0RWxlbWVudERhdGEmIGRhdGEsIGlu
dCBpbmRlCiAKIHZvaWQgU2VsZWN0RWxlbWVudDo6dXBkYXRlTGlzdEJveFNlbGVjdGlvbihTZWxl
Y3RFbGVtZW50RGF0YSYgZGF0YSwgRWxlbWVudCogZWxlbWVudCwgYm9vbCBkZXNlbGVjdE90aGVy
T3B0aW9ucykKIHsKLSAgICBBU1NFUlQoZWxlbWVudC0+cmVuZGVyZXIoKSAmJiBlbGVtZW50LT5y
ZW5kZXJlcigpLT5pc0xpc3RCb3goKSk7CisgICAgQVNTRVJUKGVsZW1lbnQtPnJlbmRlcmVyKCkg
JiYgKGVsZW1lbnQtPnJlbmRlcmVyKCktPmlzTGlzdEJveCgpIHx8IGRhdGEubXVsdGlwbGUoKSkp
OwogICAgIEFTU0VSVChkYXRhLmFjdGl2ZVNlbGVjdGlvbkFuY2hvckluZGV4KCkgPj0gMCk7CiAK
ICAgICB1bnNpZ25lZCBzdGFydCA9IG1pbihkYXRhLmFjdGl2ZVNlbGVjdGlvbkFuY2hvckluZGV4
KCksIGRhdGEuYWN0aXZlU2VsZWN0aW9uRW5kSW5kZXgoKSk7CkBAIC0xNzYsNyArMTc2LDcgQEAg
dm9pZCBTZWxlY3RFbGVtZW50Ojp1cGRhdGVMaXN0Qm94U2VsZWN0aW9uKFNlbGVjdEVsZW1lbnRE
YXRhJiBkYXRhLCBFbGVtZW50KiBlbGUKIAogdm9pZCBTZWxlY3RFbGVtZW50OjpsaXN0Qm94T25D
aGFuZ2UoU2VsZWN0RWxlbWVudERhdGEmIGRhdGEsIEVsZW1lbnQqIGVsZW1lbnQpCiB7Ci0gICAg
QVNTRVJUKCFkYXRhLnVzZXNNZW51TGlzdCgpKTsKKyAgICBBU1NFUlQoIWRhdGEudXNlc01lbnVM
aXN0KCkgfHwgZGF0YS5tdWx0aXBsZSgpKTsKIAogICAgIFZlY3Rvcjxib29sPiYgbGFzdE9uQ2hh
bmdlU2VsZWN0aW9uID0gZGF0YS5sYXN0T25DaGFuZ2VTZWxlY3Rpb24oKTsgCiAgICAgY29uc3Qg
VmVjdG9yPEVsZW1lbnQqPiYgaXRlbXMgPSBkYXRhLmxpc3RJdGVtcyhlbGVtZW50KTsKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvZG9tL1NlbGVjdEVsZW1lbnQuaCBiL1dlYkNvcmUvZG9tL1NlbGVjdEVs
ZW1lbnQuaAppbmRleCA4YzE2MGY0Li40ZWUwM2UyIDEwMDY0NAotLS0gYS9XZWJDb3JlL2RvbS9T
ZWxlY3RFbGVtZW50LmgKKysrIGIvV2ViQ29yZS9kb20vU2VsZWN0RWxlbWVudC5oCkBAIC0xLDQg
KzEsNSBAQAogLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBOb2tpYSBDb3Jwb3JhdGlvbiBhbmQv
b3IgaXRzIHN1YnNpZGlhcnkoLWllcykuCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDkgVG9yY2ggTW9i
aWxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4gKGh0dHAvL3d3dy50b3JjaG1vYmlsZS5jb20v
KQogICoKICAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJp
YnV0ZSBpdCBhbmQvb3IKQEAgLTYwLDYgKzYxLDkgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9p
ZCBzZXRTZWxlY3RlZEluZGV4KGludCBpbmRleCwgYm9vbCBkZXNlbGVjdCA9IHRydWUpID0gMDsK
ICAgICB2aXJ0dWFsIHZvaWQgc2V0U2VsZWN0ZWRJbmRleEJ5VXNlcihpbnQgaW5kZXgsIGJvb2wg
ZGVzZWxlY3QgPSB0cnVlLCBib29sIGZpcmVPbkNoYW5nZU5vdyA9IGZhbHNlKSA9IDA7CiAKKyAg
ICB2aXJ0dWFsIHZvaWQgbGlzdEJveFNlbGVjdEl0ZW0oaW50IGxpc3RJbmRleCwgYm9vbCBhbGxv
d011bHRpcGx5U2VsZWN0aW9ucywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvb2wgc2hp
ZnQsIGJvb2wgZmlyZU9uQ2hhbmdlTm93ID0gdHJ1ZSkgPSAwOworCiBwcm90ZWN0ZWQ6CiAgICAg
dmlydHVhbCB+U2VsZWN0RWxlbWVudCgpIHsgfQogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwv
SFRNTFNlbGVjdEVsZW1lbnQuY3BwIGIvV2ViQ29yZS9odG1sL0hUTUxTZWxlY3RFbGVtZW50LmNw
cAppbmRleCBmMTE3NTVmLi43OTkyMzQ3IDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvSFRNTFNl
bGVjdEVsZW1lbnQuY3BwCisrKyBiL1dlYkNvcmUvaHRtbC9IVE1MU2VsZWN0RWxlbWVudC5jcHAK
QEAgLTEsNCArMSw1IEBACiAvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIE5va2lhIENvcnBvcmF0
aW9uIGFuZC9vciBpdHMgc3Vic2lkaWFyeSgtaWVzKS4KICAqIENvcHlyaWdodCAoQykgMTk5OSBM
YXJzIEtub2xsIChrbm9sbEBrZGUub3JnKQogICogICAgICAgICAgIChDKSAxOTk5IEFudHRpIEtv
aXZpc3RvIChrb2l2aXN0b0BrZGUub3JnKQogICogICAgICAgICAgIChDKSAyMDAxIERpcmsgTXVl
bGxlciAobXVlbGxlckBrZGUub3JnKQpAQCAtOTcsNiArOTgsMTggQEAgdm9pZCBIVE1MU2VsZWN0
RWxlbWVudDo6c2V0U2VsZWN0ZWRJbmRleEJ5VXNlcihpbnQgb3B0aW9uSW5kZXgsIGJvb2wgZGVz
ZWxlY3QsIGIKICAgICBTZWxlY3RFbGVtZW50OjpzZXRTZWxlY3RlZEluZGV4KG1fZGF0YSwgdGhp
cywgb3B0aW9uSW5kZXgsIGRlc2VsZWN0LCBmaXJlT25DaGFuZ2VOb3csIHRydWUpOwogfQogCit2
b2lkIEhUTUxTZWxlY3RFbGVtZW50OjpsaXN0Qm94U2VsZWN0SXRlbShpbnQgbGlzdEluZGV4LCBi
b29sIGFsbG93TXVsdGlwbHlTZWxlY3Rpb25zLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgYm9vbCBzaGlmdCwgYm9vbCBmaXJlT25DaGFuZ2VOb3cpCit7CisgICAg
aWYgKCFtdWx0aXBsZSgpKQorICAgICAgICBzZXRTZWxlY3RlZEluZGV4QnlVc2VyKGxpc3RJbmRl
eCwgdHJ1ZSwgZmlyZU9uQ2hhbmdlTm93KTsKKyAgICBlbHNlIHsKKyAgICAgICAgdXBkYXRlU2Vs
ZWN0ZWRTdGF0ZShtX2RhdGEsIHRoaXMsIGxpc3RJbmRleCwgYWxsb3dNdWx0aXBseVNlbGVjdGlv
bnMsIHNoaWZ0KTsKKyAgICAgICAgaWYgKGZpcmVPbkNoYW5nZU5vdykKKyAgICAgICAgICAgIGxp
c3RCb3hPbkNoYW5nZSgpOworICAgIH0KK30KKwogaW50IEhUTUxTZWxlY3RFbGVtZW50OjphY3Rp
dmVTZWxlY3Rpb25TdGFydExpc3RJbmRleCgpIGNvbnN0CiB7CiAgICAgaWYgKG1fZGF0YS5hY3Rp
dmVTZWxlY3Rpb25BbmNob3JJbmRleCgpID49IDApCmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwv
SFRNTFNlbGVjdEVsZW1lbnQuaCBiL1dlYkNvcmUvaHRtbC9IVE1MU2VsZWN0RWxlbWVudC5oCmlu
ZGV4IDBhMjA1MGUuLmNkYjBjNmQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9IVE1MU2VsZWN0
RWxlbWVudC5oCisrKyBiL1dlYkNvcmUvaHRtbC9IVE1MU2VsZWN0RWxlbWVudC5oCkBAIC0xLDQg
KzEsNSBAQAogLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBOb2tpYSBDb3Jwb3JhdGlvbiBhbmQv
b3IgaXRzIHN1YnNpZGlhcnkoLWllcykuCiAgKiBDb3B5cmlnaHQgKEMpIDE5OTkgTGFycyBLbm9s
bCAoa25vbGxAa2RlLm9yZykKICAqICAgICAgICAgICAoQykgMTk5OSBBbnR0aSBLb2l2aXN0byAo
a29pdmlzdG9Aa2RlLm9yZykKICAqICAgICAgICAgICAoQykgMjAwMCBEaXJrIE11ZWxsZXIgKG11
ZWxsZXJAa2RlLm9yZykKQEAgLTgwLDYgKzgxLDkgQEAgcHVibGljOgogCiAgICAgdm9pZCBzY3Jv
bGxUb1NlbGVjdGlvbigpOwogCisgICAgdm9pZCBsaXN0Qm94U2VsZWN0SXRlbShpbnQgbGlzdElu
ZGV4LCBib29sIGFsbG93TXVsdGlwbHlTZWxlY3Rpb25zLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgYm9vbCBzaGlmdCwgYm9vbCBmaXJlT25DaGFuZ2VOb3cgPSB0cnVlKTsKKwogcHJpdmF0
ZToKICAgICB2aXJ0dWFsIGludCB0YWdQcmlvcml0eSgpIGNvbnN0IHsgcmV0dXJuIDY7IH0KICAg
ICB2aXJ0dWFsIGJvb2wgY2hlY2tEVEQoY29uc3QgTm9kZSogbmV3Q2hpbGQpOwotLSAKMS42LjMu
MwoK
</data>
<flag name="review"
          id="34226"
          type_id="1"
          status="-"
          setter="kenneth"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>51034</attachid>
            <date>2010-03-18 09:30:36 -0700</date>
            <delta_ts>2010-03-18 10:49:35 -0700</delta_ts>
            <desc>patch 5</desc>
            <filename>0001-Multiselect-Popup-Listbox-click-simulation.patch</filename>
            <type>text/plain</type>
            <size>6560</size>
            <attacher name="Luiz Agostini">luiz</attacher>
            
              <data encoding="base64">RnJvbSAzYmNiOTliMDRlY2FjOTRjZDZkMDQzMTkwZDBiNTFkNDg2ODdhYzQ3IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBMdWl6IEFnb3N0aW5pIDxsdWl6LmFnb3N0aW5pQG9wZW5ib3Nz
YS5vcmc+CkRhdGU6IFRodSwgMTggTWFyIDIwMTAgMTM6Mjk6MTEgLTAzMDAKU3ViamVjdDogW1BB
VENIXSBNdWx0aXNlbGVjdCBQb3B1cCAtIExpc3Rib3ggY2xpY2sgc2ltdWxhdGlvbgogaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM2MTc3CgpSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KCkxpc3Rib3ggcG9wdXBzIHdpbGwgbmVlZCB0byBub3RpZnkgdGhlIGNvcnJl
c3BvbmRpbmcgc2VsZWN0IGVsZW1lbnRzIHRoYXQgYQpzZWxlY3Rpb24gY2hhbmdlIGhhcHBlbmVk
LiBUaGUgY3VycmVudCBIVE1MU2VsZWN0RWxlbWVudCBpbnRlcmZhY2UgZG9lcyBub3QKYWxsb3cg
bXVsdGlwbGUgc2VsZWN0aW9ucy4KClRoZSBuZXcgbWV0aG9kICBsaXN0Qm94U2VsZWN0SXRlbSB3
aWxsIGJlIHVzZWQgZm9yIHRoYXQuIEkgaGF2ZSByZWZhY3RvcmVkIHBhcnQKb2YgdGhlIG1vdXNl
IGhhbmRsaW5nIGNvZGUgaW4gYnVnIDM2MTI0IGFuZCBJIGFtIG5vdyByZXVzaW5nIGl0IGhlcmUg
Zm9yCjxzZWxlY3QgbXVsdGlwbGU+IHBvcHVwcy4gQWxsIHRoZSBvdGhlciBjYXNlcyB3aWxsIGhh
bmRsZWQgYXMgdGhleSB3ZXJlIGJlZm9yZSB0byBiZQpzdXJlIHRoYXQgbm8gc2lkZSBlZmZlY3Rz
IHdpbGwgc2hvdyB1cC4KCiogZG9tL1NlbGVjdEVsZW1lbnQuY3BwOgooV2ViQ29yZTo6U2VsZWN0
RWxlbWVudDo6dXBkYXRlTGlzdEJveFNlbGVjdGlvbik6CihXZWJDb3JlOjpTZWxlY3RFbGVtZW50
OjpsaXN0Qm94T25DaGFuZ2UpOgoqIGRvbS9TZWxlY3RFbGVtZW50Lmg6CiogaHRtbC9IVE1MU2Vs
ZWN0RWxlbWVudC5jcHA6CihXZWJDb3JlOjpIVE1MU2VsZWN0RWxlbWVudDo6bGlzdEJveFBvcHVw
Q2xpY2spOgoqIGh0bWwvSFRNTFNlbGVjdEVsZW1lbnQuaDoKLS0tCiBXZWJDb3JlL0NoYW5nZUxv
ZyAgICAgICAgICAgICAgICAgIHwgICAyNCArKysrKysrKysrKysrKysrKysrKysrKysKIFdlYkNv
cmUvZG9tL1NlbGVjdEVsZW1lbnQuY3BwICAgICAgfCAgICA0ICsrLS0KIFdlYkNvcmUvZG9tL1Nl
bGVjdEVsZW1lbnQuaCAgICAgICAgfCAgICA0ICsrKysKIFdlYkNvcmUvaHRtbC9IVE1MU2VsZWN0
RWxlbWVudC5jcHAgfCAgIDEzICsrKysrKysrKysrKysKIFdlYkNvcmUvaHRtbC9IVE1MU2VsZWN0
RWxlbWVudC5oICAgfCAgICA0ICsrKysKIDUgZmlsZXMgY2hhbmdlZCwgNDcgaW5zZXJ0aW9ucygr
KSwgMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9XZWJDb3JlL0NoYW5nZUxvZyBiL1dlYkNv
cmUvQ2hhbmdlTG9nCmluZGV4IDBjNGNkMGYuLmI0NmQ2Y2QgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
Q2hhbmdlTG9nCisrKyBiL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjcgQEAKKzIwMTAt
MDMtMTggIEx1aXogQWdvc3RpbmkgIDxsdWl6LmFnb3N0aW5pQG9wZW5ib3NzYS5vcmc+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTXVsdGlzZWxlY3Qg
UG9wdXAgLSBMaXN0Ym94IGNsaWNrIHNpbXVsYXRpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM2MTc3CisKKyAgICAgICAgTGlzdGJveCBwb3B1cHMg
d2lsbCBuZWVkIHRvIG5vdGlmeSB0aGUgY29ycmVzcG9uZGluZyBzZWxlY3QgZWxlbWVudHMgdGhh
dCBhCisgICAgICAgIHNlbGVjdGlvbiBjaGFuZ2UgaGFwcGVuZWQuIFRoZSBjdXJyZW50IEhUTUxT
ZWxlY3RFbGVtZW50IGludGVyZmFjZSBkb2VzIG5vdAorICAgICAgICBhbGxvdyBtdWx0aXBsZSBz
ZWxlY3Rpb25zLgorCisgICAgICAgIFRoZSBuZXcgbWV0aG9kICBsaXN0Qm94U2VsZWN0SXRlbSB3
aWxsIGJlIHVzZWQgZm9yIHRoYXQuIEkgaGF2ZSByZWZhY3RvcmVkIHBhcnQKKyAgICAgICAgb2Yg
dGhlIG1vdXNlIGhhbmRsaW5nIGNvZGUgaW4gYnVnIDM2MTI0IGFuZCBJIGFtIG5vdyByZXVzaW5n
IGl0IGhlcmUgZm9yCisgICAgICAgIDxzZWxlY3QgbXVsdGlwbGU+IHBvcHVwcy4gQWxsIHRoZSBv
dGhlciBjYXNlcyB3aWxsIGhhbmRsZWQgYXMgdGhleSB3ZXJlIGJlZm9yZSB0byBiZQorICAgICAg
ICBzdXJlIHRoYXQgbm8gc2lkZSBlZmZlY3RzIHdpbGwgc2hvdyB1cC4KKworICAgICAgICAqIGRv
bS9TZWxlY3RFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNlbGVjdEVsZW1lbnQ6OnVw
ZGF0ZUxpc3RCb3hTZWxlY3Rpb24pOgorICAgICAgICAoV2ViQ29yZTo6U2VsZWN0RWxlbWVudDo6
bGlzdEJveE9uQ2hhbmdlKToKKyAgICAgICAgKiBkb20vU2VsZWN0RWxlbWVudC5oOgorICAgICAg
ICAqIGh0bWwvSFRNTFNlbGVjdEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFNl
bGVjdEVsZW1lbnQ6Omxpc3RCb3hQb3B1cENsaWNrKToKKyAgICAgICAgKiBodG1sL0hUTUxTZWxl
Y3RFbGVtZW50Lmg6CisKIDIwMTAtMDMtMTcgIEFudG9uaW8gR29tZXMgIDx0b25pa2l0b29Ad2Vi
a2l0Lm9yZz4KIAogICAgICAgICBNYWMgQnVpbGRmaXg6IFVzaW5nIEFTU0VSVF9VTlVTRUQgaW5z
dGVhZCBvZiBBU1NFUlQuCmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9TZWxlY3RFbGVtZW50LmNw
cCBiL1dlYkNvcmUvZG9tL1NlbGVjdEVsZW1lbnQuY3BwCmluZGV4IDRhMGU0YjYuLmU5MDAyNDUg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL1NlbGVjdEVsZW1lbnQuY3BwCisrKyBiL1dlYkNvcmUv
ZG9tL1NlbGVjdEVsZW1lbnQuY3BwCkBAIC0xNTAsNyArMTUwLDcgQEAgdm9pZCBTZWxlY3RFbGVt
ZW50OjpzZXRBY3RpdmVTZWxlY3Rpb25FbmRJbmRleChTZWxlY3RFbGVtZW50RGF0YSYgZGF0YSwg
aW50IGluZGUKIAogdm9pZCBTZWxlY3RFbGVtZW50Ojp1cGRhdGVMaXN0Qm94U2VsZWN0aW9uKFNl
bGVjdEVsZW1lbnREYXRhJiBkYXRhLCBFbGVtZW50KiBlbGVtZW50LCBib29sIGRlc2VsZWN0T3Ro
ZXJPcHRpb25zKQogewotICAgIEFTU0VSVChlbGVtZW50LT5yZW5kZXJlcigpICYmIGVsZW1lbnQt
PnJlbmRlcmVyKCktPmlzTGlzdEJveCgpKTsKKyAgICBBU1NFUlQoZWxlbWVudC0+cmVuZGVyZXIo
KSAmJiAoZWxlbWVudC0+cmVuZGVyZXIoKS0+aXNMaXN0Qm94KCkgfHwgZGF0YS5tdWx0aXBsZSgp
KSk7CiAgICAgQVNTRVJUKGRhdGEuYWN0aXZlU2VsZWN0aW9uQW5jaG9ySW5kZXgoKSA+PSAwKTsK
IAogICAgIHVuc2lnbmVkIHN0YXJ0ID0gbWluKGRhdGEuYWN0aXZlU2VsZWN0aW9uQW5jaG9ySW5k
ZXgoKSwgZGF0YS5hY3RpdmVTZWxlY3Rpb25FbmRJbmRleCgpKTsKQEAgLTE3Niw3ICsxNzYsNyBA
QCB2b2lkIFNlbGVjdEVsZW1lbnQ6OnVwZGF0ZUxpc3RCb3hTZWxlY3Rpb24oU2VsZWN0RWxlbWVu
dERhdGEmIGRhdGEsIEVsZW1lbnQqIGVsZQogCiB2b2lkIFNlbGVjdEVsZW1lbnQ6Omxpc3RCb3hP
bkNoYW5nZShTZWxlY3RFbGVtZW50RGF0YSYgZGF0YSwgRWxlbWVudCogZWxlbWVudCkKIHsKLSAg
ICBBU1NFUlQoIWRhdGEudXNlc01lbnVMaXN0KCkpOworICAgIEFTU0VSVCghZGF0YS51c2VzTWVu
dUxpc3QoKSB8fCBkYXRhLm11bHRpcGxlKCkpOwogCiAgICAgVmVjdG9yPGJvb2w+JiBsYXN0T25D
aGFuZ2VTZWxlY3Rpb24gPSBkYXRhLmxhc3RPbkNoYW5nZVNlbGVjdGlvbigpOyAKICAgICBjb25z
dCBWZWN0b3I8RWxlbWVudCo+JiBpdGVtcyA9IGRhdGEubGlzdEl0ZW1zKGVsZW1lbnQpOwpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9kb20vU2VsZWN0RWxlbWVudC5oIGIvV2ViQ29yZS9kb20vU2VsZWN0
RWxlbWVudC5oCmluZGV4IDhjMTYwZjQuLjRlZTAzZTIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9t
L1NlbGVjdEVsZW1lbnQuaAorKysgYi9XZWJDb3JlL2RvbS9TZWxlY3RFbGVtZW50LmgKQEAgLTEs
NCArMSw1IEBACiAvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIE5va2lhIENvcnBvcmF0aW9uIGFu
ZC9vciBpdHMgc3Vic2lkaWFyeSgtaWVzKS4KICAqIENvcHlyaWdodCAoQykgMjAwOSBUb3JjaCBN
b2JpbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLiAoaHR0cC8vd3d3LnRvcmNobW9iaWxlLmNv
bS8pCiAgKgogICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0
cmlidXRlIGl0IGFuZC9vcgpAQCAtNjAsNiArNjEsOSBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2
b2lkIHNldFNlbGVjdGVkSW5kZXgoaW50IGluZGV4LCBib29sIGRlc2VsZWN0ID0gdHJ1ZSkgPSAw
OwogICAgIHZpcnR1YWwgdm9pZCBzZXRTZWxlY3RlZEluZGV4QnlVc2VyKGludCBpbmRleCwgYm9v
bCBkZXNlbGVjdCA9IHRydWUsIGJvb2wgZmlyZU9uQ2hhbmdlTm93ID0gZmFsc2UpID0gMDsKIAor
ICAgIHZpcnR1YWwgdm9pZCBsaXN0Qm94U2VsZWN0SXRlbShpbnQgbGlzdEluZGV4LCBib29sIGFs
bG93TXVsdGlwbHlTZWxlY3Rpb25zLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9vbCBz
aGlmdCwgYm9vbCBmaXJlT25DaGFuZ2VOb3cgPSB0cnVlKSA9IDA7CisKIHByb3RlY3RlZDoKICAg
ICB2aXJ0dWFsIH5TZWxlY3RFbGVtZW50KCkgeyB9CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRt
bC9IVE1MU2VsZWN0RWxlbWVudC5jcHAgYi9XZWJDb3JlL2h0bWwvSFRNTFNlbGVjdEVsZW1lbnQu
Y3BwCmluZGV4IGYxMTc1NWYuLjc5OTIzNDcgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9IVE1M
U2VsZWN0RWxlbWVudC5jcHAKKysrIGIvV2ViQ29yZS9odG1sL0hUTUxTZWxlY3RFbGVtZW50LmNw
cApAQCAtMSw0ICsxLDUgQEAKIC8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgTm9raWEgQ29ycG9y
YXRpb24gYW5kL29yIGl0cyBzdWJzaWRpYXJ5KC1pZXMpLgogICogQ29weXJpZ2h0IChDKSAxOTk5
IExhcnMgS25vbGwgKGtub2xsQGtkZS5vcmcpCiAgKiAgICAgICAgICAgKEMpIDE5OTkgQW50dGkg
S29pdmlzdG8gKGtvaXZpc3RvQGtkZS5vcmcpCiAgKiAgICAgICAgICAgKEMpIDIwMDEgRGlyayBN
dWVsbGVyIChtdWVsbGVyQGtkZS5vcmcpCkBAIC05Nyw2ICs5OCwxOCBAQCB2b2lkIEhUTUxTZWxl
Y3RFbGVtZW50OjpzZXRTZWxlY3RlZEluZGV4QnlVc2VyKGludCBvcHRpb25JbmRleCwgYm9vbCBk
ZXNlbGVjdCwgYgogICAgIFNlbGVjdEVsZW1lbnQ6OnNldFNlbGVjdGVkSW5kZXgobV9kYXRhLCB0
aGlzLCBvcHRpb25JbmRleCwgZGVzZWxlY3QsIGZpcmVPbkNoYW5nZU5vdywgdHJ1ZSk7CiB9CiAK
K3ZvaWQgSFRNTFNlbGVjdEVsZW1lbnQ6Omxpc3RCb3hTZWxlY3RJdGVtKGludCBsaXN0SW5kZXgs
IGJvb2wgYWxsb3dNdWx0aXBseVNlbGVjdGlvbnMsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBib29sIHNoaWZ0LCBib29sIGZpcmVPbkNoYW5nZU5vdykKK3sKKyAg
ICBpZiAoIW11bHRpcGxlKCkpCisgICAgICAgIHNldFNlbGVjdGVkSW5kZXhCeVVzZXIobGlzdElu
ZGV4LCB0cnVlLCBmaXJlT25DaGFuZ2VOb3cpOworICAgIGVsc2UgeworICAgICAgICB1cGRhdGVT
ZWxlY3RlZFN0YXRlKG1fZGF0YSwgdGhpcywgbGlzdEluZGV4LCBhbGxvd011bHRpcGx5U2VsZWN0
aW9ucywgc2hpZnQpOworICAgICAgICBpZiAoZmlyZU9uQ2hhbmdlTm93KQorICAgICAgICAgICAg
bGlzdEJveE9uQ2hhbmdlKCk7CisgICAgfQorfQorCiBpbnQgSFRNTFNlbGVjdEVsZW1lbnQ6OmFj
dGl2ZVNlbGVjdGlvblN0YXJ0TGlzdEluZGV4KCkgY29uc3QKIHsKICAgICBpZiAobV9kYXRhLmFj
dGl2ZVNlbGVjdGlvbkFuY2hvckluZGV4KCkgPj0gMCkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRt
bC9IVE1MU2VsZWN0RWxlbWVudC5oIGIvV2ViQ29yZS9odG1sL0hUTUxTZWxlY3RFbGVtZW50LmgK
aW5kZXggMGEyMDUwZS4uY2RiMGM2ZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL0hUTUxTZWxl
Y3RFbGVtZW50LmgKKysrIGIvV2ViQ29yZS9odG1sL0hUTUxTZWxlY3RFbGVtZW50LmgKQEAgLTEs
NCArMSw1IEBACiAvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIE5va2lhIENvcnBvcmF0aW9uIGFu
ZC9vciBpdHMgc3Vic2lkaWFyeSgtaWVzKS4KICAqIENvcHlyaWdodCAoQykgMTk5OSBMYXJzIEtu
b2xsIChrbm9sbEBrZGUub3JnKQogICogICAgICAgICAgIChDKSAxOTk5IEFudHRpIEtvaXZpc3Rv
IChrb2l2aXN0b0BrZGUub3JnKQogICogICAgICAgICAgIChDKSAyMDAwIERpcmsgTXVlbGxlciAo
bXVlbGxlckBrZGUub3JnKQpAQCAtODAsNiArODEsOSBAQCBwdWJsaWM6CiAKICAgICB2b2lkIHNj
cm9sbFRvU2VsZWN0aW9uKCk7CiAKKyAgICB2b2lkIGxpc3RCb3hTZWxlY3RJdGVtKGludCBsaXN0
SW5kZXgsIGJvb2wgYWxsb3dNdWx0aXBseVNlbGVjdGlvbnMsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICBib29sIHNoaWZ0LCBib29sIGZpcmVPbkNoYW5nZU5vdyA9IHRydWUpOworCiBwcml2
YXRlOgogICAgIHZpcnR1YWwgaW50IHRhZ1ByaW9yaXR5KCkgY29uc3QgeyByZXR1cm4gNjsgfQog
ICAgIHZpcnR1YWwgYm9vbCBjaGVja0RURChjb25zdCBOb2RlKiBuZXdDaGlsZCk7Ci0tIAoxLjYu
My4zCgo=
</data>
<flag name="review"
          id="34228"
          type_id="1"
          status="+"
          setter="kenneth"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>51048</attachid>
            <date>2010-03-18 10:49:35 -0700</date>
            <delta_ts>2010-03-18 12:32:09 -0700</delta_ts>
            <desc>patch 6</desc>
            <filename>0001-Multiselect-Popup-Listbox-click-simulation.patch</filename>
            <type>text/plain</type>
            <size>6458</size>
            <attacher name="Luiz Agostini">luiz</attacher>
            
              <data encoding="base64">RnJvbSA1NmFlNTIyNzdmYzU0NGM4OGExZmVjN2Q4MDBmNDI5NjUwZDliODJjIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBMdWl6IEFnb3N0aW5pIDxsdWl6LmFnb3N0aW5pQG9wZW5ib3Nz
YS5vcmc+CkRhdGU6IFRodSwgMTggTWFyIDIwMTAgMTQ6NDg6MTIgLTAzMDAKU3ViamVjdDogW1BB
VENIXSBNdWx0aXNlbGVjdCBQb3B1cCAtIExpc3Rib3ggY2xpY2sgc2ltdWxhdGlvbgogaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM2MTc3CgpSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KCkxpc3Rib3ggcG9wdXBzIHdpbGwgbmVlZCB0byBub3RpZnkgdGhlIGNvcnJl
c3BvbmRpbmcgc2VsZWN0IGVsZW1lbnRzIHRoYXQgYQpzZWxlY3Rpb24gY2hhbmdlIGhhcHBlbmVk
LiBUaGUgY3VycmVudCBIVE1MU2VsZWN0RWxlbWVudCBpbnRlcmZhY2UgZG9lcyBub3QKYWxsb3cg
bXVsdGlwbGUgc2VsZWN0aW9ucy4KClRoZSBuZXcgbWV0aG9kICBsaXN0Qm94U2VsZWN0SXRlbSB3
aWxsIGJlIHVzZWQgZm9yIHRoYXQuIEkgaGF2ZSByZWZhY3RvcmVkIHBhcnQKb2YgdGhlIG1vdXNl
IGhhbmRsaW5nIGNvZGUgaW4gYnVnIDM2MTI0IGFuZCBJIGFtIG5vdyByZXVzaW5nIGl0IGhlcmUg
Zm9yCjxzZWxlY3QgbXVsdGlwbGU+IHBvcHVwcy4gQWxsIHRoZSBvdGhlciBjYXNlcyB3aWxsIGhh
bmRsZWQgYXMgdGhleSB3ZXJlIGJlZm9yZSB0byBiZQpzdXJlIHRoYXQgbm8gc2lkZSBlZmZlY3Rz
IHdpbGwgc2hvdyB1cC4KCiogZG9tL1NlbGVjdEVsZW1lbnQuY3BwOgooV2ViQ29yZTo6U2VsZWN0
RWxlbWVudDo6dXBkYXRlTGlzdEJveFNlbGVjdGlvbik6CihXZWJDb3JlOjpTZWxlY3RFbGVtZW50
OjpsaXN0Qm94T25DaGFuZ2UpOgoqIGRvbS9TZWxlY3RFbGVtZW50Lmg6CiogaHRtbC9IVE1MU2Vs
ZWN0RWxlbWVudC5jcHA6CihXZWJDb3JlOjpIVE1MU2VsZWN0RWxlbWVudDo6bGlzdEJveFBvcHVw
Q2xpY2spOgoqIGh0bWwvSFRNTFNlbGVjdEVsZW1lbnQuaDoKLS0tCiBXZWJDb3JlL0NoYW5nZUxv
ZyAgICAgICAgICAgICAgICAgIHwgICAyNCArKysrKysrKysrKysrKysrKysrKysrKysKIFdlYkNv
cmUvZG9tL1NlbGVjdEVsZW1lbnQuY3BwICAgICAgfCAgICA0ICsrLS0KIFdlYkNvcmUvZG9tL1Nl
bGVjdEVsZW1lbnQuaCAgICAgICAgfCAgICAzICsrKwogV2ViQ29yZS9odG1sL0hUTUxTZWxlY3RF
bGVtZW50LmNwcCB8ICAgMTIgKysrKysrKysrKysrCiBXZWJDb3JlL2h0bWwvSFRNTFNlbGVjdEVs
ZW1lbnQuaCAgIHwgICAgMyArKysKIDUgZmlsZXMgY2hhbmdlZCwgNDQgaW5zZXJ0aW9ucygrKSwg
MiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9XZWJDb3JlL0NoYW5nZUxvZyBiL1dlYkNvcmUv
Q2hhbmdlTG9nCmluZGV4IDBjNGNkMGYuLmI0NmQ2Y2QgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvQ2hh
bmdlTG9nCisrKyBiL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjcgQEAKKzIwMTAtMDMt
MTggIEx1aXogQWdvc3RpbmkgIDxsdWl6LmFnb3N0aW5pQG9wZW5ib3NzYS5vcmc+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTXVsdGlzZWxlY3QgUG9w
dXAgLSBMaXN0Ym94IGNsaWNrIHNpbXVsYXRpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTM2MTc3CisKKyAgICAgICAgTGlzdGJveCBwb3B1cHMgd2ls
bCBuZWVkIHRvIG5vdGlmeSB0aGUgY29ycmVzcG9uZGluZyBzZWxlY3QgZWxlbWVudHMgdGhhdCBh
CisgICAgICAgIHNlbGVjdGlvbiBjaGFuZ2UgaGFwcGVuZWQuIFRoZSBjdXJyZW50IEhUTUxTZWxl
Y3RFbGVtZW50IGludGVyZmFjZSBkb2VzIG5vdAorICAgICAgICBhbGxvdyBtdWx0aXBsZSBzZWxl
Y3Rpb25zLgorCisgICAgICAgIFRoZSBuZXcgbWV0aG9kICBsaXN0Qm94U2VsZWN0SXRlbSB3aWxs
IGJlIHVzZWQgZm9yIHRoYXQuIEkgaGF2ZSByZWZhY3RvcmVkIHBhcnQKKyAgICAgICAgb2YgdGhl
IG1vdXNlIGhhbmRsaW5nIGNvZGUgaW4gYnVnIDM2MTI0IGFuZCBJIGFtIG5vdyByZXVzaW5nIGl0
IGhlcmUgZm9yCisgICAgICAgIDxzZWxlY3QgbXVsdGlwbGU+IHBvcHVwcy4gQWxsIHRoZSBvdGhl
ciBjYXNlcyB3aWxsIGhhbmRsZWQgYXMgdGhleSB3ZXJlIGJlZm9yZSB0byBiZQorICAgICAgICBz
dXJlIHRoYXQgbm8gc2lkZSBlZmZlY3RzIHdpbGwgc2hvdyB1cC4KKworICAgICAgICAqIGRvbS9T
ZWxlY3RFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNlbGVjdEVsZW1lbnQ6OnVwZGF0
ZUxpc3RCb3hTZWxlY3Rpb24pOgorICAgICAgICAoV2ViQ29yZTo6U2VsZWN0RWxlbWVudDo6bGlz
dEJveE9uQ2hhbmdlKToKKyAgICAgICAgKiBkb20vU2VsZWN0RWxlbWVudC5oOgorICAgICAgICAq
IGh0bWwvSFRNTFNlbGVjdEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFNlbGVj
dEVsZW1lbnQ6Omxpc3RCb3hQb3B1cENsaWNrKToKKyAgICAgICAgKiBodG1sL0hUTUxTZWxlY3RF
bGVtZW50Lmg6CisKIDIwMTAtMDMtMTcgIEFudG9uaW8gR29tZXMgIDx0b25pa2l0b29Ad2Via2l0
Lm9yZz4KIAogICAgICAgICBNYWMgQnVpbGRmaXg6IFVzaW5nIEFTU0VSVF9VTlVTRUQgaW5zdGVh
ZCBvZiBBU1NFUlQuCmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9TZWxlY3RFbGVtZW50LmNwcCBi
L1dlYkNvcmUvZG9tL1NlbGVjdEVsZW1lbnQuY3BwCmluZGV4IDRhMGU0YjYuLmU5MDAyNDUgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL1NlbGVjdEVsZW1lbnQuY3BwCisrKyBiL1dlYkNvcmUvZG9t
L1NlbGVjdEVsZW1lbnQuY3BwCkBAIC0xNTAsNyArMTUwLDcgQEAgdm9pZCBTZWxlY3RFbGVtZW50
OjpzZXRBY3RpdmVTZWxlY3Rpb25FbmRJbmRleChTZWxlY3RFbGVtZW50RGF0YSYgZGF0YSwgaW50
IGluZGUKIAogdm9pZCBTZWxlY3RFbGVtZW50Ojp1cGRhdGVMaXN0Qm94U2VsZWN0aW9uKFNlbGVj
dEVsZW1lbnREYXRhJiBkYXRhLCBFbGVtZW50KiBlbGVtZW50LCBib29sIGRlc2VsZWN0T3RoZXJP
cHRpb25zKQogewotICAgIEFTU0VSVChlbGVtZW50LT5yZW5kZXJlcigpICYmIGVsZW1lbnQtPnJl
bmRlcmVyKCktPmlzTGlzdEJveCgpKTsKKyAgICBBU1NFUlQoZWxlbWVudC0+cmVuZGVyZXIoKSAm
JiAoZWxlbWVudC0+cmVuZGVyZXIoKS0+aXNMaXN0Qm94KCkgfHwgZGF0YS5tdWx0aXBsZSgpKSk7
CiAgICAgQVNTRVJUKGRhdGEuYWN0aXZlU2VsZWN0aW9uQW5jaG9ySW5kZXgoKSA+PSAwKTsKIAog
ICAgIHVuc2lnbmVkIHN0YXJ0ID0gbWluKGRhdGEuYWN0aXZlU2VsZWN0aW9uQW5jaG9ySW5kZXgo
KSwgZGF0YS5hY3RpdmVTZWxlY3Rpb25FbmRJbmRleCgpKTsKQEAgLTE3Niw3ICsxNzYsNyBAQCB2
b2lkIFNlbGVjdEVsZW1lbnQ6OnVwZGF0ZUxpc3RCb3hTZWxlY3Rpb24oU2VsZWN0RWxlbWVudERh
dGEmIGRhdGEsIEVsZW1lbnQqIGVsZQogCiB2b2lkIFNlbGVjdEVsZW1lbnQ6Omxpc3RCb3hPbkNo
YW5nZShTZWxlY3RFbGVtZW50RGF0YSYgZGF0YSwgRWxlbWVudCogZWxlbWVudCkKIHsKLSAgICBB
U1NFUlQoIWRhdGEudXNlc01lbnVMaXN0KCkpOworICAgIEFTU0VSVCghZGF0YS51c2VzTWVudUxp
c3QoKSB8fCBkYXRhLm11bHRpcGxlKCkpOwogCiAgICAgVmVjdG9yPGJvb2w+JiBsYXN0T25DaGFu
Z2VTZWxlY3Rpb24gPSBkYXRhLmxhc3RPbkNoYW5nZVNlbGVjdGlvbigpOyAKICAgICBjb25zdCBW
ZWN0b3I8RWxlbWVudCo+JiBpdGVtcyA9IGRhdGEubGlzdEl0ZW1zKGVsZW1lbnQpOwpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9kb20vU2VsZWN0RWxlbWVudC5oIGIvV2ViQ29yZS9kb20vU2VsZWN0RWxl
bWVudC5oCmluZGV4IDhjMTYwZjQuLjIzMzczOTYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL1Nl
bGVjdEVsZW1lbnQuaAorKysgYi9XZWJDb3JlL2RvbS9TZWxlY3RFbGVtZW50LmgKQEAgLTEsNCAr
MSw1IEBACiAvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIE5va2lhIENvcnBvcmF0aW9uIGFuZC9v
ciBpdHMgc3Vic2lkaWFyeSgtaWVzKS4KICAqIENvcHlyaWdodCAoQykgMjAwOSBUb3JjaCBNb2Jp
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLiAoaHR0cC8vd3d3LnRvcmNobW9iaWxlLmNvbS8p
CiAgKgogICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmli
dXRlIGl0IGFuZC9vcgpAQCAtNjAsNiArNjEsOCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lk
IHNldFNlbGVjdGVkSW5kZXgoaW50IGluZGV4LCBib29sIGRlc2VsZWN0ID0gdHJ1ZSkgPSAwOwog
ICAgIHZpcnR1YWwgdm9pZCBzZXRTZWxlY3RlZEluZGV4QnlVc2VyKGludCBpbmRleCwgYm9vbCBk
ZXNlbGVjdCA9IHRydWUsIGJvb2wgZmlyZU9uQ2hhbmdlTm93ID0gZmFsc2UpID0gMDsKIAorICAg
IHZpcnR1YWwgdm9pZCBsaXN0Qm94U2VsZWN0SXRlbShpbnQgbGlzdEluZGV4LCBib29sIGFsbG93
TXVsdGlwbHlTZWxlY3Rpb25zLCBib29sIHNoaWZ0LCBib29sIGZpcmVPbkNoYW5nZU5vdyA9IHRy
dWUpID0gMDsKKwogcHJvdGVjdGVkOgogICAgIHZpcnR1YWwgflNlbGVjdEVsZW1lbnQoKSB7IH0K
IApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL0hUTUxTZWxlY3RFbGVtZW50LmNwcCBiL1dlYkNv
cmUvaHRtbC9IVE1MU2VsZWN0RWxlbWVudC5jcHAKaW5kZXggZjExNzU1Zi4uM2NjOTc1OSAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9odG1sL0hUTUxTZWxlY3RFbGVtZW50LmNwcAorKysgYi9XZWJDb3Jl
L2h0bWwvSFRNTFNlbGVjdEVsZW1lbnQuY3BwCkBAIC0xLDQgKzEsNSBAQAogLyoKKyAqIENvcHly
aWdodCAoQykgMjAxMCBOb2tpYSBDb3Jwb3JhdGlvbiBhbmQvb3IgaXRzIHN1YnNpZGlhcnkoLWll
cykuCiAgKiBDb3B5cmlnaHQgKEMpIDE5OTkgTGFycyBLbm9sbCAoa25vbGxAa2RlLm9yZykKICAq
ICAgICAgICAgICAoQykgMTk5OSBBbnR0aSBLb2l2aXN0byAoa29pdmlzdG9Aa2RlLm9yZykKICAq
ICAgICAgICAgICAoQykgMjAwMSBEaXJrIE11ZWxsZXIgKG11ZWxsZXJAa2RlLm9yZykKQEAgLTk3
LDYgKzk4LDE3IEBAIHZvaWQgSFRNTFNlbGVjdEVsZW1lbnQ6OnNldFNlbGVjdGVkSW5kZXhCeVVz
ZXIoaW50IG9wdGlvbkluZGV4LCBib29sIGRlc2VsZWN0LCBiCiAgICAgU2VsZWN0RWxlbWVudDo6
c2V0U2VsZWN0ZWRJbmRleChtX2RhdGEsIHRoaXMsIG9wdGlvbkluZGV4LCBkZXNlbGVjdCwgZmly
ZU9uQ2hhbmdlTm93LCB0cnVlKTsKIH0KIAordm9pZCBIVE1MU2VsZWN0RWxlbWVudDo6bGlzdEJv
eFNlbGVjdEl0ZW0oaW50IGxpc3RJbmRleCwgYm9vbCBhbGxvd011bHRpcGx5U2VsZWN0aW9ucywg
Ym9vbCBzaGlmdCwgYm9vbCBmaXJlT25DaGFuZ2VOb3cpCit7CisgICAgaWYgKCFtdWx0aXBsZSgp
KQorICAgICAgICBzZXRTZWxlY3RlZEluZGV4QnlVc2VyKGxpc3RJbmRleCwgdHJ1ZSwgZmlyZU9u
Q2hhbmdlTm93KTsKKyAgICBlbHNlIHsKKyAgICAgICAgdXBkYXRlU2VsZWN0ZWRTdGF0ZShtX2Rh
dGEsIHRoaXMsIGxpc3RJbmRleCwgYWxsb3dNdWx0aXBseVNlbGVjdGlvbnMsIHNoaWZ0KTsKKyAg
ICAgICAgaWYgKGZpcmVPbkNoYW5nZU5vdykKKyAgICAgICAgICAgIGxpc3RCb3hPbkNoYW5nZSgp
OworICAgIH0KK30KKwogaW50IEhUTUxTZWxlY3RFbGVtZW50OjphY3RpdmVTZWxlY3Rpb25TdGFy
dExpc3RJbmRleCgpIGNvbnN0CiB7CiAgICAgaWYgKG1fZGF0YS5hY3RpdmVTZWxlY3Rpb25BbmNo
b3JJbmRleCgpID49IDApCmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvSFRNTFNlbGVjdEVsZW1l
bnQuaCBiL1dlYkNvcmUvaHRtbC9IVE1MU2VsZWN0RWxlbWVudC5oCmluZGV4IDBhMjA1MGUuLjhh
MzFlZmMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9IVE1MU2VsZWN0RWxlbWVudC5oCisrKyBi
L1dlYkNvcmUvaHRtbC9IVE1MU2VsZWN0RWxlbWVudC5oCkBAIC0xLDQgKzEsNSBAQAogLyoKKyAq
IENvcHlyaWdodCAoQykgMjAxMCBOb2tpYSBDb3Jwb3JhdGlvbiBhbmQvb3IgaXRzIHN1YnNpZGlh
cnkoLWllcykuCiAgKiBDb3B5cmlnaHQgKEMpIDE5OTkgTGFycyBLbm9sbCAoa25vbGxAa2RlLm9y
ZykKICAqICAgICAgICAgICAoQykgMTk5OSBBbnR0aSBLb2l2aXN0byAoa29pdmlzdG9Aa2RlLm9y
ZykKICAqICAgICAgICAgICAoQykgMjAwMCBEaXJrIE11ZWxsZXIgKG11ZWxsZXJAa2RlLm9yZykK
QEAgLTgwLDYgKzgxLDggQEAgcHVibGljOgogCiAgICAgdm9pZCBzY3JvbGxUb1NlbGVjdGlvbigp
OwogCisgICAgdm9pZCBsaXN0Qm94U2VsZWN0SXRlbShpbnQgbGlzdEluZGV4LCBib29sIGFsbG93
TXVsdGlwbHlTZWxlY3Rpb25zLCBib29sIHNoaWZ0LCBib29sIGZpcmVPbkNoYW5nZU5vdyA9IHRy
dWUpOworCiBwcml2YXRlOgogICAgIHZpcnR1YWwgaW50IHRhZ1ByaW9yaXR5KCkgY29uc3QgeyBy
ZXR1cm4gNjsgfQogICAgIHZpcnR1YWwgYm9vbCBjaGVja0RURChjb25zdCBOb2RlKiBuZXdDaGls
ZCk7Ci0tIAoxLjYuMy4zCgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>