<?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>30023</bug_id>
          
          <creation_ts>2009-10-02 11:55:36 -0700</creation_ts>
          <short_desc>[Qt] Software input panel is not launched for password fields</short_desc>
          <delta_ts>2009-10-09 10:33:19 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit Qt</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>Qt</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Joseph Ligman">joseph.ligman</reporter>
          <assigned_to name="Joseph Ligman">joseph.ligman</assigned_to>
          <cc>hausmann</cc>
    
    <cc>koshuin</cc>
    
    <cc>kristian.amlie</cc>
    
    <cc>laszlo.gombos</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>151924</commentid>
    <comment_count>0</comment_count>
    <who name="Joseph Ligman">joseph.ligman</who>
    <bug_when>2009-10-02 11:55:36 -0700</bug_when>
    <thetext>SetInputMethodState is false for password input fields. See HTMLInputElement::shouldUseInputMethod() const: returns false for password.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>151930</commentid>
    <comment_count>1</comment_count>
      <attachid>40539</attachid>
    <who name="Joseph Ligman">joseph.ligman</who>
    <bug_when>2009-10-02 12:25:09 -0700</bug_when>
    <thetext>Created attachment 40539
[Qt] patch to make the software input panel work for password fields

The patch adds the check in void EditorClientQt::setInputMethodState(bool active). Adds a ImPasswordInput hint to QWebPage::inputMethodQuery, could something like this be supported?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>151971</commentid>
    <comment_count>2</comment_count>
      <attachid>40546</attachid>
    <who name="Joseph Ligman">joseph.ligman</who>
    <bug_when>2009-10-02 14:27:32 -0700</bug_when>
    <thetext>Created attachment 40546
[Qt] patch to make the software input panel work for password fields</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>151991</commentid>
    <comment_count>3</comment_count>
      <attachid>40551</attachid>
    <who name="Joseph Ligman">joseph.ligman</who>
    <bug_when>2009-10-02 15:16:37 -0700</bug_when>
    <thetext>Created attachment 40551
[Qt] patch to make the software input panel work for password fields

Added pointer checks for frame, document, and focusnode.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>152436</commentid>
    <comment_count>4</comment_count>
      <attachid>40551</attachid>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2009-10-05 13:41:56 -0700</bug_when>
    <thetext>Comment on attachment 40551
[Qt] patch to make the software input panel work for password fields


&gt; +        case Qt::ImPasswordInput: {
&gt; +            if (frame-&gt;selection()-&gt;isContentEditable()) {
&gt; +                if (frame-&gt;document() &amp;&amp; frame-&gt;document()-&gt;focusedNode()) {
&gt; +                    if (frame-&gt;document()-&gt;focusedNode()-&gt;hasTagName(HTMLNames::inputTag)) {
&gt; +                        HTMLInputElement* inputElement = static_cast&lt;HTMLInputElement*&gt;(frame-&gt;document()-&gt;focusedNode());
&gt; +                        return QVariant(inputElement-&gt;isPasswordField());
&gt; +                    }
&gt; +                }
&gt; +            }
&gt; +            return QVariant(false);

Given QVariant&apos;s implicit constructors it should be sufficient to simply &quot;return false;&quot; here :)

&gt; -    if (view)
&gt; +    if (view) {
&gt; +        if (!active) {
&gt; +            Frame* frame = m_page-&gt;d-&gt;page-&gt;focusController()-&gt;focusedOrMainFrame();
&gt; +            if (frame &amp;&amp; frame-&gt;document() &amp;&amp; frame-&gt;document()-&gt;focusedNode()) {
&gt; +                if (frame-&gt;document()-&gt;focusedNode()-&gt;hasTagName(HTMLNames::inputTag)) {
&gt; +                    HTMLInputElement* inputElement = static_cast&lt;HTMLInputElement*&gt;(frame-&gt;document()-&gt;focusedNode());
&gt; +                    if (inputElement-&gt;isPasswordField()) {
&gt; +                        view-&gt;setAttribute(Qt::WA_InputMethodEnabled, true);
&gt; +                        emit m_page-&gt;microFocusChanged();
&gt; +                        return;

Wouldn&apos;t it be simpler to just replace the last three lines there with

    active = true;

Also, please add a comment explaining why we are diverging from the default
behaviour here. (the fact that in Qt we let the input method determine this and that on the desktop
platforms the qt input method layer will not permit composition of these fields, for security)

Given the code duplication I&apos;m wondering if it would be worth to centralize the above duplicated
code to determine if the focused node is a password protected input field into a helper method?


Please also add a unit test for the behaviour of still enabling input methods when
password fields are focused and that only in that case we are also returning the ImPasswordInput
hint only for these fields.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>152451</commentid>
    <comment_count>5</comment_count>
    <who name="Joseph Ligman">joseph.ligman</who>
    <bug_when>2009-10-05 14:19:28 -0700</bug_when>
    <thetext>Thanks for the comments. 

Do you have any more ideas on the password hint (Qt::ImPasswordInput)? This is kind of a bummer because the inputcontext will now need to poll for a password input box on each micro focus change (at least that&apos;s how I envision this working). Ideally if I could change the inputcontext&apos;s state with a view attribute or something similar to Qt::WA_InputMethodEnabled or RequestSoftwareInputPasswordPanel?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>153194</commentid>
    <comment_count>6</comment_count>
      <attachid>40826</attachid>
    <who name="Joseph Ligman">joseph.ligman</who>
    <bug_when>2009-10-07 15:00:36 -0700</bug_when>
    <thetext>Created attachment 40826
[Qt] patch to set Qt::WA_InputMethodEnabled attribute for password fields in EditorClientQt::setInputMethodState</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>153313</commentid>
    <comment_count>7</comment_count>
      <attachid>40826</attachid>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2009-10-08 01:02:06 -0700</bug_when>
    <thetext>Comment on attachment 40826
[Qt] patch to set Qt::WA_InputMethodEnabled attribute for password fields in EditorClientQt::setInputMethodState 

Joe, the patch is almost correct, apart from two small points :-)


&gt; +            //Setting the Qt::WA_InputMethodEnabled attribute to true for password fields
&gt; +            //The Qt platform is responsible for determining which widget will receive 
&gt; +            //the input method events when the inputMethodHint (Qt::ImhHiddenText) is 
&gt; +            //set.

(Please put a space between the // and the comment text. It&apos;s not in the documented coding style, but it&apos;s
a defacto standard)

&gt; +            Frame* frame = m_page-&gt;d-&gt;page-&gt;focusController()-&gt;focusedOrMainFrame();
&gt; +            if (frame &amp;&amp; frame-&gt;document() &amp;&amp; frame-&gt;document()-&gt;focusedNode()) {
&gt; +                if (frame-&gt;document()-&gt;focusedNode()-&gt;hasTagName(HTMLNames::inputTag)) {
&gt; +                    HTMLInputElement* inputElement = static_cast&lt;HTMLInputElement*&gt;(frame-&gt;document()-&gt;focusedNode());
&gt; +                    active = inputElement-&gt;isPasswordField();
&gt; +                    if (active)
&gt; +                        view-&gt;setInputMethodHints(Qt::ImhHiddenText);

This code will set the ImhHiddenText input method hint, but it will override any other input method hints set on the view.
This function should _preserve_ the other hints set on the view and toggle only the ImhHiddenText, i.e. also _unset_ it
when the input element is _not_ a password field. If you extend your autotest to test focusing a regular input field
after the password field, then the ImhHiddenText hint should not be set anymore.

There&apos;s also one more issue that would be great to fix while we&apos;re at it :-)

Currently this function operates on the page&apos;s view as QWidget. We are trying to migrate away from
using the view(), as it does not work correctly with QGraphicsWebView. We should operate on the QGraphicsWebView
instead of the QGraphicsView that the item is associated with. In other words:

    1) We need two pure virtual methods in QWebPageClient:
        void setInputMethodEnabled(bool enabled);
        void setInputMethodHint(Qt::InputMethodHint hint, bool enable);

and then in QWebViewPrivate we need to map this to the qwidget:

    2)
        void QWebPagePrivate::setInputMethodEnabled(bool enabled)
        {
            view-&gt;setAttribute(Qt::WA_InputMethodEnabled, enabled);
        }
        void QWebPagePrivate::setInputMethodHint(Qt::InputMethodHint hint, bool enable)
        {
            if (enable)
                view-&gt;setInputMethodHints(view-&gt;inputMethodHints() | hint);
            else
                view-&gt;setInputMethodHints(view-&gt;inputMethodHints() &amp; ~hint);
        }

and the same for QGraphicsWebViewPrivate:

    3)

        void QGraphicsWebViewPrivate::setInputMethodEnabled(bool enabled)
        {
            q-&gt;setFlag(QGraphicsItem::ItemAcceptsInputMethod, enabled);
        }
        void QWebPagePrivate::setInputMethodHint(Qt::InputMethodHint hint, bool enable)
        {
            if (enable)
                q-&gt;setInputMethodHints(q-&gt;inputMethodHints() | hint);
            else
                q-&gt;setInputMethodHints(q-&gt;inputMethodHints() &amp; ~hint);
        }


That should make it work properly with QWebView and QWebGraphicsView.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>153529</commentid>
    <comment_count>8</comment_count>
      <attachid>40910</attachid>
    <who name="Joseph Ligman">joseph.ligman</who>
    <bug_when>2009-10-08 14:09:34 -0700</bug_when>
    <thetext>Created attachment 40910
[Qt] patch to set Qt::WA_InputMethodEnabled attribute for password fields in EditorClientQt::setInputMethodState</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>153680</commentid>
    <comment_count>9</comment_count>
      <attachid>40910</attachid>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2009-10-09 07:41:04 -0700</bug_when>
    <thetext>Comment on attachment 40910
[Qt] patch to set Qt::WA_InputMethodEnabled attribute for password fields in EditorClientQt::setInputMethodState 


&gt; +    QWebPageClient* webPageClient = m_page-&gt;d-&gt;client;
&gt; +    if (webPageClient) {
&gt; +#if QT_VERSION &gt;= 0x040600
&gt; +        Qt::InputMethodHints hints = Qt::ImhNone;
&gt; +        if (!active) {
&gt; +            // Setting the Qt::WA_InputMethodEnabled attribute true and Qt::ImhHiddenText flag
&gt; +            // for password fields. The Qt platform is responsible for determining which widget 
&gt; +            // will receive input method events for password fields.
&gt; +            Frame* frame = m_page-&gt;d-&gt;page-&gt;focusController()-&gt;focusedOrMainFrame();
&gt; +            if (frame &amp;&amp; frame-&gt;document() &amp;&amp; frame-&gt;document()-&gt;focusedNode()) {
&gt; +                if (frame-&gt;document()-&gt;focusedNode()-&gt;hasTagName(HTMLNames::inputTag)) {
&gt; +                    HTMLInputElement* inputElement = static_cast&lt;HTMLInputElement*&gt;(frame-&gt;document()-&gt;focusedNode());
&gt; +                    active = inputElement-&gt;isPasswordField();
&gt; +                    if (active)
&gt; +                        hints |= Qt::ImhHiddenText;
&gt; +              }
&gt; +            }
&gt; +        }
&gt; +        webPageClient-&gt;setInputMethodHint(Qt::ImhHiddenText, hints &amp; Qt::ImhHiddenText);

You could probably simplify this by replacing the local &quot;hints&quot; variable with just a boolean :-)

Feel free to make that small change before landing, or change it in a follow-up patch.

The rest of the patch looks good. Thanks Joe!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>153683</commentid>
    <comment_count>10</comment_count>
    <who name="Joseph Ligman">joseph.ligman</who>
    <bug_when>2009-10-09 07:52:53 -0700</bug_when>
    <thetext>(In reply to comment #9)
&gt; (From update of attachment 40910 [details])
...
&gt; You could probably simplify this by replacing the local &quot;hints&quot; variable with
&gt; just a boolean :-)
&gt; 
&gt; Feel free to make that small change before landing, or change it in a follow-up
&gt; patch.
&gt; 
&gt; The rest of the patch looks good. Thanks Joe!

Thanks for the review. Sorry, I know it looks wrong. I should have commented. My reasoning is that I want to add the rest of the hints (uppercase, numbers, mask etc.. for wap css) in setInputMethodState and thought it would be good to use variable instead of booleans.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>153713</commentid>
    <comment_count>11</comment_count>
      <attachid>40910</attachid>
    <who name="Laszlo Gombos">laszlo.gombos</who>
    <bug_when>2009-10-09 10:33:05 -0700</bug_when>
    <thetext>Comment on attachment 40910
[Qt] patch to set Qt::WA_InputMethodEnabled attribute for password fields in EditorClientQt::setInputMethodState 

Committed as http://trac.webkit.org/changeset/49397 with the additional changes suggested by Simon.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="0"
              isprivate="0"
          >
            <attachid>40539</attachid>
            <date>2009-10-02 12:25:09 -0700</date>
            <delta_ts>2009-10-02 14:30:12 -0700</delta_ts>
            <desc>[Qt] patch to make the software input panel work for password fields</desc>
            <filename>bug30023.patch</filename>
            <type>text/plain</type>
            <size>3010</size>
            <attacher name="Joseph Ligman">joseph.ligman</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdC9xdC9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L3F0L0NoYW5n
ZUxvZwkocmV2aXNpb24gNDkwMzIpCisrKyBXZWJLaXQvcXQvQ2hhbmdlTG9nCSh3b3JraW5nIGNv
cHkpCkBAIC0xLDMgKzEsMTcgQEAKKzIwMDktMTAtMDIgIEpvZSBMaWdtYW4gIDxqb3NlcGgubGln
bWFuQG5va2lhLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzAwMjMKKyAg
ICAgICAgTWFrZSBTb2Z0d2FyZSBJbnB1dCBQYW5lbCByZXF1ZXN0cyB3b3JrIGZvciBwYXNzd29y
ZCBmaWVsZHMgYnkgY2hlY2tpbmcKKyAgICAgICAgaWYgdGhlIGZvY3VzZWQgZWxlbWVudCBpcyBh
IHBhc3N3b3JkIGlucHV0IHdoZW4gc2V0SW5wdXRNZXRob2RTdGF0ZSdzIGFjdGl2YXRlIAorICAg
ICAgICBwYXJhbWV0ZXIgaXMgZmFsc2UuIEFsc28gYWRkcyBhIEltUGFzc3dvcmRJbnB1dCBoaW50
IHRvIFFXZWJQYWdlOjppbnB1dE1ldGhvZFF1ZXJ5LgorCisgICAgICAgICogQXBpL3F3ZWJwYWdl
LmNwcDoKKyAgICAgICAgKFFXZWJQYWdlOjppbnB1dE1ldGhvZFF1ZXJ5KToKKyAgICAgICAgKiBX
ZWJDb3JlU3VwcG9ydC9FZGl0b3JDbGllbnRRdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpFZGl0
b3JDbGllbnRRdDo6c2V0SW5wdXRNZXRob2RTdGF0ZSk6CisKIDIwMDktMTAtMDIgIE5vcmJlcnQg
TGVzZXIgIDxub3JiZXJ0Lmxlc2VyQG5va2lhLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBT
aW1vbiBIYXVzbWFubi4KSW5kZXg6IFdlYktpdC9xdC9BcGkvcXdlYnBhZ2UuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYktpdC9xdC9BcGkvcXdlYnBhZ2UuY3BwCShyZXZpc2lvbiA0OTAzMSkKKysrIFdl
YktpdC9xdC9BcGkvcXdlYnBhZ2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMzU0LDYgKzEzNTQs
MTUgQEAgUVZhcmlhbnQgUVdlYlBhZ2U6OmlucHV0TWV0aG9kUXVlcnkoUXQ6OgogICAgICAgICAg
ICAgfQogICAgICAgICAgICAgcmV0dXJuIFFWYXJpYW50KDApOwogICAgICAgICB9CisgICAgICAg
IGNhc2UgUXQ6OkltUGFzc3dvcmRJbnB1dDogeworICAgICAgICAgICAgaWYgKGZyYW1lLT5zZWxl
Y3Rpb24oKS0+aXNDb250ZW50RWRpdGFibGUoKSkgeworICAgICAgICAgICAgICAgIGlmIChmcmFt
ZS0+ZG9jdW1lbnQoKS0+Zm9jdXNlZE5vZGUoKS0+aGFzVGFnTmFtZShIVE1MTmFtZXM6OmlucHV0
VGFnKSkgeworICAgICAgICAgICAgICAgICAgICBIVE1MSW5wdXRFbGVtZW50KiBpbnB1dEVsZW1l
bnQgPSBzdGF0aWNfY2FzdDxIVE1MSW5wdXRFbGVtZW50Kj4oZnJhbWUtPmRvY3VtZW50KCktPmZv
Y3VzZWROb2RlKCkpOworICAgICAgICAgICAgICAgICAgICByZXR1cm4gUVZhcmlhbnQoaW5wdXRF
bGVtZW50LT5pc1Bhc3N3b3JkRmllbGQoKSk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAg
ICAgfQorICAgICAgICAgICAgcmV0dXJuIFFWYXJpYW50KGZhbHNlKTsKKyAgICAgICAgfQogI2Vu
ZGlmCiAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgICByZXR1cm4gUVZhcmlhbnQoKTsKSW5k
ZXg6IFdlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9FZGl0b3JDbGllbnRRdC5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0VkaXRvckNsaWVudFF0LmNwcAkocmV2aXNp
b24gNDkwMzEpCisrKyBXZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRWRpdG9yQ2xpZW50UXQuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC00MSw2ICs0MSw3IEBACiAjaW5jbHVkZSAiRm9jdXNDb250cm9s
bGVyLmgiCiAjaW5jbHVkZSAiRnJhbWUuaCIKICNpbmNsdWRlICJIVE1MRWxlbWVudC5oIgorI2lu
Y2x1ZGUgIkhUTUxJbnB1dEVsZW1lbnQuaCIKICNpbmNsdWRlICJIVE1MTmFtZXMuaCIKICNpbmNs
dWRlICJLZXlib2FyZENvZGVzLmgiCiAjaW5jbHVkZSAiS2V5Ym9hcmRFdmVudC5oIgpAQCAtNTk3
LDkgKzU5OCwxOCBAQCBib29sIEVkaXRvckNsaWVudFF0Ojppc0VkaXRpbmcoKSBjb25zdAogdm9p
ZCBFZGl0b3JDbGllbnRRdDo6c2V0SW5wdXRNZXRob2RTdGF0ZShib29sIGFjdGl2ZSkKIHsKICAg
ICBRV2lkZ2V0ICp2aWV3ID0gbV9wYWdlLT52aWV3KCk7Ci0gICAgaWYgKHZpZXcpCi0gICAgICAg
IHZpZXctPnNldEF0dHJpYnV0ZShRdDo6V0FfSW5wdXRNZXRob2RFbmFibGVkLCBhY3RpdmUpOwot
CisgICAgaWYgKHZpZXcpIHsKKyAgICAgICAgaWYgKGFjdGl2ZSkKKyAgICAgICAgICAgIHZpZXct
PnNldEF0dHJpYnV0ZShRdDo6V0FfSW5wdXRNZXRob2RFbmFibGVkLCBhY3RpdmUpOworICAgICAg
ICBlbHNlIHsKKyAgICAgICAgICAgIEZyYW1lKiBmcmFtZSA9IG1fcGFnZS0+ZC0+cGFnZS0+Zm9j
dXNDb250cm9sbGVyKCktPmZvY3VzZWRPck1haW5GcmFtZSgpOworICAgICAgICAgICAgaWYgKGZy
YW1lLT5kb2N1bWVudCgpLT5mb2N1c2VkTm9kZSgpLT5oYXNUYWdOYW1lKEhUTUxOYW1lczo6aW5w
dXRUYWcpKSB7CisgICAgICAgICAgICAgICAgSFRNTElucHV0RWxlbWVudCogaW5wdXRFbGVtZW50
ID0gc3RhdGljX2Nhc3Q8SFRNTElucHV0RWxlbWVudCo+KGZyYW1lLT5kb2N1bWVudCgpLT5mb2N1
c2VkTm9kZSgpKTsKKyAgICAgICAgICAgICAgICBpZiAoaW5wdXRFbGVtZW50LT5pc1Bhc3N3b3Jk
RmllbGQoKSkKKyAgICAgICAgICAgICAgICAgICAgdmlldy0+c2V0QXR0cmlidXRlKFF0OjpXQV9J
bnB1dE1ldGhvZEVuYWJsZWQsIHRydWUpOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAg
fQogICAgIGVtaXQgbV9wYWdlLT5taWNyb0ZvY3VzQ2hhbmdlZCgpOwogfQogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>40546</attachid>
            <date>2009-10-02 14:27:32 -0700</date>
            <delta_ts>2009-10-02 15:16:37 -0700</delta_ts>
            <desc>[Qt] patch to make the software input panel work for password fields</desc>
            <filename>bug30023a.patch</filename>
            <type>text/plain</type>
            <size>3034</size>
            <attacher name="Joseph Ligman">joseph.ligman</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdC9xdC9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L3F0L0NoYW5n
ZUxvZwkocmV2aXNpb24gNDkwNDApCisrKyBXZWJLaXQvcXQvQ2hhbmdlTG9nCSh3b3JraW5nIGNv
cHkpCkBAIC0xLDMgKzEsMTcgQEAKKzIwMDktMTAtMDIgIEpvZSBMaWdtYW4gIDxqb3NlcGgubGln
bWFuQG5va2lhLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzAwMjMKKyAg
ICAgICAgTWFrZSBTb2Z0d2FyZSBJbnB1dCBQYW5lbCByZXF1ZXN0cyB3b3JrIGZvciBwYXNzd29y
ZCBmaWVsZHMgYnkgY2hlY2tpbmcKKyAgICAgICAgaWYgdGhlIGZvY3VzZWQgZWxlbWVudCBpcyBh
IHBhc3N3b3JkIGlucHV0IHdoZW4gc2V0SW5wdXRNZXRob2RTdGF0ZSdzIGFjdGl2YXRlIAorICAg
ICAgICBwYXJhbWV0ZXIgaXMgZmFsc2UuIEFsc28gYWRkcyBhIEltUGFzc3dvcmRJbnB1dCBoaW50
IHRvIFFXZWJQYWdlOjppbnB1dE1ldGhvZFF1ZXJ5LgorCisgICAgICAgICogQXBpL3F3ZWJwYWdl
LmNwcDoKKyAgICAgICAgKFFXZWJQYWdlOjppbnB1dE1ldGhvZFF1ZXJ5KToKKyAgICAgICAgKiBX
ZWJDb3JlU3VwcG9ydC9FZGl0b3JDbGllbnRRdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpFZGl0
b3JDbGllbnRRdDo6c2V0SW5wdXRNZXRob2RTdGF0ZSk6CisKIDIwMDktMTAtMDIgIE5vcmJlcnQg
TGVzZXIgIDxub3JiZXJ0Lmxlc2VyQG5va2lhLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBT
aW1vbiBIYXVzbWFubi4KSW5kZXg6IFdlYktpdC9xdC9BcGkvcXdlYnBhZ2UuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYktpdC9xdC9BcGkvcXdlYnBhZ2UuY3BwCShyZXZpc2lvbiA0OTAzMSkKKysrIFdl
YktpdC9xdC9BcGkvcXdlYnBhZ2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMzU0LDYgKzEzNTQs
MTUgQEAgUVZhcmlhbnQgUVdlYlBhZ2U6OmlucHV0TWV0aG9kUXVlcnkoUXQ6OgogICAgICAgICAg
ICAgfQogICAgICAgICAgICAgcmV0dXJuIFFWYXJpYW50KDApOwogICAgICAgICB9CisgICAgICAg
IGNhc2UgUXQ6OkltUGFzc3dvcmRJbnB1dDogeworICAgICAgICAgICAgaWYgKGZyYW1lLT5zZWxl
Y3Rpb24oKS0+aXNDb250ZW50RWRpdGFibGUoKSkgeworICAgICAgICAgICAgICAgIGlmIChmcmFt
ZS0+ZG9jdW1lbnQoKS0+Zm9jdXNlZE5vZGUoKS0+aGFzVGFnTmFtZShIVE1MTmFtZXM6OmlucHV0
VGFnKSkgeworICAgICAgICAgICAgICAgICAgICBIVE1MSW5wdXRFbGVtZW50KiBpbnB1dEVsZW1l
bnQgPSBzdGF0aWNfY2FzdDxIVE1MSW5wdXRFbGVtZW50Kj4oZnJhbWUtPmRvY3VtZW50KCktPmZv
Y3VzZWROb2RlKCkpOworICAgICAgICAgICAgICAgICAgICByZXR1cm4gUVZhcmlhbnQoaW5wdXRF
bGVtZW50LT5pc1Bhc3N3b3JkRmllbGQoKSk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAg
ICAgfQorICAgICAgICAgICAgcmV0dXJuIFFWYXJpYW50KGZhbHNlKTsKKyAgICAgICAgfQogI2Vu
ZGlmCiAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgICByZXR1cm4gUVZhcmlhbnQoKTsKSW5k
ZXg6IFdlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9FZGl0b3JDbGllbnRRdC5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0VkaXRvckNsaWVudFF0LmNwcAkocmV2aXNp
b24gNDkwMzEpCisrKyBXZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRWRpdG9yQ2xpZW50UXQuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC00MSw2ICs0MSw3IEBACiAjaW5jbHVkZSAiRm9jdXNDb250cm9s
bGVyLmgiCiAjaW5jbHVkZSAiRnJhbWUuaCIKICNpbmNsdWRlICJIVE1MRWxlbWVudC5oIgorI2lu
Y2x1ZGUgIkhUTUxJbnB1dEVsZW1lbnQuaCIKICNpbmNsdWRlICJIVE1MTmFtZXMuaCIKICNpbmNs
dWRlICJLZXlib2FyZENvZGVzLmgiCiAjaW5jbHVkZSAiS2V5Ym9hcmRFdmVudC5oIgpAQCAtNTk3
LDkgKzU5OCwyMCBAQCBib29sIEVkaXRvckNsaWVudFF0Ojppc0VkaXRpbmcoKSBjb25zdAogdm9p
ZCBFZGl0b3JDbGllbnRRdDo6c2V0SW5wdXRNZXRob2RTdGF0ZShib29sIGFjdGl2ZSkKIHsKICAg
ICBRV2lkZ2V0ICp2aWV3ID0gbV9wYWdlLT52aWV3KCk7Ci0gICAgaWYgKHZpZXcpCisgICAgaWYg
KHZpZXcpIHsKKyAgICAgICAgaWYgKCFhY3RpdmUpIHsKKyAgICAgICAgICAgIEZyYW1lKiBmcmFt
ZSA9IG1fcGFnZS0+ZC0+cGFnZS0+Zm9jdXNDb250cm9sbGVyKCktPmZvY3VzZWRPck1haW5GcmFt
ZSgpOworICAgICAgICAgICAgaWYgKGZyYW1lLT5kb2N1bWVudCgpLT5mb2N1c2VkTm9kZSgpLT5o
YXNUYWdOYW1lKEhUTUxOYW1lczo6aW5wdXRUYWcpKSB7CisgICAgICAgICAgICAgICAgSFRNTElu
cHV0RWxlbWVudCogaW5wdXRFbGVtZW50ID0gc3RhdGljX2Nhc3Q8SFRNTElucHV0RWxlbWVudCo+
KGZyYW1lLT5kb2N1bWVudCgpLT5mb2N1c2VkTm9kZSgpKTsKKyAgICAgICAgICAgICAgICBpZiAo
aW5wdXRFbGVtZW50LT5pc1Bhc3N3b3JkRmllbGQoKSkgeworICAgICAgICAgICAgICAgICAgICB2
aWV3LT5zZXRBdHRyaWJ1dGUoUXQ6OldBX0lucHV0TWV0aG9kRW5hYmxlZCwgdHJ1ZSk7CisgICAg
ICAgICAgICAgICAgICAgIGVtaXQgbV9wYWdlLT5taWNyb0ZvY3VzQ2hhbmdlZCgpOworICAgICAg
ICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQor
ICAgICAgICB9CiAgICAgICAgIHZpZXctPnNldEF0dHJpYnV0ZShRdDo6V0FfSW5wdXRNZXRob2RF
bmFibGVkLCBhY3RpdmUpOwotCisgICAgfQogICAgIGVtaXQgbV9wYWdlLT5taWNyb0ZvY3VzQ2hh
bmdlZCgpOwogfQogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>40551</attachid>
            <date>2009-10-02 15:16:37 -0700</date>
            <delta_ts>2009-10-07 15:00:36 -0700</delta_ts>
            <desc>[Qt] patch to make the software input panel work for password fields</desc>
            <filename>bug30023b.patch</filename>
            <type>text/plain</type>
            <size>3277</size>
            <attacher name="Joseph Ligman">joseph.ligman</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdC9xdC9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L3F0L0NoYW5n
ZUxvZwkocmV2aXNpb24gNDkwNDYpCisrKyBXZWJLaXQvcXQvQ2hhbmdlTG9nCSh3b3JraW5nIGNv
cHkpCkBAIC0xLDMgKzEsMTcgQEAKKzIwMDktMTAtMDIgIEpvZSBMaWdtYW4gIDxqb3NlcGgubGln
bWFuQG5va2lhLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzAwMjMKKyAg
ICAgICAgTWFrZSBTb2Z0d2FyZSBJbnB1dCBQYW5lbCByZXF1ZXN0cyB3b3JrIGZvciBwYXNzd29y
ZCBmaWVsZHMgYnkgY2hlY2tpbmcKKyAgICAgICAgaWYgdGhlIGZvY3VzZWQgZWxlbWVudCBpcyBh
IHBhc3N3b3JkIGlucHV0IHdoZW4gc2V0SW5wdXRNZXRob2RTdGF0ZSdzIGFjdGl2YXRlIAorICAg
ICAgICBwYXJhbWV0ZXIgaXMgZmFsc2UuIEFsc28gYWRkcyBhIEltUGFzc3dvcmRJbnB1dCBoaW50
IHRvIFFXZWJQYWdlOjppbnB1dE1ldGhvZFF1ZXJ5LgorCisgICAgICAgICogQXBpL3F3ZWJwYWdl
LmNwcDoKKyAgICAgICAgKFFXZWJQYWdlOjppbnB1dE1ldGhvZFF1ZXJ5KToKKyAgICAgICAgKiBX
ZWJDb3JlU3VwcG9ydC9FZGl0b3JDbGllbnRRdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpFZGl0
b3JDbGllbnRRdDo6c2V0SW5wdXRNZXRob2RTdGF0ZSk6CisKIDIwMDktMTAtMDIgIE5vcmJlcnQg
TGVzZXIgIDxub3JiZXJ0Lmxlc2VyQG5va2lhLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBT
aW1vbiBIYXVzbWFubi4KSW5kZXg6IFdlYktpdC9xdC9BcGkvcXdlYnBhZ2UuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYktpdC9xdC9BcGkvcXdlYnBhZ2UuY3BwCShyZXZpc2lvbiA0OTA0MCkKKysrIFdl
YktpdC9xdC9BcGkvcXdlYnBhZ2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMzU0LDYgKzEzNTQs
MTcgQEAgUVZhcmlhbnQgUVdlYlBhZ2U6OmlucHV0TWV0aG9kUXVlcnkoUXQ6OgogICAgICAgICAg
ICAgfQogICAgICAgICAgICAgcmV0dXJuIFFWYXJpYW50KDApOwogICAgICAgICB9CisgICAgICAg
IGNhc2UgUXQ6OkltUGFzc3dvcmRJbnB1dDogeworICAgICAgICAgICAgaWYgKGZyYW1lLT5zZWxl
Y3Rpb24oKS0+aXNDb250ZW50RWRpdGFibGUoKSkgeworICAgICAgICAgICAgICAgIGlmIChmcmFt
ZS0+ZG9jdW1lbnQoKSAmJiBmcmFtZS0+ZG9jdW1lbnQoKS0+Zm9jdXNlZE5vZGUoKSkgeworICAg
ICAgICAgICAgICAgICAgICBpZiAoZnJhbWUtPmRvY3VtZW50KCktPmZvY3VzZWROb2RlKCktPmhh
c1RhZ05hbWUoSFRNTE5hbWVzOjppbnB1dFRhZykpIHsKKyAgICAgICAgICAgICAgICAgICAgICAg
IEhUTUxJbnB1dEVsZW1lbnQqIGlucHV0RWxlbWVudCA9IHN0YXRpY19jYXN0PEhUTUxJbnB1dEVs
ZW1lbnQqPihmcmFtZS0+ZG9jdW1lbnQoKS0+Zm9jdXNlZE5vZGUoKSk7CisgICAgICAgICAgICAg
ICAgICAgICAgICByZXR1cm4gUVZhcmlhbnQoaW5wdXRFbGVtZW50LT5pc1Bhc3N3b3JkRmllbGQo
KSk7CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAg
ICB9CisgICAgICAgICAgICByZXR1cm4gUVZhcmlhbnQoZmFsc2UpOworICAgICAgICB9CiAjZW5k
aWYKICAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgIHJldHVybiBRVmFyaWFudCgpOwpJbmRl
eDogV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0VkaXRvckNsaWVudFF0LmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRWRpdG9yQ2xpZW50UXQuY3BwCShyZXZpc2lv
biA0OTA0MCkKKysrIFdlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9FZGl0b3JDbGllbnRRdC5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTQxLDYgKzQxLDcgQEAKICNpbmNsdWRlICJGb2N1c0NvbnRyb2xs
ZXIuaCIKICNpbmNsdWRlICJGcmFtZS5oIgogI2luY2x1ZGUgIkhUTUxFbGVtZW50LmgiCisjaW5j
bHVkZSAiSFRNTElucHV0RWxlbWVudC5oIgogI2luY2x1ZGUgIkhUTUxOYW1lcy5oIgogI2luY2x1
ZGUgIktleWJvYXJkQ29kZXMuaCIKICNpbmNsdWRlICJLZXlib2FyZEV2ZW50LmgiCkBAIC01OTcs
OSArNTk4LDIyIEBAIGJvb2wgRWRpdG9yQ2xpZW50UXQ6OmlzRWRpdGluZygpIGNvbnN0CiB2b2lk
IEVkaXRvckNsaWVudFF0OjpzZXRJbnB1dE1ldGhvZFN0YXRlKGJvb2wgYWN0aXZlKQogewogICAg
IFFXaWRnZXQgKnZpZXcgPSBtX3BhZ2UtPnZpZXcoKTsKLSAgICBpZiAodmlldykKKyAgICBpZiAo
dmlldykgeworICAgICAgICBpZiAoIWFjdGl2ZSkgeworICAgICAgICAgICAgRnJhbWUqIGZyYW1l
ID0gbV9wYWdlLT5kLT5wYWdlLT5mb2N1c0NvbnRyb2xsZXIoKS0+Zm9jdXNlZE9yTWFpbkZyYW1l
KCk7CisgICAgICAgICAgICBpZiAoZnJhbWUgJiYgZnJhbWUtPmRvY3VtZW50KCkgJiYgZnJhbWUt
PmRvY3VtZW50KCktPmZvY3VzZWROb2RlKCkpIHsKKyAgICAgICAgICAgICAgICBpZiAoZnJhbWUt
PmRvY3VtZW50KCktPmZvY3VzZWROb2RlKCktPmhhc1RhZ05hbWUoSFRNTE5hbWVzOjppbnB1dFRh
ZykpIHsKKyAgICAgICAgICAgICAgICAgICAgSFRNTElucHV0RWxlbWVudCogaW5wdXRFbGVtZW50
ID0gc3RhdGljX2Nhc3Q8SFRNTElucHV0RWxlbWVudCo+KGZyYW1lLT5kb2N1bWVudCgpLT5mb2N1
c2VkTm9kZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKGlucHV0RWxlbWVudC0+aXNQYXNz
d29yZEZpZWxkKCkpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIHZpZXctPnNldEF0dHJpYnV0
ZShRdDo6V0FfSW5wdXRNZXRob2RFbmFibGVkLCB0cnVlKTsKKyAgICAgICAgICAgICAgICAgICAg
ICAgIGVtaXQgbV9wYWdlLT5taWNyb0ZvY3VzQ2hhbmdlZCgpOworICAgICAgICAgICAgICAgICAg
ICAgICAgcmV0dXJuOworICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgfQor
ICAgICAgICAgICAgfQorICAgICAgICB9CiAgICAgICAgIHZpZXctPnNldEF0dHJpYnV0ZShRdDo6
V0FfSW5wdXRNZXRob2RFbmFibGVkLCBhY3RpdmUpOwotCisgICAgfQogICAgIGVtaXQgbV9wYWdl
LT5taWNyb0ZvY3VzQ2hhbmdlZCgpOwogfQogCg==
</data>
<flag name="review"
          id="21796"
          type_id="1"
          status="-"
          setter="hausmann"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>40826</attachid>
            <date>2009-10-07 15:00:36 -0700</date>
            <delta_ts>2009-10-08 14:09:34 -0700</delta_ts>
            <desc>[Qt] patch to set Qt::WA_InputMethodEnabled attribute for password fields in EditorClientQt::setInputMethodState </desc>
            <filename>bug30023c.patch</filename>
            <type>text/plain</type>
            <size>4323</size>
            <attacher name="Joseph Ligman">joseph.ligman</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdC9xdC9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L3F0L0NoYW5n
ZUxvZwkocmV2aXNpb24gNDkyNjApCisrKyBXZWJLaXQvcXQvQ2hhbmdlTG9nCSh3b3JraW5nIGNv
cHkpCkBAIC0xLDMgKzEsMjAgQEAKKzIwMDktMTAtMDcgIEpvZSBMaWdtYW4gIDxqb3NlcGgubGln
bWFuQG5va2lhLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBTZXRzIFF0OjpXQV9JbnB1dE1ldGhvZEVuYWJsZWQgYXR0cmlidXRlIGZvciBwYXNz
d29yZCBmaWVsZHMgaW4gRWRpdG9yQ2xpZW50UXQ6OnNldElucHV0TWV0aG9kU3RhdGUuIAorICAg
ICAgICBUaGlzIGNoYW5nZSBpcyBuZWVkZWQgc28gY3VzdG9tIHdpZGdldHMgc3VjaCBhcyB0aGUg
czYwIHNvZnR3YXJlIGlucHV0IHBhbmVsIGNhbgorICAgICAgICByZWNlaXZlIGlucHV0IG1ldGhv
ZCBldmVudHMuCisgICAgICAgIEl0J3MgdXAgdG8gdGhlIFF0IHBsYXRmb3JtIHRvIGRldGVybWlu
ZSB3aGljaCB3aWRnZXQgd2lsbCByZWNlaXZlCisgICAgICAgIHRoZSBpbnB1dCBtZXRob2QgZXZl
bnRzIHdoZW4gUXQ6OldBX0lucHV0TWV0aG9kRW5hYmxlZCBhdHRyaWJ1dGUgYW5kIHRoZQorICAg
ICAgICBpbnB1dE1ldGhvZEhpbnQgKFF0OjpJbWhIaWRkZW5UZXh0KSBmbGFncyBhcmUgc2V0Lgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzAwMjMKKwor
ICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0VkaXRvckNsaWVudFF0LmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkVkaXRvckNsaWVudFF0OjpzZXRJbnB1dE1ldGhvZFN0YXRlKToKKyAgICAgICAgKiB0
ZXN0cy9xd2VicGFnZS90c3RfcXdlYnBhZ2UuY3BwOgorICAgICAgICAodHN0X1FXZWJQYWdlOjpp
bnB1dE1ldGhvZHMpOgorCiAyMDA5LTEwLTA3ICBBbnRvbmlvIEdvbWVzICA8dG9uaWtpdG9vQHdl
YmtpdC5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgU2ltb24gSGF1c21hbm4uCkluZGV4OiBX
ZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRWRpdG9yQ2xpZW50UXQuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFdlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9FZGl0b3JDbGllbnRRdC5jcHAJKHJldmlzaW9uIDQ5
MjYwKQorKysgV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0VkaXRvckNsaWVudFF0LmNwcAkod29y
a2luZyBjb3B5KQpAQCAtNDEsNiArNDEsNyBAQAogI2luY2x1ZGUgIkZvY3VzQ29udHJvbGxlci5o
IgogI2luY2x1ZGUgIkZyYW1lLmgiCiAjaW5jbHVkZSAiSFRNTEVsZW1lbnQuaCIKKyNpbmNsdWRl
ICJIVE1MSW5wdXRFbGVtZW50LmgiCiAjaW5jbHVkZSAiSFRNTE5hbWVzLmgiCiAjaW5jbHVkZSAi
S2V5Ym9hcmRDb2Rlcy5oIgogI2luY2x1ZGUgIktleWJvYXJkRXZlbnQuaCIKQEAgLTU5Nyw5ICs1
OTgsMjQgQEAgYm9vbCBFZGl0b3JDbGllbnRRdDo6aXNFZGl0aW5nKCkgY29uc3QKIHZvaWQgRWRp
dG9yQ2xpZW50UXQ6OnNldElucHV0TWV0aG9kU3RhdGUoYm9vbCBhY3RpdmUpCiB7CiAgICAgUVdp
ZGdldCAqdmlldyA9IG1fcGFnZS0+dmlldygpOwotICAgIGlmICh2aWV3KQorICAgIGlmICh2aWV3
KSB7CisgICAgICAgIGlmICghYWN0aXZlKSB7CisgICAgICAgICAgICAvL1NldHRpbmcgdGhlIFF0
OjpXQV9JbnB1dE1ldGhvZEVuYWJsZWQgYXR0cmlidXRlIHRvIHRydWUgZm9yIHBhc3N3b3JkIGZp
ZWxkcworICAgICAgICAgICAgLy9UaGUgUXQgcGxhdGZvcm0gaXMgcmVzcG9uc2libGUgZm9yIGRl
dGVybWluaW5nIHdoaWNoIHdpZGdldCB3aWxsIHJlY2VpdmUgCisgICAgICAgICAgICAvL3RoZSBp
bnB1dCBtZXRob2QgZXZlbnRzIHdoZW4gdGhlIGlucHV0TWV0aG9kSGludCAoUXQ6OkltaEhpZGRl
blRleHQpIGlzIAorICAgICAgICAgICAgLy9zZXQuCisgICAgICAgICAgICBGcmFtZSogZnJhbWUg
PSBtX3BhZ2UtPmQtPnBhZ2UtPmZvY3VzQ29udHJvbGxlcigpLT5mb2N1c2VkT3JNYWluRnJhbWUo
KTsKKyAgICAgICAgICAgIGlmIChmcmFtZSAmJiBmcmFtZS0+ZG9jdW1lbnQoKSAmJiBmcmFtZS0+
ZG9jdW1lbnQoKS0+Zm9jdXNlZE5vZGUoKSkgeworICAgICAgICAgICAgICAgIGlmIChmcmFtZS0+
ZG9jdW1lbnQoKS0+Zm9jdXNlZE5vZGUoKS0+aGFzVGFnTmFtZShIVE1MTmFtZXM6OmlucHV0VGFn
KSkgeworICAgICAgICAgICAgICAgICAgICBIVE1MSW5wdXRFbGVtZW50KiBpbnB1dEVsZW1lbnQg
PSBzdGF0aWNfY2FzdDxIVE1MSW5wdXRFbGVtZW50Kj4oZnJhbWUtPmRvY3VtZW50KCktPmZvY3Vz
ZWROb2RlKCkpOworICAgICAgICAgICAgICAgICAgICBhY3RpdmUgPSBpbnB1dEVsZW1lbnQtPmlz
UGFzc3dvcmRGaWVsZCgpOworICAgICAgICAgICAgICAgICAgICBpZiAoYWN0aXZlKQorICAgICAg
ICAgICAgICAgICAgICAgICAgdmlldy0+c2V0SW5wdXRNZXRob2RIaW50cyhRdDo6SW1oSGlkZGVu
VGV4dCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorICAgICAgICB9CiAgICAg
ICAgIHZpZXctPnNldEF0dHJpYnV0ZShRdDo6V0FfSW5wdXRNZXRob2RFbmFibGVkLCBhY3RpdmUp
OwotCisgICAgfQogICAgIGVtaXQgbV9wYWdlLT5taWNyb0ZvY3VzQ2hhbmdlZCgpOwogfQogCklu
ZGV4OiBXZWJLaXQvcXQvdGVzdHMvcXdlYnBhZ2UvdHN0X3F3ZWJwYWdlLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJLaXQvcXQvdGVzdHMvcXdlYnBhZ2UvdHN0X3F3ZWJwYWdlLmNwcAkocmV2aXNpb24g
NDkyNjApCisrKyBXZWJLaXQvcXQvdGVzdHMvcXdlYnBhZ2UvdHN0X3F3ZWJwYWdlLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtMTIxMiw3ICsxMjEyLDggQEAgdm9pZCB0c3RfUVdlYlBhZ2U6OmZyYW1l
QXQoKQogdm9pZCB0c3RfUVdlYlBhZ2U6OmlucHV0TWV0aG9kcygpCiB7CiAgICAgbV92aWV3LT5w
YWdlKCktPm1haW5GcmFtZSgpLT5zZXRIdG1sKCI8aHRtbD48Ym9keT4iIFwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIjxpbnB1dCB0eXBlPSd0ZXh0JyBpZD0n
aW5wdXQxJyBzdHlsZT0nZm9udC1mYW1pbHk6IHNlcmlmJyB2YWx1ZT0nJyBtYXhsZW5ndGg9JzIw
Jy8+IiBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICI8aW5w
dXQgdHlwZT0ndGV4dCcgaWQ9J2lucHV0MScgc3R5bGU9J2ZvbnQtZmFtaWx5OiBzZXJpZicgdmFs
dWU9JycgbWF4bGVuZ3RoPScyMCcvPjxicj4iIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIjxpbnB1dCB0eXBlPSdwYXNzd29yZCcvPiIgXAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiPC9ib2R5PjwvaHRtbD4iKTsKICAg
ICBtX3ZpZXctPnBhZ2UoKS0+bWFpbkZyYW1lKCktPnNldEZvY3VzKCk7CiAKQEAgLTEyOTUsNiAr
MTI5NiwxNSBAQCB2b2lkIHRzdF9RV2ViUGFnZTo6aW5wdXRNZXRob2RzKCkKICAgICB2YWx1ZSA9
IHZhcmlhbnQudmFsdWU8UVN0cmluZz4oKTsKICAgICBRQ09NUEFSRSh2YWx1ZSwgUVN0cmluZygi
UXRXZWJLaXQiKSk7CiAjZW5kaWYKKworICAgIC8vSW1oSGlkZGVuVGV4dAorICAgIFFNb3VzZUV2
ZW50IGV2cHJlc1Bhc3N3b3JkKFFFdmVudDo6TW91c2VCdXR0b25QcmVzcywgaW5wdXRzLmF0KDEp
Lmdlb21ldHJ5KCkuY2VudGVyKCksIFF0OjpMZWZ0QnV0dG9uLCBRdDo6Tm9CdXR0b24sIFF0OjpO
b01vZGlmaWVyKTsKKyAgICBtX3ZpZXctPnBhZ2UoKS0+ZXZlbnQoJmV2cHJlc1Bhc3N3b3JkKTsK
KyAgICBRTW91c2VFdmVudCBldnJlbFBhc3N3b3JkKFFFdmVudDo6TW91c2VCdXR0b25SZWxlYXNl
LCBpbnB1dHMuYXQoMSkuZ2VvbWV0cnkoKS5jZW50ZXIoKSwgUXQ6OkxlZnRCdXR0b24sIFF0OjpO
b0J1dHRvbiwgUXQ6Ok5vTW9kaWZpZXIpOworICAgIG1fdmlldy0+cGFnZSgpLT5ldmVudCgmZXZy
ZWxQYXNzd29yZCk7CisKKyAgICBRVkVSSUZZKG1fdmlldy0+dGVzdEF0dHJpYnV0ZShRdDo6V0Ff
SW5wdXRNZXRob2RFbmFibGVkKSk7CisgICAgUVZFUklGWShtX3ZpZXctPmlucHV0TWV0aG9kSGlu
dHMoKSAmIFF0OjpJbWhIaWRkZW5UZXh0KTsKIH0KIAogLy8gaW1wb3J0IGEgbGl0dGxlIERSVCBo
ZWxwZXIgZnVuY3Rpb24gdG8gdHJpZ2dlciB0aGUgZ2FyYmFnZSBjb2xsZWN0b3IK
</data>
<flag name="review"
          id="22116"
          type_id="1"
          status="-"
          setter="hausmann"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>40910</attachid>
            <date>2009-10-08 14:09:34 -0700</date>
            <delta_ts>2009-10-09 10:33:05 -0700</delta_ts>
            <desc>[Qt] patch to set Qt::WA_InputMethodEnabled attribute for password fields in EditorClientQt::setInputMethodState </desc>
            <filename>bug30023e.patch</filename>
            <type>text/plain</type>
            <size>8917</size>
            <attacher name="Joseph Ligman">joseph.ligman</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0OTMxNCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTIgQEAKKzIwMDktMTAtMDggIEpvZSBMaWdtYW4gIDxqb3NlcGgubGlnbWFuQG5v
a2lhLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBbUXRdIEFkZGVkIHB1cmUgdmlydHVhbCBtZXRob2RzIHNldElucHV0TWV0aG9kRW5hYmxlZCBh
bmQgc2V0SW5wdXRNZXRob2RIaW50IHRvIFFXZWJQYWdlQ2xpZW50CisKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTMwMDIzCisgICAgICAgICogcGxhdGZv
cm0vcXQvUVdlYlBhZ2VDbGllbnQuaDoKKwogMjAwOS0xMC0wOCAgQnJpYW4gV2VpbnN0ZWluICA8
YndlaW5zdGVpbkBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgVGltb3RoeSBIYXRj
aGVyLgpJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9xdC9RV2ViUGFnZUNsaWVudC5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vcXQvUVdlYlBhZ2VDbGllbnQuaAkocmV2aXNpb24gNDkz
MTQpCisrKyBXZWJDb3JlL3BsYXRmb3JtL3F0L1FXZWJQYWdlQ2xpZW50LmgJKHdvcmtpbmcgY29w
eSkKQEAgLTMyLDcgKzMyLDEwIEBAIGNsYXNzIFFXZWJQYWdlQ2xpZW50IHsKIHB1YmxpYzoKICAg
ICB2aXJ0dWFsIHZvaWQgc2Nyb2xsKGludCBkeCwgaW50IGR5LCBjb25zdCBRUmVjdCYpID0gMDsK
ICAgICB2aXJ0dWFsIHZvaWQgdXBkYXRlKGNvbnN0IFFSZWN0JikgPSAwOwotCisgICAgdmlydHVh
bCB2b2lkIHNldElucHV0TWV0aG9kRW5hYmxlZChib29sIGVuYWJsZSkgPSAwOworI2lmIFFUX1ZF
UlNJT04gPj0gMHgwNDA2MDAKKyAgICB2aXJ0dWFsIHZvaWQgc2V0SW5wdXRNZXRob2RIaW50KFF0
OjpJbnB1dE1ldGhvZEhpbnQgaGludCwgYm9vbCBlbmFibGUpID0gMDsKKyNlbmRpZgogICAgIGlu
bGluZSB2b2lkIHJlc2V0Q3Vyc29yKCkKICAgICB7CiAjaWZuZGVmIFFUX05PX0NVUlNPUgpJbmRl
eDogV2ViS2l0L3F0L0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQvcXQvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0OTMxNCkKKysrIFdlYktpdC9xdC9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkK
QEAgLTEsMyArMSwyOSBAQAorMjAwOS0xMC0wOCAgSm9lIExpZ21hbiAgPGpvc2VwaC5saWdtYW5A
bm9raWEuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIFNldHMgUXQ6OldBX0lucHV0TWV0aG9kRW5hYmxlZCBhbmQgUXQ6OkltaEhpZGRlblRleHQg
Zm9yIHBhc3N3b3JkIGZpZWxkcyBpbiBFZGl0b3JDbGllbnRRdAorICAgICAgICBzZXRJbnB1dE1l
dGhvZFN0YXRlLiBUaGlzIGNoYW5nZSBpcyBuZWVkZWQgc28gd2lkZ2V0cyBzdWNoIGFzIHRoZSBz
NjAgc29mdHdhcmUgCisgICAgICAgIGlucHV0IHBhbmVsIGNhbiByZWNlaXZlIGlucHV0IG1ldGhv
ZCBldmVudHMgZm9yIHBhc3N3b3JkIGZpZWxkcy4KKyAgICAgICAgSXQncyB1cCB0byB0aGUgUXQg
cGxhdGZvcm0gdG8gZGV0ZXJtaW5lIHdoaWNoIHdpZGdldCB3aWxsIHJlY2VpdmUgaW5wdXQgbWV0
aG9kIAorICAgICAgICBldmVudHMgd2hlbiB0aGVzZSBmbGFncyBhcmUgc2V0LgorICAgICAgICBB
bHNvIGFkZGVkIGltcGxlbWVudGF0aW9uIGZvciBzZXRJbnB1dE1ldGhvZEVuYWJsZWQgYW5kIHNl
dElucHV0TWV0aG9kSGludCAKKyAgICAgICAgdG8gUUdyYXBoaWNzV2ViVmlld1ByaXZhdGUgYW5k
IFFXZWJWaWV3UHJpdmF0ZS4gVGhpcyBjaGFuZ2UgcmVtb3ZlcyB0aGUgZGlyZWN0CisgICAgICAg
IGRlcGVuZGVuY3kgb24gUVdlYlZpZXcgYW5kIHVzZXMgUVdlYlBhZ2VDbGllbnQuCisgICAgICAg
IEFkZGVkIGF1dG90ZXN0IHRvIHRzdF9xd2VicGFnZS5jcHAKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTMwMDIzCisKKyAgICAgICAgKiBBcGkvcWdyYXBo
aWNzd2Vidmlldy5jcHA6CisgICAgICAgIChRR3JhcGhpY3NXZWJWaWV3UHJpdmF0ZTo6c2V0SW5w
dXRNZXRob2RFbmFibGVkKToKKyAgICAgICAgKFFHcmFwaGljc1dlYlZpZXdQcml2YXRlOjpzZXRJ
bnB1dE1ldGhvZEhpbnQpOgorICAgICAgICAqIEFwaS9xd2Vidmlldy5jcHA6CisgICAgICAgIChR
V2ViVmlld1ByaXZhdGU6OnNldElucHV0TWV0aG9kRW5hYmxlZCk6CisgICAgICAgIChRV2ViVmll
d1ByaXZhdGU6OnNldElucHV0TWV0aG9kSGludCk6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQv
RWRpdG9yQ2xpZW50UXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RWRpdG9yQ2xpZW50UXQ6OnNl
dElucHV0TWV0aG9kU3RhdGUpOgorICAgICAgICAqIHRlc3RzL3F3ZWJwYWdlL3RzdF9xd2VicGFn
ZS5jcHA6CisgICAgICAgICh0c3RfUVdlYlBhZ2U6OmlucHV0TWV0aG9kcyk6CisKIDIwMDktMTAt
MDggIEplZHJ6ZWogTm93YWNraSAgPGplZHJ6ZWoubm93YWNraUBub2tpYS5jb20+CiAKICAgICAg
ICAgUmV2aWV3ZWQgYnkgU2ltb24gSGF1c21hbm4uCkluZGV4OiBXZWJLaXQvcXQvQXBpL3FncmFw
aGljc3dlYnZpZXcuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC9xdC9BcGkvcWdyYXBoaWNzd2Vi
dmlldy5jcHAJKHJldmlzaW9uIDQ5MzE0KQorKysgV2ViS2l0L3F0L0FwaS9xZ3JhcGhpY3N3ZWJ2
aWV3LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDQsNiArNDQsMTAgQEAgcHVibGljOgogCiAgICAg
dmlydHVhbCB2b2lkIHNjcm9sbChpbnQgZHgsIGludCBkeSwgY29uc3QgUVJlY3QmKTsKICAgICB2
aXJ0dWFsIHZvaWQgdXBkYXRlKGNvbnN0IFFSZWN0JiBkaXJ0eVJlY3QpOworICAgIHZpcnR1YWwg
dm9pZCBzZXRJbnB1dE1ldGhvZEVuYWJsZWQoYm9vbCBlbmFibGUpOworI2lmIFFUX1ZFUlNJT04g
Pj0gMHgwNDA2MDAKKyAgICB2aXJ0dWFsIHZvaWQgc2V0SW5wdXRNZXRob2RIaW50KFF0OjpJbnB1
dE1ldGhvZEhpbnQgaGludCwgYm9vbCBlbmFibGUpOworI2VuZGlmCiAKICNpZm5kZWYgUVRfTk9f
Q1VSU09SCiAgICAgdmlydHVhbCBRQ3Vyc29yIGN1cnNvcigpIGNvbnN0OwpAQCAtOTYsNiArMTAw
LDIwIEBAIHZvaWQgUUdyYXBoaWNzV2ViVmlld1ByaXZhdGU6OnVwZGF0ZShjb24KICAgICBxLT51
cGRhdGUoUVJlY3RGKGRpcnR5UmVjdCkpOwogfQogCisKK3ZvaWQgUUdyYXBoaWNzV2ViVmlld1By
aXZhdGU6OnNldElucHV0TWV0aG9kRW5hYmxlZChib29sIGVuYWJsZSkKK3sKKyAgICBxLT5zZXRB
dHRyaWJ1dGUoUXQ6OldBX0lucHV0TWV0aG9kRW5hYmxlZCwgZW5hYmxlKTsKK30KKyNpZiBRVF9W
RVJTSU9OID49IDB4MDQwNjAwCit2b2lkIFFHcmFwaGljc1dlYlZpZXdQcml2YXRlOjpzZXRJbnB1
dE1ldGhvZEhpbnQoUXQ6OklucHV0TWV0aG9kSGludCBoaW50LCBib29sIGVuYWJsZSkKK3sKKyAg
ICBpZiAoZW5hYmxlKQorICAgICAgICBxLT5zZXRJbnB1dE1ldGhvZEhpbnRzKHEtPmlucHV0TWV0
aG9kSGludHMoKSB8IGhpbnQpOworICAgIGVsc2UKKyAgICAgICAgcS0+c2V0SW5wdXRNZXRob2RI
aW50cyhxLT5pbnB1dE1ldGhvZEhpbnRzKCkgJiB+aGludCk7Cit9CisjZW5kaWYKICNpZm5kZWYg
UVRfTk9fQ1VSU09SCiBRQ3Vyc29yIFFHcmFwaGljc1dlYlZpZXdQcml2YXRlOjpjdXJzb3IoKSBj
b25zdAogewpJbmRleDogV2ViS2l0L3F0L0FwaS9xd2Vidmlldy5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2ViS2l0L3F0L0FwaS9xd2Vidmlldy5jcHAJKHJldmlzaW9uIDQ5MzE0KQorKysgV2ViS2l0L3F0
L0FwaS9xd2Vidmlldy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ3LDYgKzQ3LDEwIEBAIHB1Ymxp
YzoKIAogICAgIHZpcnR1YWwgdm9pZCBzY3JvbGwoaW50IGR4LCBpbnQgZHksIGNvbnN0IFFSZWN0
Jik7CiAgICAgdmlydHVhbCB2b2lkIHVwZGF0ZShjb25zdCBRUmVjdCYgZGlydHlSZWN0KTsKKyAg
ICB2aXJ0dWFsIHZvaWQgc2V0SW5wdXRNZXRob2RFbmFibGVkKGJvb2wgZW5hYmxlKTsKKyNpZiBR
VF9WRVJTSU9OID49IDB4MDQwNjAwCisgICAgdmlydHVhbCB2b2lkIHNldElucHV0TWV0aG9kSGlu
dChRdDo6SW5wdXRNZXRob2RIaW50IGhpbnQsIGJvb2wgZW5hYmxlKTsKKyNlbmRpZgogCiAjaWZu
ZGVmIFFUX05PX0NVUlNPUgogICAgIHZpcnR1YWwgUUN1cnNvciBjdXJzb3IoKSBjb25zdDsKQEAg
LTc2LDYgKzgwLDE5IEBAIHZvaWQgUVdlYlZpZXdQcml2YXRlOjp1cGRhdGUoY29uc3QgUVJlY3QK
ICAgICB2aWV3LT51cGRhdGUoZGlydHlSZWN0KTsKIH0KIAordm9pZCBRV2ViVmlld1ByaXZhdGU6
OnNldElucHV0TWV0aG9kRW5hYmxlZChib29sIGVuYWJsZSkKK3sKKyAgICB2aWV3LT5zZXRBdHRy
aWJ1dGUoUXQ6OldBX0lucHV0TWV0aG9kRW5hYmxlZCwgZW5hYmxlKTsKK30KKyNpZiBRVF9WRVJT
SU9OID49IDB4MDQwNjAwCit2b2lkIFFXZWJWaWV3UHJpdmF0ZTo6c2V0SW5wdXRNZXRob2RIaW50
KFF0OjpJbnB1dE1ldGhvZEhpbnQgaGludCwgYm9vbCBlbmFibGUpCit7CisgICAgaWYgKGVuYWJs
ZSkKKyAgICAgICAgdmlldy0+c2V0SW5wdXRNZXRob2RIaW50cyh2aWV3LT5pbnB1dE1ldGhvZEhp
bnRzKCkgfCBoaW50KTsKKyAgICBlbHNlCisgICAgICAgIHZpZXctPnNldElucHV0TWV0aG9kSGlu
dHModmlldy0+aW5wdXRNZXRob2RIaW50cygpICYgfmhpbnQpOworfQorI2VuZGlmCiAjaWZuZGVm
IFFUX05PX0NVUlNPUgogUUN1cnNvciBRV2ViVmlld1ByaXZhdGU6OmN1cnNvcigpIGNvbnN0CiB7
CkluZGV4OiBXZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRWRpdG9yQ2xpZW50UXQuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFdlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9FZGl0b3JDbGllbnRRdC5jcHAJKHJl
dmlzaW9uIDQ5MzE0KQorKysgV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0VkaXRvckNsaWVudFF0
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDEsNiArNDEsNyBAQAogI2luY2x1ZGUgIkZvY3VzQ29u
dHJvbGxlci5oIgogI2luY2x1ZGUgIkZyYW1lLmgiCiAjaW5jbHVkZSAiSFRNTEVsZW1lbnQuaCIK
KyNpbmNsdWRlICJIVE1MSW5wdXRFbGVtZW50LmgiCiAjaW5jbHVkZSAiSFRNTE5hbWVzLmgiCiAj
aW5jbHVkZSAiS2V5Ym9hcmRDb2Rlcy5oIgogI2luY2x1ZGUgIktleWJvYXJkRXZlbnQuaCIKQEAg
LTQ4LDYgKzQ5LDcgQEAKICNpbmNsdWRlICJQYWdlLmgiCiAjaW5jbHVkZSAiUGFnZS5oIgogI2lu
Y2x1ZGUgIlBsYXRmb3JtS2V5Ym9hcmRFdmVudC5oIgorI2luY2x1ZGUgIlFXZWJQYWdlQ2xpZW50
LmgiCiAjaW5jbHVkZSAiUmFuZ2UuaCIKIAogI2luY2x1ZGUgPHN0ZGlvLmg+CkBAIC01OTYsMTAg
KzU5OCwyOCBAQCBib29sIEVkaXRvckNsaWVudFF0Ojppc0VkaXRpbmcoKSBjb25zdAogCiB2b2lk
IEVkaXRvckNsaWVudFF0OjpzZXRJbnB1dE1ldGhvZFN0YXRlKGJvb2wgYWN0aXZlKQogewotICAg
IFFXaWRnZXQgKnZpZXcgPSBtX3BhZ2UtPnZpZXcoKTsKLSAgICBpZiAodmlldykKLSAgICAgICAg
dmlldy0+c2V0QXR0cmlidXRlKFF0OjpXQV9JbnB1dE1ldGhvZEVuYWJsZWQsIGFjdGl2ZSk7Ci0K
KyAgICBRV2ViUGFnZUNsaWVudCogd2ViUGFnZUNsaWVudCA9IG1fcGFnZS0+ZC0+Y2xpZW50Owor
ICAgIGlmICh3ZWJQYWdlQ2xpZW50KSB7CisjaWYgUVRfVkVSU0lPTiA+PSAweDA0MDYwMAorICAg
ICAgICBRdDo6SW5wdXRNZXRob2RIaW50cyBoaW50cyA9IFF0OjpJbWhOb25lOworICAgICAgICBp
ZiAoIWFjdGl2ZSkgeworICAgICAgICAgICAgLy8gU2V0dGluZyB0aGUgUXQ6OldBX0lucHV0TWV0
aG9kRW5hYmxlZCBhdHRyaWJ1dGUgdHJ1ZSBhbmQgUXQ6OkltaEhpZGRlblRleHQgZmxhZworICAg
ICAgICAgICAgLy8gZm9yIHBhc3N3b3JkIGZpZWxkcy4gVGhlIFF0IHBsYXRmb3JtIGlzIHJlc3Bv
bnNpYmxlIGZvciBkZXRlcm1pbmluZyB3aGljaCB3aWRnZXQgCisgICAgICAgICAgICAvLyB3aWxs
IHJlY2VpdmUgaW5wdXQgbWV0aG9kIGV2ZW50cyBmb3IgcGFzc3dvcmQgZmllbGRzLgorICAgICAg
ICAgICAgRnJhbWUqIGZyYW1lID0gbV9wYWdlLT5kLT5wYWdlLT5mb2N1c0NvbnRyb2xsZXIoKS0+
Zm9jdXNlZE9yTWFpbkZyYW1lKCk7CisgICAgICAgICAgICBpZiAoZnJhbWUgJiYgZnJhbWUtPmRv
Y3VtZW50KCkgJiYgZnJhbWUtPmRvY3VtZW50KCktPmZvY3VzZWROb2RlKCkpIHsKKyAgICAgICAg
ICAgICAgICBpZiAoZnJhbWUtPmRvY3VtZW50KCktPmZvY3VzZWROb2RlKCktPmhhc1RhZ05hbWUo
SFRNTE5hbWVzOjppbnB1dFRhZykpIHsKKyAgICAgICAgICAgICAgICAgICAgSFRNTElucHV0RWxl
bWVudCogaW5wdXRFbGVtZW50ID0gc3RhdGljX2Nhc3Q8SFRNTElucHV0RWxlbWVudCo+KGZyYW1l
LT5kb2N1bWVudCgpLT5mb2N1c2VkTm9kZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgYWN0aXZl
ID0gaW5wdXRFbGVtZW50LT5pc1Bhc3N3b3JkRmllbGQoKTsKKyAgICAgICAgICAgICAgICAgICAg
aWYgKGFjdGl2ZSkKKyAgICAgICAgICAgICAgICAgICAgICAgIGhpbnRzIHw9IFF0OjpJbWhIaWRk
ZW5UZXh0OworICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAg
ICAgd2ViUGFnZUNsaWVudC0+c2V0SW5wdXRNZXRob2RIaW50KFF0OjpJbWhIaWRkZW5UZXh0LCBo
aW50cyAmIFF0OjpJbWhIaWRkZW5UZXh0KTsKKyNlbmRpZgorICAgICAgICB3ZWJQYWdlQ2xpZW50
LT5zZXRJbnB1dE1ldGhvZEVuYWJsZWQoYWN0aXZlKTsKKyAgICB9CiAgICAgZW1pdCBtX3BhZ2Ut
Pm1pY3JvRm9jdXNDaGFuZ2VkKCk7CiB9CiAKSW5kZXg6IFdlYktpdC9xdC90ZXN0cy9xd2VicGFn
ZS90c3RfcXdlYnBhZ2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC9xdC90ZXN0cy9xd2VicGFn
ZS90c3RfcXdlYnBhZ2UuY3BwCShyZXZpc2lvbiA0OTMxNCkKKysrIFdlYktpdC9xdC90ZXN0cy9x
d2VicGFnZS90c3RfcXdlYnBhZ2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMjEyLDcgKzEyMTIs
OCBAQCB2b2lkIHRzdF9RV2ViUGFnZTo6ZnJhbWVBdCgpCiB2b2lkIHRzdF9RV2ViUGFnZTo6aW5w
dXRNZXRob2RzKCkKIHsKICAgICBtX3ZpZXctPnBhZ2UoKS0+bWFpbkZyYW1lKCktPnNldEh0bWwo
IjxodG1sPjxib2R5PiIgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAiPGlucHV0IHR5cGU9J3RleHQnIGlkPSdpbnB1dDEnIHN0eWxlPSdmb250LWZhbWlseTog
c2VyaWYnIHZhbHVlPScnIG1heGxlbmd0aD0nMjAnLz4iIFwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIjxpbnB1dCB0eXBlPSd0ZXh0JyBpZD0naW5wdXQxJyBz
dHlsZT0nZm9udC1mYW1pbHk6IHNlcmlmJyB2YWx1ZT0nJyBtYXhsZW5ndGg9JzIwJy8+PGJyPiIg
XAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiPGlucHV0IHR5
cGU9J3Bhc3N3b3JkJy8+IiBcCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICI8L2JvZHk+PC9odG1sPiIpOwogICAgIG1fdmlldy0+cGFnZSgpLT5tYWluRnJhbWUo
KS0+c2V0Rm9jdXMoKTsKIApAQCAtMTI5NSw2ICsxMjk2LDIxIEBAIHZvaWQgdHN0X1FXZWJQYWdl
OjppbnB1dE1ldGhvZHMoKQogICAgIHZhbHVlID0gdmFyaWFudC52YWx1ZTxRU3RyaW5nPigpOwog
ICAgIFFDT01QQVJFKHZhbHVlLCBRU3RyaW5nKCJRdFdlYktpdCIpKTsKICNlbmRpZgorCisgICAg
Ly9JbWhIaWRkZW5UZXh0CisgICAgUU1vdXNlRXZlbnQgZXZwcmVzUGFzc3dvcmQoUUV2ZW50OjpN
b3VzZUJ1dHRvblByZXNzLCBpbnB1dHMuYXQoMSkuZ2VvbWV0cnkoKS5jZW50ZXIoKSwgUXQ6Okxl
ZnRCdXR0b24sIFF0OjpOb0J1dHRvbiwgUXQ6Ok5vTW9kaWZpZXIpOworICAgIG1fdmlldy0+cGFn
ZSgpLT5ldmVudCgmZXZwcmVzUGFzc3dvcmQpOworICAgIFFNb3VzZUV2ZW50IGV2cmVsUGFzc3dv
cmQoUUV2ZW50OjpNb3VzZUJ1dHRvblJlbGVhc2UsIGlucHV0cy5hdCgxKS5nZW9tZXRyeSgpLmNl
bnRlcigpLCBRdDo6TGVmdEJ1dHRvbiwgUXQ6Ok5vQnV0dG9uLCBRdDo6Tm9Nb2RpZmllcik7Cisg
ICAgbV92aWV3LT5wYWdlKCktPmV2ZW50KCZldnJlbFBhc3N3b3JkKTsKKworICAgIFFWRVJJRlko
bV92aWV3LT50ZXN0QXR0cmlidXRlKFF0OjpXQV9JbnB1dE1ldGhvZEVuYWJsZWQpKTsKKyNpZiBR
VF9WRVJTSU9OID49IDB4MDQwNjAwCisgICAgUVZFUklGWShtX3ZpZXctPmlucHV0TWV0aG9kSGlu
dHMoKSAmIFF0OjpJbWhIaWRkZW5UZXh0KTsKKworICAgIG1fdmlldy0+cGFnZSgpLT5ldmVudCgm
ZXZwcmVzKTsKKyAgICBtX3ZpZXctPnBhZ2UoKS0+ZXZlbnQoJmV2cmVsKTsKKyAgICBRVkVSSUZZ
KCEobV92aWV3LT5pbnB1dE1ldGhvZEhpbnRzKCkgJiBRdDo6SW1oSGlkZGVuVGV4dCkpOworI2Vu
ZGlmCiB9CiAKIC8vIGltcG9ydCBhIGxpdHRsZSBEUlQgaGVscGVyIGZ1bmN0aW9uIHRvIHRyaWdn
ZXIgdGhlIGdhcmJhZ2UgY29sbGVjdG9yCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>