<?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>30389</bug_id>
          
          <creation_ts>2009-10-15 09:06:57 -0700</creation_ts>
          <short_desc>[gtk] Input method does not work in Epiphany</short_desc>
          <delta_ts>2010-02-11 14:03:57 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKitGTK</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>DUPLICATE</resolution>
          <dup_id>32290</dup_id>
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Duy Nguyen">pclouds</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>eric</cc>
    
    <cc>evan</cc>
    
    <cc>gustavo</cc>
    
    <cc>mjs</cc>
    
    <cc>mrobinson</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>154805</commentid>
    <comment_count>0</comment_count>
    <who name="Duy Nguyen">pclouds</who>
    <bug_when>2009-10-15 09:06:57 -0700</bug_when>
    <thetext>The original report is here: https://bugzilla.gnome.org/show_bug.cgi?id=598563

Epiphany used to recognize GTK_IM_MODULE and set input method
for every textbox correctly, changing input method from urlbar also affected
all textboxes. With recent Webkit, it seems input method is set to default
input method, no way I can change it to XIM or Vietnames VIQR.

Xan suspected the culprit was r48964.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>154851</commentid>
    <comment_count>1</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2009-10-15 11:25:12 -0700</bug_when>
    <thetext>I can&apos;t seem to reproduce this behavior using GtkLauncher. Setting GTK_IM_MODULE seems to change the IM context properly. Also, I can&apos;t find an example of a GTK+ app which shares the selected IM context between text fields (libgtk-x11-2.0.so.0.1600.1). Duy, any tips on reproducing this?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>154968</commentid>
    <comment_count>2</comment_count>
    <who name="Duy Nguyen">pclouds</who>
    <bug_when>2009-10-15 18:25:59 -0700</bug_when>
    <thetext>Funny GTK_IM_MODULE works with GtkLauncher for me too. But you can also start GtkLauncher without GTK_IM_MODULE and set IM in url bar. New IM does not affect textboxes. At least Epiphany used to support this way.

The way I tested it is starting epiphany www.google.com with GTK_IM_MODULE, then type something. I also confirm that epiphany broke with 48964 and worked with 48963.

I&apos;m using Gtk+ 2.18.2, Glib 2.22.2, libsoup near to master, LANG=vi_VN.UTF-8.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>174760</commentid>
    <comment_count>3</comment_count>
    <who name="Duy Nguyen">pclouds</who>
    <bug_when>2009-12-24 05:17:04 -0800</bug_when>
    <thetext>Another observation. Gedit (and GtkEntry) seems to react well with XSettings &quot;gtk-im-module&quot; changes. I change /desktop/gnome/interface/gtk-im-module (then gnome-settings-daemon will update xsettings accordingly) and Gedit/GtkEntry react well with the new input method. Webview does not though. After a view is created, it sticks with the selected input method at that moment forever.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>174765</commentid>
    <comment_count>4</comment_count>
    <who name="Duy Nguyen">pclouds</who>
    <bug_when>2009-12-24 05:21:47 -0800</bug_when>
    <thetext>Ohh.. and GtkLauncher will pick up the new input method if you use context menu to change IM to something else, then back to system input method. Looks like some hook is missing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>174848</commentid>
    <comment_count>5</comment_count>
    <who name="Duy Nguyen">pclouds</who>
    <bug_when>2009-12-25 01:13:57 -0800</bug_when>
    <thetext>To sum it up:
 - Looking at the source, I don&apos;t know how the old Epiphany could share input method too, but that would not matter if we had a way to change input method.
 - Speaking of changing system input method via XSettings, WebKit does not call gtk_im_context_focus_{in,out} frequent enough (which explains my last comment). The only place it calls those is in EditorClient::setInputMethodState(), which does not get called if I switch windows, though switching text entry does the trick. Focus problem.
 - A more important bug with input methods. It seems composition in webkit is not right. With input method VIQR, I can type &quot;am&quot; in a GtkEntry and get &quot;am&quot; (&apos;a&apos; will put it to preedit mode, &apos;a^m&apos; for example will produce &apos;âm&apos;). With WebKit &quot;am&quot; produces &quot;m&quot;. The preedit &apos;a&apos; is eaten. The only way I can have &apos;am&apos; is typing &apos;a\m&apos; -- &apos;a\&apos; will produce a complete &apos;a&apos;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>175763</commentid>
    <comment_count>6</comment_count>
      <attachid>45632</attachid>
    <who name="Duy Nguyen">pclouds</who>
    <bug_when>2009-12-29 20:08:37 -0800</bug_when>
    <thetext>Created attachment 45632
gtkim.patch

This addresses my last point in the last comment. It seems GtkIMContext can emit multiple commit and preedit-changed signals in one row.

I tested it with VIQR input method. You can try to type these in GtkLauncher and a normal GtkEntry to see if the behaviour matches:

aan
bba&lt;move left&gt;d (this does not work correctly due to cursor position, but at least it does not emit &quot;badba&quot;)

My first attempt to make a proper patch, take it easy :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>175764</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2009-12-29 20:11:57 -0800</bug_when>
    <thetext>Attachment 45632 did not pass style-queue:

Failed to run &quot;WebKitTools/Scripts/check-webkit-style&quot; exit_code: 1
WebKit/gtk/WebCoreSupport/EditorClientGtk.cpp:78:  Tab found; better to use spaces  [whitespace/tab] [1]
WebKit/gtk/WebCoreSupport/EditorClientGtk.cpp:78:  Use 0 instead of NULL.  [readability/null] [5]
WebKit/gtk/WebCoreSupport/EditorClientGtk.cpp:80:  Tab found; better to use spaces  [whitespace/tab] [1]
WebKit/gtk/WebCoreSupport/EditorClientGtk.cpp:507:  Tab found; better to use spaces  [whitespace/tab] [1]
WebKit/gtk/ChangeLog:6:  Line contains tab character.  [whitespace/tab] [5]
Total errors found: 5</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>175767</commentid>
    <comment_count>8</comment_count>
      <attachid>45633</attachid>
    <who name="Duy Nguyen">pclouds</who>
    <bug_when>2009-12-29 20:13:57 -0800</bug_when>
    <thetext>Created attachment 45633
gtkim.patch

Tab-damaged</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>175768</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2009-12-29 20:17:27 -0800</bug_when>
    <thetext>Attachment 45633 did not pass style-queue:

Failed to run &quot;WebKitTools/Scripts/check-webkit-style&quot; exit_code: 1
WebKit/gtk/WebCoreSupport/EditorClientGtk.cpp:78:  Use 0 instead of NULL.  [readability/null] [5]
Total errors found: 1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>177392</commentid>
    <comment_count>10</comment_count>
      <attachid>45633</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-01-05 14:19:29 -0800</bug_when>
    <thetext>Comment on attachment 45633
gtkim.patch

How do we test this?  Does this already have a manual test?  Can we make a layout test?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>178147</commentid>
    <comment_count>11</comment_count>
    <who name="Duy Nguyen">pclouds</who>
    <bug_when>2010-01-07 05:00:35 -0800</bug_when>
    <thetext>(In reply to comment #10)
&gt; (From update of attachment 45633 [details])
&gt; How do we test this?  Does this already have a manual test?  Can we make a
&gt; layout test?

A simple manual test was given in comment #6 (reference behavior is from GtkEntry). I don&apos;t know what a layout test is. But I think I can simulate signals sent from an input method (in this case, VIQR) and check the result.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>178178</commentid>
    <comment_count>12</comment_count>
    <who name="Duy Nguyen">pclouds</who>
    <bug_when>2010-01-07 07:42:24 -0800</bug_when>
    <thetext>I think I can extend testkeyevents.c to cover this bug, but how can I get text from a text field? Document::getElementById() is C++ and thus not accessible from testkeyevents.c.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>178449</commentid>
    <comment_count>13</comment_count>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2010-01-07 16:45:55 -0800</bug_when>
    <thetext>(In reply to comment #12)
&gt; I think I can extend testkeyevents.c to cover this bug, but how can I get text
&gt; from a text field? Document::getElementById() is C++ and thus not accessible
&gt; from testkeyevents.c.

This should be easily doable with JavaScriptCore. Look at how Epiphany implements saving form passwords currently (commits should be easy to find, because they are close to HEAD).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>186151</commentid>
    <comment_count>14</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2010-01-30 19:45:33 -0800</bug_when>
    <thetext>Hey Dan (and others having trouble). I&apos;ve taken your patch here and incorporated it into my work at 32290. It feels like these fixes belong together. I&apos;d love it if you could confirm this fixes your issues (except the focus_(in/out) issue which I think deserves another patch -- forthcoming!). Do you mind checking out my latest patch on that bug and letting me know if this improve the behavior?

I can handle writing the tests for these issues. The tests for the two behaviors will be very similar.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>187778</commentid>
    <comment_count>15</comment_count>
    <who name="Duy Nguyen">pclouds</who>
    <bug_when>2010-02-04 07:05:20 -0800</bug_when>
    <thetext>Looks like the patch on bug 32290 solves this issue well.

*** This bug has been marked as a duplicate of bug 32290 ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>189792</commentid>
    <comment_count>16</comment_count>
      <attachid>45633</attachid>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2010-02-11 14:03:57 -0800</bug_when>
    <thetext>Comment on attachment 45633
gtkim.patch

clearing review flag based on prior comments</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>45632</attachid>
            <date>2009-12-29 20:08:37 -0800</date>
            <delta_ts>2009-12-29 20:13:57 -0800</delta_ts>
            <desc>gtkim.patch</desc>
            <filename>gtkim.patch</filename>
            <type>text/plain</type>
            <size>3855</size>
            <attacher name="Duy Nguyen">pclouds</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdC9ndGsvQ2hhbmdlTG9nIGIvV2ViS2l0L2d0ay9DaGFuZ2VMb2cK
aW5kZXggNjQ2Yzg1My4uYmMzNTMwNiAxMDA2NDQKLS0tIGEvV2ViS2l0L2d0ay9DaGFuZ2VMb2cK
KysrIGIvV2ViS2l0L2d0ay9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAwOS0xMi0yOSAg
Tmd1eeG7hW4gVGjDoWkgTmfhu41jIER1eSAgPHBjbG91ZHNAZ21haWwuY29tPgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFtHVEtdIEhhbmRsZSBtdWx0
aXBsZSBjb21taXQgYW5kIHByZWVkaXQtY2hhbmdlZC4KKwlDbGVhciBwcmVlZGl0IGRhdGEgb24g
bm9uLXRleHQga2V5c3Ryb2tlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MzAzODkKKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0VkaXRvckNsaWVu
dEd0ay5jcHA6CisgICAgICAgIChXZWJLaXQ6OmltQ29udGV4dENvbW1pdHRlZCk6CisgICAgICAg
IChXZWJLaXQ6OkVkaXRvckNsaWVudDo6aGFuZGxlS2V5Ym9hcmRFdmVudCk6CisKIDIwMDktMTIt
MjMgIEd1c3Rhdm8gTm9yb25oYSBTaWx2YSAgPGd1c3Rhdm8ubm9yb25oYUBjb2xsYWJvcmEuY28u
dWs+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCmRpZmYgLS1naXQgYS9X
ZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0VkaXRvckNsaWVudEd0ay5jcHAgYi9XZWJLaXQvZ3Rr
L1dlYkNvcmVTdXBwb3J0L0VkaXRvckNsaWVudEd0ay5jcHAKaW5kZXggOTlkMDgyOS4uNWI3N2U2
OCAxMDA2NDQKLS0tIGEvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9FZGl0b3JDbGllbnRHdGsu
Y3BwCisrKyBiL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRWRpdG9yQ2xpZW50R3RrLmNwcApA
QCAtNzQsNyArNzQsMTAgQEAgc3RhdGljIHZvaWQgaW1Db250ZXh0Q29tbWl0dGVkKEd0a0lNQ29u
dGV4dCogY29udGV4dCwgY29uc3QgZ2NoYXIqIHN0ciwgRWRpdG9yQ2wKICAgICAvLyBUaGlzIHNp
Z25hbCB3aWxsIGZpcmUgZHVyaW5nIGEga2V5ZG93biBldmVudC4gV2Ugd2FudCB0aGUgY29udGVu
dHMgb2YgdGhlCiAgICAgLy8gZmllbGQgdG8gY2hhbmdlIHJpZ2h0IGJlZm9yZSB0aGUga2V5dXAg
ZXZlbnQsIHNvIHdlIHdhaXQgdW50aWwgdGhlbiB0byBhY3R1YWxseQogICAgIC8vIGNvbW1pdCB0
aGlzIGNvbXBvc2l0aW9uLgotICAgIHNldFBlbmRpbmdDb21wb3NpdGlvbihnX3N0cmR1cChzdHIp
KTsKKyAgICBpZiAocGVuZGluZ0NvbXBvc2l0aW9uKQorCXNldFBlbmRpbmdDb21wb3NpdGlvbihn
X3N0cmNvbmNhdChwZW5kaW5nQ29tcG9zaXRpb24sIHN0ciwgTlVMTCkpOworICAgIGVsc2UKKwlz
ZXRQZW5kaW5nQ29tcG9zaXRpb24oZ19zdHJkdXAoc3RyKSk7CiB9CiAKIHN0YXRpYyB2b2lkIGlt
Q29udGV4dFByZWVkaXRDaGFuZ2VkKEd0a0lNQ29udGV4dCogY29udGV4dCwgRWRpdG9yQ2xpZW50
KiBjbGllbnQpCkBAIC01MDAsOCArNTAzLDEwIEBAIHZvaWQgRWRpdG9yQ2xpZW50OjpoYW5kbGVL
ZXlib2FyZEV2ZW50KEtleWJvYXJkRXZlbnQqIGV2ZW50KQogICAgICAgICAgICAgaWYgKCFjb21t
YW5kLmlzVGV4dEluc2VydGlvbigpICYmIGNvbW1hbmQuZXhlY3V0ZShldmVudCkpCiAgICAgICAg
ICAgICAgICAgZXZlbnQtPnNldERlZmF1bHRIYW5kbGVkKCk7CiAKKyAgICAgICAgICAgIGNsZWFy
UGVuZGluZ0lNRGF0YSgpOwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9IGVsc2UgaWYg
KGNvbW1hbmQuZXhlY3V0ZShldmVudCkpIHsKKyAgICAgICAgICAgIGNsZWFyUGVuZGluZ0lNRGF0
YSgpOwogICAgICAgICAgICAgZXZlbnQtPnNldERlZmF1bHRIYW5kbGVkKCk7CiAgICAgICAgICAg
ICByZXR1cm47CiAgICAgICAgIH0KQEAgLTUxMiwyMiArNTE3LDIxIEBAIHZvaWQgRWRpdG9yQ2xp
ZW50OjpoYW5kbGVLZXlib2FyZEV2ZW50KEtleWJvYXJkRXZlbnQqIGV2ZW50KQogICAgIC8vIGJl
IHJlZmxlY3RlZCBpbiB0aGUgY29udGVudHMgb2YgdGhlIGZpZWxkIHVudGlsIHRoZSBrZXl1cCBE
T00gZXZlbnQuCiAgICAgaWYgKGV2ZW50LT50eXBlKCkgPT0gZXZlbnROYW1lcygpLmtleXByZXNz
RXZlbnQpIHsKIAotICAgICAgICBpZiAocGVuZGluZ0NvbXBvc2l0aW9uKSB7Ci0gICAgICAgICAg
ICBTdHJpbmcgY29tcG9zaXRpb25TdHJpbmcgPSBTdHJpbmc6OmZyb21VVEY4KHBlbmRpbmdDb21w
b3NpdGlvbik7Ci0gICAgICAgICAgICBmcmFtZS0+ZWRpdG9yKCktPmNvbmZpcm1Db21wb3NpdGlv
bihjb21wb3NpdGlvblN0cmluZyk7Ci0KLSAgICAgICAgICAgIGNsZWFyUGVuZGluZ0lNRGF0YSgp
OwotICAgICAgICAgICAgZXZlbnQtPnNldERlZmF1bHRIYW5kbGVkKCk7Ci0KLSAgICAgICAgfSBl
bHNlIGlmIChwZW5kaW5nUHJlZWRpdCkgewotICAgICAgICAgICAgU3RyaW5nIHByZWVkaXRTdHJp
bmcgPSBTdHJpbmc6OmZyb21VVEY4KHBlbmRpbmdQcmVlZGl0KTsKLQotICAgICAgICAgICAgLy8g
RG9uJ3QgdXNlIGFuIGVtcHR5IHByZWVkaXQgYXMgaXQgd2lsbCBkZXN0cm95IHRoZSBjdXJyZW50
Ci0gICAgICAgICAgICAvLyBzZWxlY3Rpb24sIGV2ZW4gaWYgdGhlIGNvbXBvc2l0aW9uIGlzIGNh
bmNlbGxlZCBvciBmYWlscyBsYXRlciBvbi4KLSAgICAgICAgICAgIGlmICghcHJlZWRpdFN0cmlu
Zy5pc0VtcHR5KCkpIHsKLSAgICAgICAgICAgICAgICBWZWN0b3I8Q29tcG9zaXRpb25VbmRlcmxp
bmU+IHVuZGVybGluZXM7Ci0gICAgICAgICAgICAgICAgdW5kZXJsaW5lcy5hcHBlbmQoQ29tcG9z
aXRpb25VbmRlcmxpbmUoMCwgcHJlZWRpdFN0cmluZy5sZW5ndGgoKSwgQ29sb3IoMCwgMCwgMCks
IGZhbHNlKSk7Ci0gICAgICAgICAgICAgICAgZnJhbWUtPmVkaXRvcigpLT5zZXRDb21wb3NpdGlv
bihwcmVlZGl0U3RyaW5nLCB1bmRlcmxpbmVzLCAwLCAwKTsKKwlpZiAocGVuZGluZ0NvbXBvc2l0
aW9uIHx8IHBlbmRpbmdQcmVlZGl0KSB7CisgICAgICAgICAgICBpZiAocGVuZGluZ0NvbXBvc2l0
aW9uKSB7CisgICAgICAgICAgICAgICAgU3RyaW5nIGNvbXBvc2l0aW9uU3RyaW5nID0gU3RyaW5n
Ojpmcm9tVVRGOChwZW5kaW5nQ29tcG9zaXRpb24pOworICAgICAgICAgICAgICAgIGZyYW1lLT5l
ZGl0b3IoKS0+Y29uZmlybUNvbXBvc2l0aW9uKGNvbXBvc2l0aW9uU3RyaW5nKTsKKyAgICAgICAg
ICAgIH0KKyAgICAgICAgICAgIGlmIChwZW5kaW5nUHJlZWRpdCkgeworICAgICAgICAgICAgICAg
IFN0cmluZyBwcmVlZGl0U3RyaW5nID0gU3RyaW5nOjpmcm9tVVRGOChwZW5kaW5nUHJlZWRpdCk7
CisKKyAgICAgICAgICAgICAgICAvLyBEb24ndCB1c2UgYW4gZW1wdHkgcHJlZWRpdCBhcyBpdCB3
aWxsIGRlc3Ryb3kgdGhlIGN1cnJlbnQKKyAgICAgICAgICAgICAgICAvLyBzZWxlY3Rpb24sIGV2
ZW4gaWYgdGhlIGNvbXBvc2l0aW9uIGlzIGNhbmNlbGxlZCBvciBmYWlscyBsYXRlciBvbi4KKyAg
ICAgICAgICAgICAgICBpZiAoIXByZWVkaXRTdHJpbmcuaXNFbXB0eSgpKSB7CisgICAgICAgICAg
ICAgICAgICAgIFZlY3RvcjxDb21wb3NpdGlvblVuZGVybGluZT4gdW5kZXJsaW5lczsKKyAgICAg
ICAgICAgICAgICAgICAgdW5kZXJsaW5lcy5hcHBlbmQoQ29tcG9zaXRpb25VbmRlcmxpbmUoMCwg
cHJlZWRpdFN0cmluZy5sZW5ndGgoKSwgQ29sb3IoMCwgMCwgMCksIGZhbHNlKSk7CisgICAgICAg
ICAgICAgICAgICAgIGZyYW1lLT5lZGl0b3IoKS0+c2V0Q29tcG9zaXRpb24ocHJlZWRpdFN0cmlu
ZywgdW5kZXJsaW5lcywgMCwgMCk7CisgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgfQog
CiAgICAgICAgICAgICBjbGVhclBlbmRpbmdJTURhdGEoKTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>45633</attachid>
            <date>2009-12-29 20:13:57 -0800</date>
            <delta_ts>2010-02-11 14:03:56 -0800</delta_ts>
            <desc>gtkim.patch</desc>
            <filename>gtkim.patch</filename>
            <type>text/plain</type>
            <size>3891</size>
            <attacher name="Duy Nguyen">pclouds</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdC9ndGsvQ2hhbmdlTG9nIGIvV2ViS2l0L2d0ay9DaGFuZ2VMb2cK
aW5kZXggNjQ2Yzg1My4uNzk3YzU0YyAxMDA2NDQKLS0tIGEvV2ViS2l0L2d0ay9DaGFuZ2VMb2cK
KysrIGIvV2ViS2l0L2d0ay9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAwOS0xMi0yOSAg
Tmd1eeG7hW4gVGjDoWkgTmfhu41jIER1eSAgPHBjbG91ZHNAZ21haWwuY29tPgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFtHVEtdIEhhbmRsZSBtdWx0
aXBsZSBjb21taXQgYW5kIHByZWVkaXQtY2hhbmdlZCBzaWduYWxzLgorICAgICAgICBDbGVhciBw
cmVlZGl0IGRhdGEgb24gbm9uLXRleHQga2V5c3Ryb2tlcworICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzAzODkKKworICAgICAgICAqIFdlYkNvcmVTdXBw
b3J0L0VkaXRvckNsaWVudEd0ay5jcHA6CisgICAgICAgIChXZWJLaXQ6OmltQ29udGV4dENvbW1p
dHRlZCk6CisgICAgICAgIChXZWJLaXQ6OkVkaXRvckNsaWVudDo6aGFuZGxlS2V5Ym9hcmRFdmVu
dCk6CisKIDIwMDktMTItMjMgIEd1c3Rhdm8gTm9yb25oYSBTaWx2YSAgPGd1c3Rhdm8ubm9yb25o
YUBjb2xsYWJvcmEuY28udWs+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CmRpZmYgLS1naXQgYS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0VkaXRvckNsaWVudEd0ay5j
cHAgYi9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0VkaXRvckNsaWVudEd0ay5jcHAKaW5kZXgg
OTlkMDgyOS4uNmJlMWFhZCAxMDA2NDQKLS0tIGEvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9F
ZGl0b3JDbGllbnRHdGsuY3BwCisrKyBiL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRWRpdG9y
Q2xpZW50R3RrLmNwcApAQCAtNzQsNyArNzQsMTAgQEAgc3RhdGljIHZvaWQgaW1Db250ZXh0Q29t
bWl0dGVkKEd0a0lNQ29udGV4dCogY29udGV4dCwgY29uc3QgZ2NoYXIqIHN0ciwgRWRpdG9yQ2wK
ICAgICAvLyBUaGlzIHNpZ25hbCB3aWxsIGZpcmUgZHVyaW5nIGEga2V5ZG93biBldmVudC4gV2Ug
d2FudCB0aGUgY29udGVudHMgb2YgdGhlCiAgICAgLy8gZmllbGQgdG8gY2hhbmdlIHJpZ2h0IGJl
Zm9yZSB0aGUga2V5dXAgZXZlbnQsIHNvIHdlIHdhaXQgdW50aWwgdGhlbiB0byBhY3R1YWxseQog
ICAgIC8vIGNvbW1pdCB0aGlzIGNvbXBvc2l0aW9uLgotICAgIHNldFBlbmRpbmdDb21wb3NpdGlv
bihnX3N0cmR1cChzdHIpKTsKKyAgICBpZiAocGVuZGluZ0NvbXBvc2l0aW9uKQorICAgICAgICBz
ZXRQZW5kaW5nQ29tcG9zaXRpb24oZ19zdHJjb25jYXQocGVuZGluZ0NvbXBvc2l0aW9uLCBzdHIs
IE5VTEwpKTsKKyAgICBlbHNlCisgICAgICAgIHNldFBlbmRpbmdDb21wb3NpdGlvbihnX3N0cmR1
cChzdHIpKTsKIH0KIAogc3RhdGljIHZvaWQgaW1Db250ZXh0UHJlZWRpdENoYW5nZWQoR3RrSU1D
b250ZXh0KiBjb250ZXh0LCBFZGl0b3JDbGllbnQqIGNsaWVudCkKQEAgLTUwMCw4ICs1MDMsMTAg
QEAgdm9pZCBFZGl0b3JDbGllbnQ6OmhhbmRsZUtleWJvYXJkRXZlbnQoS2V5Ym9hcmRFdmVudCog
ZXZlbnQpCiAgICAgICAgICAgICBpZiAoIWNvbW1hbmQuaXNUZXh0SW5zZXJ0aW9uKCkgJiYgY29t
bWFuZC5leGVjdXRlKGV2ZW50KSkKICAgICAgICAgICAgICAgICBldmVudC0+c2V0RGVmYXVsdEhh
bmRsZWQoKTsKIAorICAgICAgICAgICAgY2xlYXJQZW5kaW5nSU1EYXRhKCk7CiAgICAgICAgICAg
ICByZXR1cm47CiAgICAgICAgIH0gZWxzZSBpZiAoY29tbWFuZC5leGVjdXRlKGV2ZW50KSkgewor
ICAgICAgICAgICAgY2xlYXJQZW5kaW5nSU1EYXRhKCk7CiAgICAgICAgICAgICBldmVudC0+c2V0
RGVmYXVsdEhhbmRsZWQoKTsKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQpAQCAtNTEy
LDIyICs1MTcsMjEgQEAgdm9pZCBFZGl0b3JDbGllbnQ6OmhhbmRsZUtleWJvYXJkRXZlbnQoS2V5
Ym9hcmRFdmVudCogZXZlbnQpCiAgICAgLy8gYmUgcmVmbGVjdGVkIGluIHRoZSBjb250ZW50cyBv
ZiB0aGUgZmllbGQgdW50aWwgdGhlIGtleXVwIERPTSBldmVudC4KICAgICBpZiAoZXZlbnQtPnR5
cGUoKSA9PSBldmVudE5hbWVzKCkua2V5cHJlc3NFdmVudCkgewogCi0gICAgICAgIGlmIChwZW5k
aW5nQ29tcG9zaXRpb24pIHsKLSAgICAgICAgICAgIFN0cmluZyBjb21wb3NpdGlvblN0cmluZyA9
IFN0cmluZzo6ZnJvbVVURjgocGVuZGluZ0NvbXBvc2l0aW9uKTsKLSAgICAgICAgICAgIGZyYW1l
LT5lZGl0b3IoKS0+Y29uZmlybUNvbXBvc2l0aW9uKGNvbXBvc2l0aW9uU3RyaW5nKTsKLQotICAg
ICAgICAgICAgY2xlYXJQZW5kaW5nSU1EYXRhKCk7Ci0gICAgICAgICAgICBldmVudC0+c2V0RGVm
YXVsdEhhbmRsZWQoKTsKLQotICAgICAgICB9IGVsc2UgaWYgKHBlbmRpbmdQcmVlZGl0KSB7Ci0g
ICAgICAgICAgICBTdHJpbmcgcHJlZWRpdFN0cmluZyA9IFN0cmluZzo6ZnJvbVVURjgocGVuZGlu
Z1ByZWVkaXQpOwotCi0gICAgICAgICAgICAvLyBEb24ndCB1c2UgYW4gZW1wdHkgcHJlZWRpdCBh
cyBpdCB3aWxsIGRlc3Ryb3kgdGhlIGN1cnJlbnQKLSAgICAgICAgICAgIC8vIHNlbGVjdGlvbiwg
ZXZlbiBpZiB0aGUgY29tcG9zaXRpb24gaXMgY2FuY2VsbGVkIG9yIGZhaWxzIGxhdGVyIG9uLgot
ICAgICAgICAgICAgaWYgKCFwcmVlZGl0U3RyaW5nLmlzRW1wdHkoKSkgewotICAgICAgICAgICAg
ICAgIFZlY3RvcjxDb21wb3NpdGlvblVuZGVybGluZT4gdW5kZXJsaW5lczsKLSAgICAgICAgICAg
ICAgICB1bmRlcmxpbmVzLmFwcGVuZChDb21wb3NpdGlvblVuZGVybGluZSgwLCBwcmVlZGl0U3Ry
aW5nLmxlbmd0aCgpLCBDb2xvcigwLCAwLCAwKSwgZmFsc2UpKTsKLSAgICAgICAgICAgICAgICBm
cmFtZS0+ZWRpdG9yKCktPnNldENvbXBvc2l0aW9uKHByZWVkaXRTdHJpbmcsIHVuZGVybGluZXMs
IDAsIDApOworICAgICAgICBpZiAocGVuZGluZ0NvbXBvc2l0aW9uIHx8IHBlbmRpbmdQcmVlZGl0
KSB7CisgICAgICAgICAgICBpZiAocGVuZGluZ0NvbXBvc2l0aW9uKSB7CisgICAgICAgICAgICAg
ICAgU3RyaW5nIGNvbXBvc2l0aW9uU3RyaW5nID0gU3RyaW5nOjpmcm9tVVRGOChwZW5kaW5nQ29t
cG9zaXRpb24pOworICAgICAgICAgICAgICAgIGZyYW1lLT5lZGl0b3IoKS0+Y29uZmlybUNvbXBv
c2l0aW9uKGNvbXBvc2l0aW9uU3RyaW5nKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGlm
IChwZW5kaW5nUHJlZWRpdCkgeworICAgICAgICAgICAgICAgIFN0cmluZyBwcmVlZGl0U3RyaW5n
ID0gU3RyaW5nOjpmcm9tVVRGOChwZW5kaW5nUHJlZWRpdCk7CisKKyAgICAgICAgICAgICAgICAv
LyBEb24ndCB1c2UgYW4gZW1wdHkgcHJlZWRpdCBhcyBpdCB3aWxsIGRlc3Ryb3kgdGhlIGN1cnJl
bnQKKyAgICAgICAgICAgICAgICAvLyBzZWxlY3Rpb24sIGV2ZW4gaWYgdGhlIGNvbXBvc2l0aW9u
IGlzIGNhbmNlbGxlZCBvciBmYWlscyBsYXRlciBvbi4KKyAgICAgICAgICAgICAgICBpZiAoIXBy
ZWVkaXRTdHJpbmcuaXNFbXB0eSgpKSB7CisgICAgICAgICAgICAgICAgICAgIFZlY3RvcjxDb21w
b3NpdGlvblVuZGVybGluZT4gdW5kZXJsaW5lczsKKyAgICAgICAgICAgICAgICAgICAgdW5kZXJs
aW5lcy5hcHBlbmQoQ29tcG9zaXRpb25VbmRlcmxpbmUoMCwgcHJlZWRpdFN0cmluZy5sZW5ndGgo
KSwgQ29sb3IoMCwgMCwgMCksIGZhbHNlKSk7CisgICAgICAgICAgICAgICAgICAgIGZyYW1lLT5l
ZGl0b3IoKS0+c2V0Q29tcG9zaXRpb24ocHJlZWRpdFN0cmluZywgdW5kZXJsaW5lcywgMCwgMCk7
CisgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgfQogCiAgICAgICAgICAgICBjbGVhclBl
bmRpbmdJTURhdGEoKTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>