<?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>31144</bug_id>
          
          <creation_ts>2009-11-04 15:14:22 -0800</creation_ts>
          <short_desc>[Qt] The XML tokenizer reports a parse error twice if it occurs before the document element is found.</short_desc>
          <delta_ts>2009-11-08 23:35:11 -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>XML</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</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></keywords>
          <priority>P3</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Jakub Wieczorek">jwieczorek</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>zecke</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>160627</commentid>
    <comment_count>0</comment_count>
      <attachid>42528</attachid>
    <who name="Jakub Wieczorek">jwieczorek</who>
    <bug_when>2009-11-04 15:14:22 -0800</bug_when>
    <thetext>Created attachment 42528
test case

Attached is a test case that demonstrates the problem.

The root of the problem seems to be r27045: http://trac.webkit.org/changeset/27045.

I&apos;m wondering why the logic in question was necessary? Is it expected that XMLTokenizer should report a failure when parsing an empty document? Or was the patch addressing some other issue?

Nevertheless, it doesn&apos;t work correctly when the tokenizer hits a parse error before the root element is processed. Such an error would be handled in ::parse() and that logic in ::doEnd() would catch the same error and report it for the second time.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>160632</commentid>
    <comment_count>1</comment_count>
      <attachid>42530</attachid>
    <who name="Jakub Wieczorek">jwieczorek</who>
    <bug_when>2009-11-04 15:25:54 -0800</bug_when>
    <thetext>Created attachment 42530
proposed patch

Along with the fix, I added a manual test.

I&apos;m not sure how to write a layout test that would not depend on the locale? (the error messages provided by QXmlStream are localized)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>160656</commentid>
    <comment_count>2</comment_count>
    <who name="Holger Freyther">zecke</who>
    <bug_when>2009-11-04 16:35:35 -0800</bug_when>
    <thetext>(In reply to comment #1)
&gt; Created an attachment (id=42530) [details]
&gt; proposed patch
&gt; 
&gt; Along with the fix, I added a manual test.
&gt; 
&gt; I&apos;m not sure how to write a layout test that would not depend on the locale?
&gt; (the error messages provided by QXmlStream are localized)

Did you try to write a test?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>160662</commentid>
    <comment_count>3</comment_count>
      <attachid>42530</attachid>
    <who name="Holger Freyther">zecke</who>
    <bug_when>2009-11-04 16:48:10 -0800</bug_when>
    <thetext>Comment on attachment 42530
proposed patch


&gt; -    if (m_stream.error() == QXmlStreamReader::PrematureEndOfDocumentError
&gt; -        || (m_wroteText &amp;&amp; !m_sawFirstElement &amp;&amp; !m_sawXSLTransform))
&gt; +    if (m_stream.error() == QXmlStreamReader::PrematureEndOfDocumentError)

I&apos;m not convinced. Why do you remove m_sawXSLTransform? What is with the originally mentioned XML Http Request test, is it still passing, why it passing without the change?

So the question is the following:
  &quot;libxml2 has the semantic that when writing an empty string and finishing it, it will report an error. For QXmlStreamReader this is valid.&quot;

Is that still true, was that true, was the semantic of QXmlStreamReader changed?



&gt; diff --git a/WebCore/manual-tests/qt/parse-error-reported-twice.xml b/WebCore/manual-tests/qt/parse-error-reported-twice.xml
&gt; new file mode 100644
&gt; index 0000000..0b97956
&gt; --- /dev/null
&gt; +++ b/WebCore/manual-tests/qt/parse-error-reported-twice.xml
&gt; @@ -0,0 +1,5 @@
&gt; +&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;
&gt; +&lt;!-- Trigger a parse error in the doctype. --&gt;
&gt; +&lt;!DOCTYPE doc {}&gt;
&gt; +&lt;doc&gt;&lt;/doc&gt;
&gt; +&lt;!-- The tokenizer should report a parse failure _once_. --&gt;
&gt; -- 
&gt; 1.6.4.2
&gt; 

Make that a proper layout test, don&apos;t worry about the locale it is the same for everyone and we can change it via the LayoutTestController</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>160666</commentid>
    <comment_count>4</comment_count>
    <who name="Holger Freyther">zecke</who>
    <bug_when>2009-11-04 17:00:27 -0800</bug_when>
    <thetext>(In reply to comment #0)
&gt; Created an attachment (id=42528) [details]
&gt; test case
&gt; 
&gt; Attached is a test case that demonstrates the problem.
&gt; 
&gt; The root of the problem seems to be r27045:
&gt; http://trac.webkit.org/changeset/27045.
&gt; 
&gt; I&apos;m wondering why the logic in question was necessary? Is it expected that
&gt; XMLTokenizer should report a failure when parsing an empty document? Or was the
&gt; patch addressing some other issue?

Yes, libxml2 is having this behavior and we need it too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>160667</commentid>
    <comment_count>5</comment_count>
    <who name="Holger Freyther">zecke</who>
    <bug_when>2009-11-04 17:04:38 -0800</bug_when>
    <thetext>Looking at it a bit more you might want to use m_sawError in ::doEnd() to see if an error message has been sent during the parsing. And then it would be greatly appreciated if you could provide a layout test (your manual one with dumping as text would work) and finally see if we report an empty document as failure (or not).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>160991</commentid>
    <comment_count>6</comment_count>
      <attachid>42606</attachid>
    <who name="Jakub Wieczorek">jwieczorek</who>
    <bug_when>2009-11-05 15:29:33 -0800</bug_when>
    <thetext>Created attachment 42606
proposed patch

(In reply to comment #5)
&gt; Looking at it a bit more you might want to use m_sawError in ::doEnd() to see
&gt; if an error message has been sent during the parsing. And then it would be
&gt; greatly appreciated if you could provide a layout test (your manual one with
&gt; dumping as text would work) and finally see if we report an empty document as
&gt; failure (or not).

Thanks, indeed the previous patch was wrong.

Here is a revised one that makes use of m_sawError to check if an error has been encountered during the parsing to make sure the same failure would not be reported twice.

I glanced through the fast/parser tests and noticed that fast/parser/xml-declaration-missing-ending-mark.html demonstrates the same problem. Therefore, I believe no new test is needed for this patch? That test is currently on the Skipped list: it fails due to this bug but it also needs a Qt-specific result. I&apos;ll file another bug with the correct test result.

The expected behaviour as for empty documents is preserved with this patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>161059</commentid>
    <comment_count>7</comment_count>
    <who name="Holger Freyther">zecke</who>
    <bug_when>2009-11-05 20:54:59 -0800</bug_when>
    <thetext>Okay, merge the test result into this bug... or the fix into the other...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>161062</commentid>
    <comment_count>8</comment_count>
    <who name="Holger Freyther">zecke</who>
    <bug_when>2009-11-05 21:00:45 -0800</bug_when>
    <thetext>To be more precise. The reason I want to have one patch is to avoid the following:

If I land this patch first...
- Oh yeah this is fixing a bug from THAT test case but we are skipping it

If I land the result first:
- Oh yeah this is the result but we are failing this test...


What I want is:
- Oh we are curently failing THAT test, here is a fix and a Qt specific result due a different error message...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>161152</commentid>
    <comment_count>9</comment_count>
      <attachid>42654</attachid>
    <who name="Jakub Wieczorek">jwieczorek</who>
    <bug_when>2009-11-06 08:45:58 -0800</bug_when>
    <thetext>Created attachment 42654
proposed patch

The patch along with the test result.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>161154</commentid>
    <comment_count>10</comment_count>
      <attachid>42654</attachid>
    <who name="Holger Freyther">zecke</who>
    <bug_when>2009-11-06 09:09:38 -0800</bug_when>
    <thetext>Comment on attachment 42654
proposed patch

The ChangeLog could be more clear too...I will do it when landing... thanks for the fix!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>161425</commentid>
    <comment_count>11</comment_count>
      <attachid>42654</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-11-08 10:36:46 -0800</bug_when>
    <thetext>Comment on attachment 42654
proposed patch

Marking cq- since holger had further comments and wanted to land this manually.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>161511</commentid>
    <comment_count>12</comment_count>
    <who name="Holger Freyther">zecke</who>
    <bug_when>2009-11-08 23:35:11 -0800</bug_when>
    <thetext>Thanks landed it in r50640.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>42528</attachid>
            <date>2009-11-04 15:14:22 -0800</date>
            <delta_ts>2009-11-04 15:14:22 -0800</delta_ts>
            <desc>test case</desc>
            <filename>parse-error-reported-twice.xml</filename>
            <type>text/xml</type>
            <size>13</size>
            <attacher name="Jakub Wieczorek">jwieczorek</attacher>
            
              <data encoding="base64">IDwhLS0gZm9vIC0tPg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>42530</attachid>
            <date>2009-11-04 15:25:54 -0800</date>
            <delta_ts>2009-11-05 15:29:33 -0800</delta_ts>
            <desc>proposed patch</desc>
            <filename>0001-Qt-The-XML-tokenizer-reports-a-parse-error-twice-if-.patch</filename>
            <type>text/plain</type>
            <size>2914</size>
            <attacher name="Jakub Wieczorek">jwieczorek</attacher>
            
              <data encoding="base64">RnJvbSAzNTIzMmY1NmE0NDBiNjE4YzlkMWI3MzFmNzA5YzYxYzgxNzBkMDEyIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBKYWt1YiBXaWVjem9yZWsgPGZhdzIxN0BnbWFpbC5jb20+CkRh
dGU6IFRodSwgNSBOb3YgMjAwOSAwMDoyMjowOSArMDAwMApTdWJqZWN0OiBbUEFUQ0hdIFtRdF0g
VGhlIFhNTCB0b2tlbml6ZXIgcmVwb3J0cyBhIHBhcnNlIGVycm9yIHR3aWNlIGlmIGl0IG9jY3Vy
cyBiZWZvcmUgdGhlCiBkb2N1bWVudCBlbGVtZW50IGlzIGZvdW5kLgogaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTMxMTQ0CgpGaXggdGhlIGlzc3VlIGJ5IG1ha2luZyA6
OmRvRW5kKCkgcmVwb3J0IGVycm9ycyBvbmx5IGlmIHRoZXkgY29uY2VybgphIHByZW1hdHVyZSBl
bmQgb2YgZG9jdW1lbnQuIEluIG90aGVyIGNhc2VzLCB0aGUgZXJyb3Igd291bGQgaGF2ZSBhbHJl
YWR5IGJlZW4KaGFuZGxlZCBpbiA6OnBhcnNlKCksIHNvIGRvaW5nIGl0IG9uY2UgYWdhaW4gd291
bGQgbWFrZSB0aGUgdG9rZW5pemVyIGRpc3BsYXkKdGhlIHNhbWUgZXJyb3IgdHdpY2UuCgpBZGRl
ZCBhIG1hbnVhbCB0ZXN0LgotLS0KIFdlYkNvcmUvQ2hhbmdlTG9nICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHwgICAxOSArKysrKysrKysrKysrKysrKysrCiBXZWJDb3JlL2RvbS9Y
TUxUb2tlbml6ZXJRdC5jcHAgICAgICAgICAgICAgICAgICAgICB8ICAgIDMgKy0tCiAuLi4vbWFu
dWFsLXRlc3RzL3F0L3BhcnNlLWVycm9yLXJlcG9ydGVkLXR3aWNlLnhtbCB8ICAgIDUgKysrKysK
IDMgZmlsZXMgY2hhbmdlZCwgMjUgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKIGNyZWF0
ZSBtb2RlIDEwMDY0NCBXZWJDb3JlL21hbnVhbC10ZXN0cy9xdC9wYXJzZS1lcnJvci1yZXBvcnRl
ZC10d2ljZS54bWwKCmRpZmYgLS1naXQgYS9XZWJDb3JlL0NoYW5nZUxvZyBiL1dlYkNvcmUvQ2hh
bmdlTG9nCmluZGV4IDc5MjUzMTMuLmU5ZWY0YTggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvQ2hhbmdl
TG9nCisrKyBiL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjIgQEAKKzIwMDktMTEtMDQg
IEpha3ViIFdpZWN6b3JlayAgPGZhdzIxN0BnbWFpbC5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgW1F0XSBUaGUgWE1MIHRva2VuaXplciByZXBv
cnRzIGEgcGFyc2UgZXJyb3IgdHdpY2UgaWYgaXQgb2NjdXJzIGJlZm9yZSB0aGUKKyAgICAgICAg
ZG9jdW1lbnQgZWxlbWVudCBpcyBmb3VuZC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTMxMTQ0CisKKyAgICAgICAgRml4IHRoZSBpc3N1ZSBieSBtYWtp
bmcgOjpkb0VuZCgpIHJlcG9ydCBlcnJvcnMgb25seSBpZiB0aGV5IGNvbmNlcm4KKyAgICAgICAg
YSBwcmVtYXR1cmUgZW5kIG9mIGRvY3VtZW50LiBJbiBvdGhlciBjYXNlcywgdGhlIGVycm9yIHdv
dWxkIGhhdmUgYWxyZWFkeSBiZWVuCisgICAgICAgIGhhbmRsZWQgaW4gOjpwYXJzZSgpLCBzbyBk
b2luZyBpdCBvbmNlIGFnYWluIHdvdWxkIG1ha2UgdGhlIHRva2VuaXplciBkaXNwbGF5CisgICAg
ICAgIHRoZSBzYW1lIGVycm9yIHR3aWNlLgorCisgICAgICAgIEFkZGVkIGEgbWFudWFsIHRlc3Qu
CisKKyAgICAgICAgKiBkb20vWE1MVG9rZW5pemVyUXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
WE1MVG9rZW5pemVyOjpkb0VuZCk6CisgICAgICAgICogbWFudWFsLXRlc3RzL3F0L3BhcnNlLWVy
cm9yLXJlcG9ydGVkLXR3aWNlLnhtbDogQWRkZWQuCisKIDIwMDktMTEtMDIgIFBoaWxpcHBlIE5v
cm1hbmQgIDxwbm9ybWFuZEBpZ2FsaWEuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEphbiBB
bG9uem8uCmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9YTUxUb2tlbml6ZXJRdC5jcHAgYi9XZWJD
b3JlL2RvbS9YTUxUb2tlbml6ZXJRdC5jcHAKaW5kZXggYzZlNzNiYS4uNzU1N2M1OSAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9kb20vWE1MVG9rZW5pemVyUXQuY3BwCisrKyBiL1dlYkNvcmUvZG9tL1hN
TFRva2VuaXplclF0LmNwcApAQCAtMjU1LDggKzI1NSw3IEBAIHZvaWQgWE1MVG9rZW5pemVyOjpk
b0VuZCgpCiAgICAgfQogI2VuZGlmCiAgICAgCi0gICAgaWYgKG1fc3RyZWFtLmVycm9yKCkgPT0g
UVhtbFN0cmVhbVJlYWRlcjo6UHJlbWF0dXJlRW5kT2ZEb2N1bWVudEVycm9yCi0gICAgICAgIHx8
IChtX3dyb3RlVGV4dCAmJiAhbV9zYXdGaXJzdEVsZW1lbnQgJiYgIW1fc2F3WFNMVHJhbnNmb3Jt
KSkKKyAgICBpZiAobV9zdHJlYW0uZXJyb3IoKSA9PSBRWG1sU3RyZWFtUmVhZGVyOjpQcmVtYXR1
cmVFbmRPZkRvY3VtZW50RXJyb3IpCiAgICAgICAgIGhhbmRsZUVycm9yKGZhdGFsLCBxUHJpbnRh
YmxlKG1fc3RyZWFtLmVycm9yU3RyaW5nKCkpLCBsaW5lTnVtYmVyKCksIGNvbHVtbk51bWJlcigp
KTsKIH0KIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9tYW51YWwtdGVzdHMvcXQvcGFyc2UtZXJyb3It
cmVwb3J0ZWQtdHdpY2UueG1sIGIvV2ViQ29yZS9tYW51YWwtdGVzdHMvcXQvcGFyc2UtZXJyb3It
cmVwb3J0ZWQtdHdpY2UueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBi
OTc5NTYKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJDb3JlL21hbnVhbC10ZXN0cy9xdC9wYXJzZS1l
cnJvci1yZXBvcnRlZC10d2ljZS54bWwKQEAgLTAsMCArMSw1IEBACis8P3htbCB2ZXJzaW9uPSIx
LjAiIGVuY29kaW5nPSJ1dGYtOCI/PgorPCEtLSBUcmlnZ2VyIGEgcGFyc2UgZXJyb3IgaW4gdGhl
IGRvY3R5cGUuIC0tPgorPCFET0NUWVBFIGRvYyB7fT4KKzxkb2M+PC9kb2M+Cis8IS0tIFRoZSB0
b2tlbml6ZXIgc2hvdWxkIHJlcG9ydCBhIHBhcnNlIGZhaWx1cmUgX29uY2VfLiAtLT4KLS0gCjEu
Ni40LjIKCg==
</data>
<flag name="review"
          id="24074"
          type_id="1"
          status="-"
          setter="zecke"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>42606</attachid>
            <date>2009-11-05 15:29:33 -0800</date>
            <delta_ts>2009-11-06 08:45:58 -0800</delta_ts>
            <desc>proposed patch</desc>
            <filename>0001-Qt-The-XML-tokenizer-reports-a-parse-error-twice-if-.patch</filename>
            <type>text/plain</type>
            <size>2751</size>
            <attacher name="Jakub Wieczorek">jwieczorek</attacher>
            
              <data encoding="base64">RnJvbSA0NjdjNjBkMTRhM2ZlNDI3ZjgxNjE0MzAwNDgzNzZjYWUwYzZlM2ExIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBKYWt1YiBXaWVjem9yZWsgPGZhdzIxN0BnbWFpbC5jb20+CkRh
dGU6IFRodSwgNSBOb3YgMjAwOSAyMzo0ODozMCArMDAwMApTdWJqZWN0OiBbUEFUQ0hdIFtRdF0g
VGhlIFhNTCB0b2tlbml6ZXIgcmVwb3J0cyBhIHBhcnNlIGVycm9yIHR3aWNlIGlmIGl0IG9jY3Vy
cyBiZWZvcmUgdGhlCiBkb2N1bWVudCBlbGVtZW50IGlzIGZvdW5kLgogaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTMxMTQ0CgpYTUxUb2tlbml6ZXI6OmRvRW5kKCkgdXNl
cyBhbiBhZGRpdGlvbmFsIGxvZ2ljIHRvIHJlcG9ydCBhIHBhcnNlIGZhaWx1cmUgaW4KZG9jdW1l
bnRzIHRoYXQgZW5kIHByZW1hdHVyZWx5IGJ1dCBhcmUgbm90IGNvbnNpZGVyZWQgaW52YWxpZCBi
eSBRWG1sU3RyZWFtLgpUaGlzIGlzIHRvIHN0YXkgbW9yZSBjb21wYXRpYmxlIHdpdGggdGhlIGxp
YnhtbDIgaW1wbGVtZW50YXRpb24uCkhvd2V2ZXIsIHRoYXQgY29kZSBwYXRoIHdvdWxkIGJlIGFs
c28gaGl0IGluIHNpdHVhdGlvbnMgd2hlbiBpdCBzaG91bGQgbm90LAppLmUuIHRoZSBlcnJvciB3
b3VsZCBoYXZlIGFscmVhZHkgYmVlbiBjYXVnaHQgYW5kIGhhbmRsZWQuIEFzIGEgcmVzdWx0LCB0
aGUKc2FtZSBlcnJvciB3b3VsZCBiZSByZXBvcnRlZCB0d2ljZS4KCk5vIG5ldyB0ZXN0cywgYmVj
YXVzZSB0aGUgcHJvYmxlbSBpcyBhbHJlYWR5IGNvdmVyZWQgYnkKZmFzdC9wYXJzZXIveG1sLWRl
Y2xhcmF0aW9uLW1pc3NpbmctZW5kaW5nLW1hcmsuaHRtbC4KLS0tCiBXZWJDb3JlL0NoYW5nZUxv
ZyAgICAgICAgICAgICAgfCAgIDIxICsrKysrKysrKysrKysrKysrKysrKwogV2ViQ29yZS9kb20v
WE1MVG9rZW5pemVyUXQuY3BwIHwgICAgMiArLQogMiBmaWxlcyBjaGFuZ2VkLCAyMiBpbnNlcnRp
b25zKCspLCAxIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIv
V2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzkyNTMxMy4uNzNhNmZlNSAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9DaGFuZ2VMb2cKKysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNCBAQAor
MjAwOS0xMS0wNSAgSmFrdWIgV2llY3pvcmVrICA8ZmF3MjE3QGdtYWlsLmNvbT4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBbUXRdIFRoZSBYTUwgdG9r
ZW5pemVyIHJlcG9ydHMgYSBwYXJzZSBlcnJvciB0d2ljZSBpZiBpdCBvY2N1cnMgYmVmb3JlIHRo
ZQorICAgICAgICBkb2N1bWVudCBlbGVtZW50IGlzIGZvdW5kLgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzExNDQKKworICAgICAgICBYTUxUb2tlbml6
ZXI6OmRvRW5kKCkgdXNlcyBhbiBhZGRpdGlvbmFsIGxvZ2ljIHRvIHJlcG9ydCBhIHBhcnNlIGZh
aWx1cmUgaW4KKyAgICAgICAgZG9jdW1lbnRzIHRoYXQgZW5kIHByZW1hdHVyZWx5IGJ1dCBhcmUg
bm90IGNvbnNpZGVyZWQgaW52YWxpZCBieSBRWG1sU3RyZWFtLgorICAgICAgICBUaGlzIGlzIHRv
IHN0YXkgbW9yZSBjb21wYXRpYmxlIHdpdGggdGhlIGxpYnhtbDIgaW1wbGVtZW50YXRpb24uCisg
ICAgICAgIEhvd2V2ZXIsIHRoYXQgY29kZSBwYXRoIHdvdWxkIGJlIGFsc28gaGl0IGluIHNpdHVh
dGlvbnMgd2hlbiBpdCBzaG91bGQgbm90LAorICAgICAgICBpLmUuIHRoZSBlcnJvciB3b3VsZCBo
YXZlIGFscmVhZHkgYmVlbiBjYXVnaHQgYW5kIGhhbmRsZWQuIEFzIGEgcmVzdWx0LCB0aGUKKyAg
ICAgICAgc2FtZSBlcnJvciB3b3VsZCBiZSByZXBvcnRlZCB0d2ljZS4KKworICAgICAgICBObyBu
ZXcgdGVzdHMsIGJlY2F1c2UgdGhlIHByb2JsZW0gaXMgYWxyZWFkeSBjb3ZlcmVkIGJ5CisgICAg
ICAgIGZhc3QvcGFyc2VyL3htbC1kZWNsYXJhdGlvbi1taXNzaW5nLWVuZGluZy1tYXJrLmh0bWwu
CisKKyAgICAgICAgKiBkb20vWE1MVG9rZW5pemVyUXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
WE1MVG9rZW5pemVyOjpkb0VuZCk6CisKIDIwMDktMTEtMDIgIFBoaWxpcHBlIE5vcm1hbmQgIDxw
bm9ybWFuZEBpZ2FsaWEuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEphbiBBbG9uem8uCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9YTUxUb2tlbml6ZXJRdC5jcHAgYi9XZWJDb3JlL2RvbS9Y
TUxUb2tlbml6ZXJRdC5jcHAKaW5kZXggYzZlNzNiYS4uNDk4ZGE4OSAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9kb20vWE1MVG9rZW5pemVyUXQuY3BwCisrKyBiL1dlYkNvcmUvZG9tL1hNTFRva2VuaXpl
clF0LmNwcApAQCAtMjU2LDcgKzI1Niw3IEBAIHZvaWQgWE1MVG9rZW5pemVyOjpkb0VuZCgpCiAj
ZW5kaWYKICAgICAKICAgICBpZiAobV9zdHJlYW0uZXJyb3IoKSA9PSBRWG1sU3RyZWFtUmVhZGVy
OjpQcmVtYXR1cmVFbmRPZkRvY3VtZW50RXJyb3IKLSAgICAgICAgfHwgKG1fd3JvdGVUZXh0ICYm
ICFtX3Nhd0ZpcnN0RWxlbWVudCAmJiAhbV9zYXdYU0xUcmFuc2Zvcm0pKQorICAgICAgICB8fCAo
bV93cm90ZVRleHQgJiYgIW1fc2F3Rmlyc3RFbGVtZW50ICYmICFtX3Nhd1hTTFRyYW5zZm9ybSAm
JiAhbV9zYXdFcnJvcikpCiAgICAgICAgIGhhbmRsZUVycm9yKGZhdGFsLCBxUHJpbnRhYmxlKG1f
c3RyZWFtLmVycm9yU3RyaW5nKCkpLCBsaW5lTnVtYmVyKCksIGNvbHVtbk51bWJlcigpKTsKIH0K
IAotLSAKMS42LjQuMgoK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>42654</attachid>
            <date>2009-11-06 08:45:58 -0800</date>
            <delta_ts>2009-11-08 10:36:46 -0800</delta_ts>
            <desc>proposed patch</desc>
            <filename>0001-Qt-The-XML-tokenizer-reports-a-parse-error-twice-if-.patch</filename>
            <type>text/plain</type>
            <size>5578</size>
            <attacher name="Jakub Wieczorek">jwieczorek</attacher>
            
              <data encoding="base64">RnJvbSBmNDAyOGExYzk0ZWYyNjcxZjA5MDM5NzFlM2Q0ZTUwMzEwNTYwYTUxIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBKYWt1YiBXaWVjem9yZWsgPGZhdzIxN0BnbWFpbC5jb20+CkRh
dGU6IFRodSwgNSBOb3YgMjAwOSAyMzo0ODozMCArMDAwMApTdWJqZWN0OiBbUEFUQ0hdIFtRdF0g
VGhlIFhNTCB0b2tlbml6ZXIgcmVwb3J0cyBhIHBhcnNlIGVycm9yIHR3aWNlIGlmIGl0IG9jY3Vy
cyBiZWZvcmUgdGhlCiBkb2N1bWVudCBlbGVtZW50IGlzIGZvdW5kLgogaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTMxMTQ0CgpYTUxUb2tlbml6ZXI6OmRvRW5kKCkgdXNl
cyBhbiBhZGRpdGlvbmFsIGxvZ2ljIHRvIHJlcG9ydCBhIHBhcnNlIGZhaWx1cmUgaW4KZG9jdW1l
bnRzIHRoYXQgZW5kIHByZW1hdHVyZWx5IGJ1dCBhcmUgbm90IGNvbnNpZGVyZWQgaW52YWxpZCBi
eSBRWG1sU3RyZWFtLgpUaGlzIGlzIHRvIHN0YXkgbW9yZSBjb21wYXRpYmxlIHdpdGggdGhlIGxp
YnhtbDIgaW1wbGVtZW50YXRpb24uCkhvd2V2ZXIsIHRoYXQgY29kZSBwYXRoIHdvdWxkIGJlIGFs
c28gaGl0IGluIHNpdHVhdGlvbnMgd2hlbiBpdCBzaG91bGQgbm90LAppLmUuIHRoZSBlcnJvciB3
b3VsZCBoYXZlIGFscmVhZHkgYmVlbiBjYXVnaHQgYW5kIGhhbmRsZWQuIEFzIGEgcmVzdWx0LCB0
aGUKc2FtZSBlcnJvciB3b3VsZCBiZSByZXBvcnRlZCB0d2ljZS4KCk5vIG5ldyB0ZXN0cywgYmVj
YXVzZSB0aGUgcHJvYmxlbSBpcyBhbHJlYWR5IGNvdmVyZWQgYnkKZmFzdC9wYXJzZXIveG1sLWRl
Y2xhcmF0aW9uLW1pc3NpbmctZW5kaW5nLW1hcmsuaHRtbC4KCkFkZCB0aGUgUXQtc3BlY2lmaWMg
cmVzdWx0IGZvciB0aGF0IHRlc3QgYW5kIHVuc2tpcCBpdC4KLS0tCiBMYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMTYgKysrKysrKysrKysrKysr
CiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9Ta2lwcGVkICAgICAgICAgICAgICAgICAgICB8ICAg
IDEgLQogLi4ubWwtZGVjbGFyYXRpb24tbWlzc2luZy1lbmRpbmctbWFyay1leHBlY3RlZC50eHQg
fCAgIDE2ICsrKysrKysrKysrKysrKwogV2ViQ29yZS9DaGFuZ2VMb2cgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgfCAgIDIxICsrKysrKysrKysrKysrKysrKysrCiBXZWJDb3JlL2Rv
bS9YTUxUb2tlbml6ZXJRdC5jcHAgICAgICAgICAgICAgICAgICAgICB8ICAgIDIgKy0KIDUgZmls
ZXMgY2hhbmdlZCwgNTQgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2Rl
IDEwMDY0NCBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9mYXN0L3BhcnNlci94bWwtZGVjbGFyYXRp
b24tbWlzc2luZy1lbmRpbmctbWFyay1leHBlY3RlZC50eHQKCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggYTdkOWMwMS4uZmNi
MjA4MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDA5LTExLTA1ICBKYWt1YiBXaWVjem9yZWsg
IDxmYXcyMTdAZ21haWwuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIFtRdF0gQWRkIHRoZSBleHBlY3RlZCByZXN1bHQgZm9yIGZhc3QvcGFyc2Vy
L3htbC1kZWNsYXJhdGlvbi1taXNzaW5nLWVuZGluZy1tYXJrLmh0bWwKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTMxMTkyCisKKyAgICAgICAgUVhtbFN0
cmVhbVJlYWRlciwgd2hpY2ggaXMgdXNlZCBpbiB0aGUgWE1MIHRva2VuaXplciwgcHJvZHVjZXMg
ZGlmZmVyZW50IGVycm9yCisgICAgICAgIG1lc3NhZ2VzIGNvbXBhcmluZyB0byB0aGUgbGlieG1s
MiBiYXNlZCBpbXBsZW1lbnRhdGlvbi4gVGVzdCByZXN1bHRzIHNob3VsZCB0YWtlCisgICAgICAg
IHRoYXQgaW50byBhY2NvdW50LgorCisgICAgICAgIFVuc2tpcCB0aGUgdGVzdCBhcyBpdCBpcyBw
YXNzaW5nIG5vdy4KKworICAgICAgICAqIHBsYXRmb3JtL3F0L1NraXBwZWQ6CisgICAgICAgICog
cGxhdGZvcm0vcXQvZmFzdC9wYXJzZXIveG1sLWRlY2xhcmF0aW9uLW1pc3NpbmctZW5kaW5nLW1h
cmstZXhwZWN0ZWQudHh0OiBBZGRlZC4KKwogMjAwOS0xMS0wMiAgUGhpbGlwcGUgTm9ybWFuZCAg
PHBub3JtYW5kQGlnYWxpYS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgSmFuIEFsb256by4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3F0L1NraXBwZWQgYi9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9xdC9Ta2lwcGVkCmluZGV4IDVkYzAwMWYuLjc1MDYyYzMgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL3BsYXRmb3JtL3F0L1NraXBwZWQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vcXQvU2tpcHBlZApAQCAtNDgyNyw3ICs0ODI3LDYgQEAgZmFzdC9sb2FkZXIvbnVsbC1yZXF1
ZXN0LWFmdGVyLXdpbGxTZW5kUmVxdWVzdC5odG1sCiBmYXN0L2xvYWRlci9wb2xpY3ktZGVsZWdh
dGUtYWN0aW9uLWhpdC10ZXN0LXpvb21lZC5odG1sCiBmYXN0L2xvYWRlci9yZWxvYWQtcG9saWN5
LWRlbGVnYXRlLmh0bWwKIGZhc3QvbG9hZGluZy9zdWJmcmFtZS1yZW1vdmVzLWl0c2VsZi5odG1s
Ci1mYXN0L3BhcnNlci94bWwtZGVjbGFyYXRpb24tbWlzc2luZy1lbmRpbmctbWFyay5odG1sCiBm
YXN0L3JlcGxhY2VkL3RhYmxlLXBlcmNlbnQtaGVpZ2h0LXRleHQtY29udHJvbHMuaHRtbAogZmFz
dC94bWxodHRwcmVxdWVzdC94bWxodHRwcmVxdWVzdC1nYy5odG1sCiBwbGF0Zm9ybS9xdC9mYXN0
L2V2ZW50cy9ldmVudC1zZW5kZXIta2V5ZG93bi1mcmFtZS5odG1sCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9xdC9mYXN0L3BhcnNlci94bWwtZGVjbGFyYXRpb24tbWlzc2luZy1l
bmRpbmctbWFyay1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9mYXN0L3Bh
cnNlci94bWwtZGVjbGFyYXRpb24tbWlzc2luZy1lbmRpbmctbWFyay1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDg2MWY1ZQotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3F0L2Zhc3QvcGFyc2VyL3htbC1kZWNsYXJhdGlvbi1t
aXNzaW5nLWVuZGluZy1tYXJrLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE2IEBACitDUkFTSDog
T21pdHRpbmcgdGVybWluYWwgcXVlc3Rpb24gbWFyayBpbiA8P3htbC4uLj8+IGRlY2xhcmF0aW9u
IChhYm92ZSkgY2F1c2VzIGFjY2VzcyB2aW9sYXRpb24uCisKK1RoaXMgdGVzdHMgdGhlIGJvdGgg
dGhlIEhUTUwgcGFyc2VyICguaHRtbCBleHRlbnNpb24pLCB3aGljaCBpcyB3aGVyZSB0aGUgY3Jh
c2ggd2FzIG9ic2VydmVkLCBhbmQgdGhlIFhNTCBwYXJzZXIgKGluIGFuIGlmcmFtZSkuCitTZWUg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3ODE0CisKK0lmIHlvdSBk
b24ndCBjcmFzaCwgeW91IHBhc3MuIEEgcGFyc2luZyBlcnJvciBpbiB0aGUgInhtbC1wYXJzZXIi
IHN1YmZyYW1lIGlzIGV4cGVjdGVkLgorCisKKworLS0tLS0tLS0KK0ZyYW1lOiAneG1sLXBhcnNl
cicKKy0tLS0tLS0tCitUaGlzIHBhZ2UgY29udGFpbnMgdGhlIGZvbGxvd2luZyBlcnJvcnM6CisK
K2Vycm9yIG9uIGxpbmUgMSBhdCBjb2x1bW4gMjA6IEV4cGVjdGVkICc/JywgYnV0IGdvdCAnPicu
CitCZWxvdyBpcyBhIHJlbmRlcmluZyBvZiB0aGUgcGFnZSB1cCB0byB0aGUgZmlyc3QgZXJyb3Iu
CmRpZmYgLS1naXQgYS9XZWJDb3JlL0NoYW5nZUxvZyBiL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4
IDc5MjUzMTMuLjczYTZmZTUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1dl
YkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjQgQEAKKzIwMDktMTEtMDUgIEpha3ViIFdpZWN6
b3JlayAgPGZhdzIxN0BnbWFpbC5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgW1F0XSBUaGUgWE1MIHRva2VuaXplciByZXBvcnRzIGEgcGFyc2Ug
ZXJyb3IgdHdpY2UgaWYgaXQgb2NjdXJzIGJlZm9yZSB0aGUKKyAgICAgICAgZG9jdW1lbnQgZWxl
bWVudCBpcyBmb3VuZC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTMxMTQ0CisKKyAgICAgICAgWE1MVG9rZW5pemVyOjpkb0VuZCgpIHVzZXMgYW4gYWRk
aXRpb25hbCBsb2dpYyB0byByZXBvcnQgYSBwYXJzZSBmYWlsdXJlIGluCisgICAgICAgIGRvY3Vt
ZW50cyB0aGF0IGVuZCBwcmVtYXR1cmVseSBidXQgYXJlIG5vdCBjb25zaWRlcmVkIGludmFsaWQg
YnkgUVhtbFN0cmVhbS4KKyAgICAgICAgVGhpcyBpcyB0byBzdGF5IG1vcmUgY29tcGF0aWJsZSB3
aXRoIHRoZSBsaWJ4bWwyIGltcGxlbWVudGF0aW9uLgorICAgICAgICBIb3dldmVyLCB0aGF0IGNv
ZGUgcGF0aCB3b3VsZCBiZSBhbHNvIGhpdCBpbiBzaXR1YXRpb25zIHdoZW4gaXQgc2hvdWxkIG5v
dCwKKyAgICAgICAgaS5lLiB0aGUgZXJyb3Igd291bGQgaGF2ZSBhbHJlYWR5IGJlZW4gY2F1Z2h0
IGFuZCBoYW5kbGVkLiBBcyBhIHJlc3VsdCwgdGhlCisgICAgICAgIHNhbWUgZXJyb3Igd291bGQg
YmUgcmVwb3J0ZWQgdHdpY2UuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLCBiZWNhdXNlIHRoZSBw
cm9ibGVtIGlzIGFscmVhZHkgY292ZXJlZCBieQorICAgICAgICBmYXN0L3BhcnNlci94bWwtZGVj
bGFyYXRpb24tbWlzc2luZy1lbmRpbmctbWFyay5odG1sLgorCisgICAgICAgICogZG9tL1hNTFRv
a2VuaXplclF0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlhNTFRva2VuaXplcjo6ZG9FbmQpOgor
CiAyMDA5LTExLTAyICBQaGlsaXBwZSBOb3JtYW5kICA8cG5vcm1hbmRAaWdhbGlhLmNvbT4KIAog
ICAgICAgICBSZXZpZXdlZCBieSBKYW4gQWxvbnpvLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20v
WE1MVG9rZW5pemVyUXQuY3BwIGIvV2ViQ29yZS9kb20vWE1MVG9rZW5pemVyUXQuY3BwCmluZGV4
IGM2ZTczYmEuLjQ5OGRhODkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL1hNTFRva2VuaXplclF0
LmNwcAorKysgYi9XZWJDb3JlL2RvbS9YTUxUb2tlbml6ZXJRdC5jcHAKQEAgLTI1Niw3ICsyNTYs
NyBAQCB2b2lkIFhNTFRva2VuaXplcjo6ZG9FbmQoKQogI2VuZGlmCiAgICAgCiAgICAgaWYgKG1f
c3RyZWFtLmVycm9yKCkgPT0gUVhtbFN0cmVhbVJlYWRlcjo6UHJlbWF0dXJlRW5kT2ZEb2N1bWVu
dEVycm9yCi0gICAgICAgIHx8IChtX3dyb3RlVGV4dCAmJiAhbV9zYXdGaXJzdEVsZW1lbnQgJiYg
IW1fc2F3WFNMVHJhbnNmb3JtKSkKKyAgICAgICAgfHwgKG1fd3JvdGVUZXh0ICYmICFtX3Nhd0Zp
cnN0RWxlbWVudCAmJiAhbV9zYXdYU0xUcmFuc2Zvcm0gJiYgIW1fc2F3RXJyb3IpKQogICAgICAg
ICBoYW5kbGVFcnJvcihmYXRhbCwgcVByaW50YWJsZShtX3N0cmVhbS5lcnJvclN0cmluZygpKSwg
bGluZU51bWJlcigpLCBjb2x1bW5OdW1iZXIoKSk7CiB9CiAKLS0gCjEuNi40LjIKCg==
</data>
<flag name="review"
          id="24216"
          type_id="1"
          status="+"
          setter="zecke"
    />
    <flag name="commit-queue"
          id="24275"
          type_id="3"
          status="-"
          setter="eric"
    />
          </attachment>
      

    </bug>

</bugzilla>