<?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>35144</bug_id>
          
          <creation_ts>2010-02-19 03:52:43 -0800</creation_ts>
          <short_desc>[GTK][Qt] plugins/set-status.html introduced in r54993 fails</short_desc>
          <delta_ts>2010-05-09 02:18:54 -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>WebKitGTK</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>CLOSED</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="Philippe Normand">pnormand</reporter>
          <assigned_to name="Robert Hogan">robert</assigned_to>
          <cc>abecsi</cc>
    
    <cc>ap</cc>
    
    <cc>eric</cc>
    
    <cc>kenneth</cc>
    
    <cc>kent.hansen</cc>
    
    <cc>mitz</cc>
    
    <cc>ossy</cc>
    
    <cc>robert</cc>
    
    <cc>vestbo</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>191861</commentid>
    <comment_count>0</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2010-02-19 03:52:43 -0800</bug_when>
    <thetext>http://build.webkit.org/results/GTK%20Linux%2032-bit%20Debug/r55007%20%283318%29/plugins/set-status-pretty-diff.html

Direct DRT output seems to be fine:

UI DELEGATE STATUS CALLBACK: setStatusText:PÐSS

But the expected.txt file is wrong nonetheless:

UI DELEGATE STATUS CALLBACK: setStatusText:PÃÂSS</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>191899</commentid>
    <comment_count>1</comment_count>
    <who name="Andras Becsi">abecsi</who>
    <bug_when>2010-02-19 06:41:19 -0800</bug_when>
    <thetext>This test fails on the Qt bot and the Windows bot seems to have the problem too. The Qt port dumps the UI DELEGATE STATUS CALLBACK: setStatusText: twice and there seems to be an encoding problem too.

http://build.webkit.org/results/Qt%20Linux%20Release/r55012%20%287584%29/plugins/set-status-pretty-diff.html

http://build.webkit.org/results/Windows%20Release%20%28Tests%29/r55012%20%289239%29/plugins/set-status-pretty-diff.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>191933</commentid>
    <comment_count>2</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2010-02-19 09:06:18 -0800</bug_when>
    <thetext>Trying to set status for null message may or may not be a bug - I&apos;ve just followed what Mac in-process code did. The Unicode differences on Qt/Gtk are clearly a bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>191962</commentid>
    <comment_count>3</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2010-02-19 10:28:50 -0800</bug_when>
    <thetext>Filed bug 35165 for the Windows failure. I think that Mac behavior should change here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>198098</commentid>
    <comment_count>4</comment_count>
    <who name="Tor Arne Vestbø">vestbo</who>
    <bug_when>2010-03-10 06:41:59 -0800</bug_when>
    <thetext>
Please follow the QtWebKit bug reporting guidelines when reporting bugs.

See http://trac.webkit.org/wiki/QtWebKitBugs

Specifically:

  - The &apos;QtWebKit&apos; component should only be used for bugs/features in the
    public QtWebKit API layer, not to signify that the bug is specific to
    the Qt port of WebKit

      http://trac.webkit.org/wiki/QtWebKitBugs#Component

  - Add the keyword &apos;Qt&apos; to signal that it&apos;s a Qt-related bug

      http://trac.webkit.org/wiki/QtWebKitBugs#Keywords</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>220234</commentid>
    <comment_count>5</comment_count>
      <attachid>54951</attachid>
    <who name="Robert Hogan">robert</who>
    <bug_when>2010-05-03 12:15:40 -0700</bug_when>
    <thetext>Created attachment 54951
Patch

This fixes it - the QString is already UTF-8 encoded so it was converting \xD090 to \xC390\xC290. \C390 is the D with a pair of horizontal bars through it.

I&apos;m not sure if this is to be expected or if I&apos;m just working around a bug in QString::toUtf8().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>220241</commentid>
    <comment_count>6</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2010-05-03 12:29:30 -0700</bug_when>
    <thetext>The fix doesn&apos;t look right to me - the QString should not be encoded, it&apos;s supposed to be UTF-16 inside.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>220748</commentid>
    <comment_count>7</comment_count>
    <who name="Robert Hogan">robert</who>
    <bug_when>2010-05-04 13:48:56 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; The fix doesn&apos;t look right to me - the QString should not be encoded, it&apos;s
&gt; supposed to be UTF-16 inside.

I&apos;m probably way off, but is the problem in JavasciptCore/wtf/qt/StringQt.cpp then? Should it detect if the String it is casting is already UTF-8 encoded, as in the case of this test?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>220770</commentid>
    <comment_count>8</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2010-05-04 14:12:36 -0700</bug_when>
    <thetext>String code shouldn&apos;t look inside strings passed to constructor to determine their encoding.

I don&apos;t know where exactly the bug is, but some code clearly has a wrong assumption about buffer content, and uses a wrong encoding to construct String or QString. This can be in NPAPI or in DumpRenderTree bindings.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>220771</commentid>
    <comment_count>9</comment_count>
      <attachid>54951</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2010-05-04 14:13:36 -0700</bug_when>
    <thetext>Comment on attachment 54951
Patch

Marking r- to get this out of review queue. I hoped that a reviewer more knowledgeable about Qt would chime in, but this hasn&apos;t happened yet.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>221206</commentid>
    <comment_count>10</comment_count>
    <who name="Robert Hogan">robert</who>
    <bug_when>2010-05-05 11:32:00 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; The fix doesn&apos;t look right to me - the QString should not be encoded, it&apos;s
&gt; supposed to be UTF-16 inside.

This is the call chain as I understand it.

The string passed from the test plugin does appear to be UTF-8:

static bool testSetStatus(PluginObject* obj, const NPVariant* args, uint32_t argCount, NPVariant* result)
{
    char* message = 0;
    if (argCount &amp;&amp; NPVARIANT_IS_STRING(args[0])) {
        NPString statusString = NPVARIANT_TO_STRING(args[0]);
        message = toCString(statusString);
    
    browser-&gt;status(obj-&gt;npp, message);
}

static char* toCString(const NPString&amp; string)
{
    char* result = static_cast&lt;char*&gt;(malloc(string.UTF8Length + 1));
    memcpy(result, string.UTF8Characters, string.UTF8Length);
    result[string.UTF8Length] = &apos;\0&apos;;

    return result;
}

PluginView casts it to a String:

void PluginView::status(const char* message)
{
    if (Page* page = m_parentFrame-&gt;page())
        page-&gt;chrome()-&gt;setStatusbarText(m_parentFrame.get(), String(message));
}

As far as I can tell, displayStringModifiedByEncoding() isn&apos;t doing anything noteworthy to the string, unless it contains backslashes. 

void Chrome::setStatusbarText(Frame* frame, const String&amp; status)
{
    ASSERT(frame);
    m_client-&gt;setStatusbarText(frame-&gt;displayStringModifiedByEncoding(status));
}

ChromeClientQt casts it to a QString:

void ChromeClientQt::setStatusbarText(const String&amp; msg)
{
    QString x = msg;
    emit m_webPage-&gt;statusBarMessage(msg);
}

So there&apos;s no conversion to UTF-16 along the way here unless that it is implicit in one of the casts. That leads me to think that doing :


    printf(&quot;UI DELEGATE STATUS CALLBACK: setStatusText:%s\n&quot;, message.toUtf8().constData());

in DumpRenderTreeQt is converting UTF-8 to UTF-8 a second time, which is why we get &apos;ÃÂ&apos;, which as far as I can tell is an attempt to UTF-8 encode &apos;Ð&apos;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>221210</commentid>
    <comment_count>11</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2010-05-05 11:41:34 -0700</bug_when>
    <thetext>&gt; void PluginView::status(const char* message)
&gt; {
&gt;   if (Page* page = m_parentFrame-&gt;page())
&gt;       page-&gt;chrome()-&gt;setStatusbarText(m_parentFrame.get(), String(message));
&gt;}

This is wrong, and should use String::fromUTF8(). The String constructor treats its char* input as latin-1.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>221227</commentid>
    <comment_count>12</comment_count>
    <who name="Robert Hogan">robert</who>
    <bug_when>2010-05-05 12:26:47 -0700</bug_when>
    <thetext>(In reply to comment #11)
&gt; &gt; void PluginView::status(const char* message)
&gt; &gt; {
&gt; &gt;   if (Page* page = m_parentFrame-&gt;page())
&gt; &gt;       page-&gt;chrome()-&gt;setStatusbarText(m_parentFrame.get(), String(message));
&gt; &gt;}
&gt; 
&gt; This is wrong, and should use String::fromUTF8(). The String constructor treats
&gt; its char* input as latin-1.

Excellent, thanks Alexey!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>221241</commentid>
    <comment_count>13</comment_count>
      <attachid>55145</attachid>
    <who name="Robert Hogan">robert</who>
    <bug_when>2010-05-05 12:59:58 -0700</bug_when>
    <thetext>Created attachment 55145
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>221242</commentid>
    <comment_count>14</comment_count>
      <attachid>55146</attachid>
    <who name="Robert Hogan">robert</who>
    <bug_when>2010-05-05 13:01:53 -0700</bug_when>
    <thetext>Created attachment 55146
Patch

Whoops.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>221247</commentid>
    <comment_count>15</comment_count>
      <attachid>55146</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2010-05-05 13:17:30 -0700</bug_when>
    <thetext>Comment on attachment 55146
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>221248</commentid>
    <comment_count>16</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2010-05-05 13:18:31 -0700</bug_when>
    <thetext>You might want to test what happens if a plug-in passes invalid UTF-8. String::fromUTF8() will make a null string, which may or may not be a problem downstream.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>222969</commentid>
    <comment_count>17</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-05-08 23:15:16 -0700</bug_when>
    <thetext>Attachment 55146 was posted by a committer and has review+, assigning to Robert Hogan for commit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>223016</commentid>
    <comment_count>18</comment_count>
    <who name="Robert Hogan">robert</who>
    <bug_when>2010-05-09 02:18:43 -0700</bug_when>
    <thetext>Landed in r59016.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>54951</attachid>
            <date>2010-05-03 12:15:40 -0700</date>
            <delta_ts>2010-05-05 12:59:58 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>0001-Qt-Fix-encoding-in-DRT-setStatusMessage.patch</filename>
            <type>text/plain</type>
            <size>3061</size>
            <attacher name="Robert Hogan">robert</attacher>
            
              <data encoding="base64">RnJvbSBhOTU3ZWI4MDllMTY0M2UwNzlkMTk5YTJhMjkwYjNiZjVkOTg1ODg5IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBSb2JlcnQgSG9nYW4gPHJvYmVydEB3ZWJraXQub3JnPgpEYXRl
OiBNb24sIDMgTWF5IDIwMTAgMjA6MDg6MjcgKzAxMDAKU3ViamVjdDogW1BBVENIXSBbUXRdIEZp
eCBlbmNvZGluZyBpbiBEUlQgc2V0U3RhdHVzTWVzc2FnZQoKaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTM1MTQ0Ci0tLQogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDEwICsrKysrKysrKysKIExheW91dFRlc3RzL3Bs
YXRmb3JtL3F0L1NraXBwZWQgICAgICAgICAgICAgICAgICAgIHwgICAgNCAtLS0tCiBXZWJLaXRU
b29scy9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMTEgKysrKysr
KysrKysKIFdlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0R1bXBSZW5kZXJUcmVlUXQuY3Bw
IHwgICAgOSArKysrKysrKy0KIDQgZmlsZXMgY2hhbmdlZCwgMjkgaW5zZXJ0aW9ucygrKSwgNSBk
ZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKaW5kZXggNjBhOWY1Zi4uYzI4N2NjMCAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEz
IEBACisyMDEwLTA1LTAzICBSb2JlcnQgSG9nYW4gIDxyb2JlcnRAd2Via2l0Lm9yZz4KKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBbUXRdIEZpeCBlbmNv
ZGluZyBpbiBEUlQgc2V0U3RhdHVzTWVzc2FnZQorCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zNTE0NAorCisgICAgICAgICogcGxhdGZvcm0vcXQvU2tp
cHBlZDogVW5za2lwIHBsdWdpbnMvc2V0LXN0YXR1cy5odG1sCisKIDIwMTAtMDUtMDMgIFlhYXIg
U2Nobml0bWFuICA8eWFhckBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgTm90IFJldmlld2VkLgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvU2tpcHBlZCBiL0xheW91dFRlc3Rz
L3BsYXRmb3JtL3F0L1NraXBwZWQKaW5kZXggNzg4NDY0MC4uZDhhNjU4ZiAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvU2tpcHBlZAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9xdC9Ta2lwcGVkCkBAIC0zOSwxMCArMzksNiBAQCBodHRwL3Rlc3RzL3BsdWdpbnMvbnBhcGkt
cmVzcG9uc2UtaGVhZGVycy5odG1sCiAjIFNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MzY3MDIKIHBsdWdpbnMvcmVlbnRyYW50LXVwZGF0ZS13aWRnZXQtcG9zaXRp
b25zLmh0bWwKIAotIyBGYWlsaW5nIHRlc3QgaW50cm9kdWNlZCBpbiByNTQ5OTMgKGltcGxlbWVu
dGVkIHNvbWUgc3R1ZmYgaW4gcjU0OTk2KQotIyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MzUxNDQKLXBsdWdpbnMvc2V0LXN0YXR1cy5odG1sCi0KICMgRmFpbGluZyBM
b2NhbCB0ZXN0cwogaHR0cC90ZXN0cy9sb2NhbC9kcmFnLW92ZXItcmVtb3RlLWNvbnRlbnQuaHRt
bAogaHR0cC90ZXN0cy9sb2NhbC9zZW5kLWRyYWdnZWQtZmlsZS5odG1sCmRpZmYgLS1naXQgYS9X
ZWJLaXRUb29scy9DaGFuZ2VMb2cgYi9XZWJLaXRUb29scy9DaGFuZ2VMb2cKaW5kZXggYjNkMjEx
MS4uYmZhZTU4ZiAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCisrKyBiL1dlYktp
dFRvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDEwLTA1LTAzICBSb2JlcnQgSG9n
YW4gIDxyb2JlcnRAd2Via2l0Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBbUXRdIEZpeCBlbmNvZGluZyBpbiBEUlQgc2V0U3RhdHVzTWVzc2Fn
ZQorCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zNTE0
NAorCisgICAgICAgICogRHVtcFJlbmRlclRyZWUvcXQvRHVtcFJlbmRlclRyZWVRdC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpEdW1wUmVuZGVyVHJlZTo6c3RhdHVzQmFyTWVzc2FnZSk6CisKIDIw
MTAtMDUtMDMgIENocmlzIEplcmRvbmVrICA8Y2plcmRvbmVrQHdlYmtpdC5vcmc+CiAKICAgICAg
ICAgUmV2aWV3ZWQgYnkgRGFuaWVsIEJhdGVzLgpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvRHVt
cFJlbmRlclRyZWUvcXQvRHVtcFJlbmRlclRyZWVRdC5jcHAgYi9XZWJLaXRUb29scy9EdW1wUmVu
ZGVyVHJlZS9xdC9EdW1wUmVuZGVyVHJlZVF0LmNwcAppbmRleCAyYzJkYjkyLi4xYmUxNmQzIDEw
MDY0NAotLS0gYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9xdC9EdW1wUmVuZGVyVHJlZVF0
LmNwcAorKysgYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9xdC9EdW1wUmVuZGVyVHJlZVF0
LmNwcApAQCAtODUzLDcgKzg1MywxNCBAQCB2b2lkIER1bXBSZW5kZXJUcmVlOjpzdGF0dXNCYXJN
ZXNzYWdlKGNvbnN0IFFTdHJpbmcmIG1lc3NhZ2UpCiAgICAgaWYgKCFtX2NvbnRyb2xsZXItPnNo
b3VsZER1bXBTdGF0dXNDYWxsYmFja3MoKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgcHJpbnRm
KCJVSSBERUxFR0FURSBTVEFUVVMgQ0FMTEJBQ0s6IHNldFN0YXR1c1RleHQ6JXNcbiIsIG1lc3Nh
Z2UudG9VdGY4KCkuY29uc3REYXRhKCkpOworICAgIFFCeXRlQXJyYXkgbXNnOworICAgIGNvbnN0
IFFDaGFyICpyYXcgPSBtZXNzYWdlLmNvbnN0RGF0YSgpOworICAgIHdoaWxlICghcmF3LT5pc051
bGwoKSkgeworICAgICAgICBtc2cuYXBwZW5kKHJhdy0+dW5pY29kZSgpKTsKKyAgICAgICAgKyty
YXc7CisgICAgfQorCisgICAgcHJpbnRmKCJVSSBERUxFR0FURSBTVEFUVVMgQ0FMTEJBQ0s6IHNl
dFN0YXR1c1RleHQ6JXNcbiIsIG1zZy5jb25zdERhdGEoKSk7CiB9CiAKIFFXZWJQYWdlICpEdW1w
UmVuZGVyVHJlZTo6Y3JlYXRlV2luZG93KCkKLS0gCjEuNi4zLjMKCg==
</data>
<flag name="review"
          id="39031"
          type_id="1"
          status="-"
          setter="ap"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>55145</attachid>
            <date>2010-05-05 12:59:58 -0700</date>
            <delta_ts>2010-05-05 13:01:53 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>0001-Qt-Fix-encoding-of-status-message-in-Plugin-API.patch</filename>
            <type>text/plain</type>
            <size>3148</size>
            <attacher name="Robert Hogan">robert</attacher>
            
              <data encoding="base64">RnJvbSBkMmNkZWRiMTkxNjc1N2U1MDdmOTU4YTM0YzE2MTc2NTlkYmUwYzZjIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBSb2JlcnQgSG9nYW4gPHJvYmVydEB3ZWJraXQub3JnPgpEYXRl
OiBXZWQsIDUgTWF5IDIwMTAgMjA6NTY6MjcgKzAxMDAKU3ViamVjdDogW1BBVENIXSBbUXRdIEZp
eCBlbmNvZGluZyBvZiBzdGF0dXMgbWVzc2FnZSBpbiBQbHVnaW4gQVBJCgpodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzUxNDQKLS0tCiBMYXlvdXRUZXN0cy9DaGFuZ2VM
b2cgICAgICAgICAgIHwgICAxMiArKysrKysrKysrKysKIExheW91dFRlc3RzL3BsYXRmb3JtL3F0
L1NraXBwZWQgfCAgICAzICsrKwogV2ViQ29yZS9DaGFuZ2VMb2cgICAgICAgICAgICAgICB8ICAg
MTMgKysrKysrKysrKysrKwogV2ViQ29yZS9wbHVnaW5zL1BsdWdpblZpZXcuY3BwICB8ICAgIDIg
Ky0KIDQgZmlsZXMgY2hhbmdlZCwgMjkgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbnMoLSkKCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
aW5kZXggNjNhYmVmZi4uYmJkZWYyNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDEwLTA1LTA1
ICBSb2JlcnQgSG9nYW4gIDxyb2JlcnRAd2Via2l0Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBbUXRdIEZpeCBlbmNvZGluZyBvZiBzdGF0dXMg
bWVzc2FnZSBpbiBQbHVnaW4gQVBJCisKKyAgICAgICAgU3BvdHRlZCBieSBBbGV4ZXkgUHJvc2t1
cnlha292LgorCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0zNTE0NAorCisgICAgICAgICogcGxhdGZvcm0vcXQvU2tpcHBlZDogVW5za2lwIHBsdWdpbnMv
c2V0LXN0YXR1cy5odG1sCisKIDIwMTAtMDUtMDUgIEFsZXhleSBQcm9za3VyeWFrb3YgIDxhcEBh
cHBsZS5jb20+CiAKICAgICAgICAgUm9sbCBvdXQgcjU4ODMwIGZvciBicmVha2luZyB0ZXN0cy4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3F0L1NraXBwZWQgYi9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9xdC9Ta2lwcGVkCmluZGV4IDllYzM5MDkuLmRlNzI4MTQgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL3BsYXRmb3JtL3F0L1NraXBwZWQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vcXQvU2tpcHBlZApAQCAtMzUsNiArMzUsNyBAQCBodHRwL3Rlc3RzL2xvYWRpbmcvdGV4dC1j
b250ZW50LXR5cGUtd2l0aC1iaW5hcnktZXh0ZW5zaW9uLmh0bWwKICMgRmFpbGluZyBwbHVnaW5z
IHRlc3RzCiBodHRwL3Rlc3RzL3BsdWdpbnMvbnBhcGktcmVzcG9uc2UtaGVhZGVycy5odG1sCiAK
Kzw8PDw8PDwgVXBkYXRlZCB1cHN0cmVhbTpMYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9Ta2lwcGVk
CiAjIEFkZGVkIGJ5IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zNjY3
NQogIyBTZWUgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM2NzAyCiBw
bHVnaW5zL3JlZW50cmFudC11cGRhdGUtd2lkZ2V0LXBvc2l0aW9ucy5odG1sCkBAIC00Myw2ICs0
NCw4IEBAIHBsdWdpbnMvcmVlbnRyYW50LXVwZGF0ZS13aWRnZXQtcG9zaXRpb25zLmh0bWwKICMg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM1MTQ0CiBwbHVnaW5zL3Nl
dC1zdGF0dXMuaHRtbAogCis9PT09PT09Cis+Pj4+Pj4+IFN0YXNoZWQgY2hhbmdlczpMYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9xdC9Ta2lwcGVkCiAjIEZhaWxpbmcgTG9jYWwgdGVzdHMKIGh0dHAvdGVz
dHMvbG9jYWwvZHJhZy1vdmVyLXJlbW90ZS1jb250ZW50Lmh0bWwKIGh0dHAvdGVzdHMvbG9jYWwv
c2VuZC1kcmFnZ2VkLWZpbGUuaHRtbApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9DaGFuZ2VMb2cgYi9X
ZWJDb3JlL0NoYW5nZUxvZwppbmRleCAzMzM5YTJkLi41NDczZjJlIDEwMDY0NAotLS0gYS9XZWJD
b3JlL0NoYW5nZUxvZworKysgYi9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisy
MDEwLTA1LTA1ICBSb2JlcnQgSG9nYW4gIDxyb2JlcnRAd2Via2l0Lm9yZz4KKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBbUXRdIEZpeCBlbmNvZGluZyBv
ZiBzdGF0dXMgbWVzc2FnZSBpbiBQbHVnaW4gQVBJCisKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM1MTQ0CisKKyAgICAgICAgU3BvdHRlZCBieSBBbGV4
ZXkgUHJvc2t1cnlha292LgorCisgICAgICAgICogcGx1Z2lucy9QbHVnaW5WaWV3LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlBsdWdpblZpZXc6OnN0YXR1cyk6CisKIDIwMTAtMDUtMDUgIEFsZXhl
eSBQcm9za3VyeWFrb3YgIDxhcEBhcHBsZS5jb20+CiAKICAgICAgICAgUm9sbCBvdXQgcjU4ODMw
IGZvciBicmVha2luZyB0ZXN0cy4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGx1Z2lucy9QbHVnaW5W
aWV3LmNwcCBiL1dlYkNvcmUvcGx1Z2lucy9QbHVnaW5WaWV3LmNwcAppbmRleCAzZDg3ZjMxLi5h
NGU0M2I2IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsdWdpbnMvUGx1Z2luVmlldy5jcHAKKysrIGIv
V2ViQ29yZS9wbHVnaW5zL1BsdWdpblZpZXcuY3BwCkBAIC02MjEsNyArNjIxLDcgQEAgTlBFcnJv
ciBQbHVnaW5WaWV3OjpkZXN0cm95U3RyZWFtKE5QU3RyZWFtKiBzdHJlYW0sIE5QUmVhc29uIHJl
YXNvbikKIHZvaWQgUGx1Z2luVmlldzo6c3RhdHVzKGNvbnN0IGNoYXIqIG1lc3NhZ2UpCiB7CiAg
ICAgaWYgKFBhZ2UqIHBhZ2UgPSBtX3BhcmVudEZyYW1lLT5wYWdlKCkpCi0gICAgICAgIHBhZ2Ut
PmNocm9tZSgpLT5zZXRTdGF0dXNiYXJUZXh0KG1fcGFyZW50RnJhbWUuZ2V0KCksIFN0cmluZyht
ZXNzYWdlKSk7CisgICAgICAgIHBhZ2UtPmNocm9tZSgpLT5zZXRTdGF0dXNiYXJUZXh0KG1fcGFy
ZW50RnJhbWUuZ2V0KCksIFN0cmluZzo6ZnJvbVVURjgobWVzc2FnZSkpOwogfQogCiBOUEVycm9y
IFBsdWdpblZpZXc6OnNldFZhbHVlKE5QUFZhcmlhYmxlIHZhcmlhYmxlLCB2b2lkKiB2YWx1ZSkK
LS0gCjEuNi4zLjMKCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>55146</attachid>
            <date>2010-05-05 13:01:53 -0700</date>
            <delta_ts>2010-05-05 13:17:30 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>0001-Qt-Fix-encoding-of-status-message-in-Plugin-API.patch</filename>
            <type>text/plain</type>
            <size>2885</size>
            <attacher name="Robert Hogan">robert</attacher>
            
              <data encoding="base64">RnJvbSBhZDNjODRhZWQxNGI4OTBmYjdhYjFhOTljYzIyMjU2MGYwYjM3MTEwIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBSb2JlcnQgSG9nYW4gPHJvYmVydEB3ZWJraXQub3JnPgpEYXRl
OiBXZWQsIDUgTWF5IDIwMTAgMjA6NTY6MjcgKzAxMDAKU3ViamVjdDogW1BBVENIXSBbUXRdIEZp
eCBlbmNvZGluZyBvZiBzdGF0dXMgbWVzc2FnZSBpbiBQbHVnaW4gQVBJCgpodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzUxNDQKLS0tCiBMYXlvdXRUZXN0cy9DaGFuZ2VM
b2cgICAgICAgICAgIHwgICAxMiArKysrKysrKysrKysKIExheW91dFRlc3RzL3BsYXRmb3JtL3F0
L1NraXBwZWQgfCAgICA0IC0tLS0KIFdlYkNvcmUvQ2hhbmdlTG9nICAgICAgICAgICAgICAgfCAg
IDEzICsrKysrKysrKysrKysKIFdlYkNvcmUvcGx1Z2lucy9QbHVnaW5WaWV3LmNwcCAgfCAgICAy
ICstCiA0IGZpbGVzIGNoYW5nZWQsIDI2IGluc2VydGlvbnMoKyksIDUgZGVsZXRpb25zKC0pCgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CmluZGV4IDYzYWJlZmYuLmJiZGVmMjcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxv
ZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxMC0wNS0w
NSAgUm9iZXJ0IEhvZ2FuICA8cm9iZXJ0QHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgW1F0XSBGaXggZW5jb2Rpbmcgb2Ygc3RhdHVz
IG1lc3NhZ2UgaW4gUGx1Z2luIEFQSQorCisgICAgICAgIFNwb3R0ZWQgYnkgQWxleGV5IFByb3Nr
dXJ5YWtvdi4KKworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MzUxNDQKKworICAgICAgICAqIHBsYXRmb3JtL3F0L1NraXBwZWQ6IFVuc2tpcCBwbHVnaW5z
L3NldC1zdGF0dXMuaHRtbAorCiAyMDEwLTA1LTA1ICBBbGV4ZXkgUHJvc2t1cnlha292ICA8YXBA
YXBwbGUuY29tPgogCiAgICAgICAgIFJvbGwgb3V0IHI1ODgzMCBmb3IgYnJlYWtpbmcgdGVzdHMu
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9Ta2lwcGVkIGIvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vcXQvU2tpcHBlZAppbmRleCA5ZWMzOTA5Li5iNThmM2MzIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9Ta2lwcGVkCisrKyBiL0xheW91dFRlc3RzL3BsYXRm
b3JtL3F0L1NraXBwZWQKQEAgLTM5LDEwICszOSw2IEBAIGh0dHAvdGVzdHMvcGx1Z2lucy9ucGFw
aS1yZXNwb25zZS1oZWFkZXJzLmh0bWwKICMgU2VlIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0zNjcwMgogcGx1Z2lucy9yZWVudHJhbnQtdXBkYXRlLXdpZGdldC1wb3Np
dGlvbnMuaHRtbAogCi0jIEZhaWxpbmcgdGVzdCBpbnRyb2R1Y2VkIGluIHI1NDk5MyAoaW1wbGVt
ZW50ZWQgc29tZSBzdHVmZiBpbiByNTQ5OTYpCi0jIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0zNTE0NAotcGx1Z2lucy9zZXQtc3RhdHVzLmh0bWwKLQogIyBGYWlsaW5n
IExvY2FsIHRlc3RzCiBodHRwL3Rlc3RzL2xvY2FsL2RyYWctb3Zlci1yZW1vdGUtY29udGVudC5o
dG1sCiBodHRwL3Rlc3RzL2xvY2FsL3NlbmQtZHJhZ2dlZC1maWxlLmh0bWwKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzMzOWEyZC4uNTQ3
M2YyZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2ViQ29yZS9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwxNiBAQAorMjAxMC0wNS0wNSAgUm9iZXJ0IEhvZ2FuICA8cm9iZXJ0QHdl
YmtpdC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgW1F0XSBGaXggZW5jb2Rpbmcgb2Ygc3RhdHVzIG1lc3NhZ2UgaW4gUGx1Z2luIEFQSQorCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zNTE0NAorCisg
ICAgICAgIFNwb3R0ZWQgYnkgQWxleGV5IFByb3NrdXJ5YWtvdi4KKworICAgICAgICAqIHBsdWdp
bnMvUGx1Z2luVmlldy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQbHVnaW5WaWV3OjpzdGF0dXMp
OgorCiAyMDEwLTA1LTA1ICBBbGV4ZXkgUHJvc2t1cnlha292ICA8YXBAYXBwbGUuY29tPgogCiAg
ICAgICAgIFJvbGwgb3V0IHI1ODgzMCBmb3IgYnJlYWtpbmcgdGVzdHMuCmRpZmYgLS1naXQgYS9X
ZWJDb3JlL3BsdWdpbnMvUGx1Z2luVmlldy5jcHAgYi9XZWJDb3JlL3BsdWdpbnMvUGx1Z2luVmll
dy5jcHAKaW5kZXggM2Q4N2YzMS4uYTRlNDNiNiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbHVnaW5z
L1BsdWdpblZpZXcuY3BwCisrKyBiL1dlYkNvcmUvcGx1Z2lucy9QbHVnaW5WaWV3LmNwcApAQCAt
NjIxLDcgKzYyMSw3IEBAIE5QRXJyb3IgUGx1Z2luVmlldzo6ZGVzdHJveVN0cmVhbShOUFN0cmVh
bSogc3RyZWFtLCBOUFJlYXNvbiByZWFzb24pCiB2b2lkIFBsdWdpblZpZXc6OnN0YXR1cyhjb25z
dCBjaGFyKiBtZXNzYWdlKQogewogICAgIGlmIChQYWdlKiBwYWdlID0gbV9wYXJlbnRGcmFtZS0+
cGFnZSgpKQotICAgICAgICBwYWdlLT5jaHJvbWUoKS0+c2V0U3RhdHVzYmFyVGV4dChtX3BhcmVu
dEZyYW1lLmdldCgpLCBTdHJpbmcobWVzc2FnZSkpOworICAgICAgICBwYWdlLT5jaHJvbWUoKS0+
c2V0U3RhdHVzYmFyVGV4dChtX3BhcmVudEZyYW1lLmdldCgpLCBTdHJpbmc6OmZyb21VVEY4KG1l
c3NhZ2UpKTsKIH0KIAogTlBFcnJvciBQbHVnaW5WaWV3OjpzZXRWYWx1ZShOUFBWYXJpYWJsZSB2
YXJpYWJsZSwgdm9pZCogdmFsdWUpCi0tIAoxLjYuMy4zCgo=
</data>
<flag name="review"
          id="39259"
          type_id="1"
          status="+"
          setter="ap"
    />
          </attachment>
      

    </bug>

</bugzilla>